$file->delete_year() if($delete_year);
$file->delete_v1genre() if($delete_v1genre);
$file->delete_comment() if($delete_comment);
- $file->delete_all() if($delete_all);
$file->delete_genre() if($delete_genre);
$file->delete_tags($delete_tags) if($delete_tags);
if(@replace_tags && $replace_tags[0])
{
$file->delete_tags($replace_tags[0]);
}
+ $file->delete_all() if($delete_all);
+
+ # we don't want to save the tag if we've deleted it
+ return 0 if($delete_all);
- return($delete_artist || $delete_album || $delete_track ||
- $delete_tracknum || $delete_year || $delete_v1genre ||
- $delete_comment || $delete_all || $delete_genre ||
- $delete_tags || (@replace_tags && $replace_tags[0]));
+ my $donesomething=($delete_artist || $delete_album || $delete_track ||
+ $delete_tracknum || $delete_year || $delete_v1genre ||
+ $delete_comment || $delete_genre || $delete_tags ||
+ (@replace_tags && $replace_tags[0]));
+ return($donesomething ? 1 : 0);
}
sub do_adds
$file->add_tags($replace_tags[1]);
}
- return($artist || $album || $track || $tracknum || $year || $v1genre ||
- $comment || $genre || $add_tags || (@replace_tags && $replace_tags[0]));
+ my $donesomething=(defined($artist) || defined($album) ||
+ defined($track) || defined($tracknum) ||
+ defined($year) || defined($v1genre) ||
+ defined($comment) || defined($genre) ||
+ defined($add_tags) ||
+ (@replace_tags && defined($replace_tags[1])));
+ return( $donesomething ? 1 : 0 );
}
sub do_write
{
my($file)=@_;
- $file->write();
+ $file->write();
}
sub do_display
{
my($file)=@_;
+ my $artist=$file->artist();
+ my $album=$file->album();
+ my $track=$file->track();
+ my $tracknum=$file->tracknum();
+ my $year=$file->year();
+ my $comment=$file->comment();
+ my $v1genre=$file->v1genre();
+ my @tags=$file->tags();
+ @tags = map { (ref($_) eq "ARRAY") ? join('/', grep {defined;} @{$_}) : $_; } @tags;
+ if($verbose)
+ {
+ print $file->path(), ":\n";
+ print " tracknum: $tracknum\n" if($tracknum);
+ print " artist: $artist\n" if($artist);
+ print " album: $album\n" if($album);
+ print " song: $track\n" if($track);
+ print " year: $year\n" if($year);
+ print " v1genre: $v1genre\n" if($v1genre);
+ print " comment: $comment\n" if($comment);
+ }
+ else
+ {
+ my @fields=($file->path(), $tracknum, $artist, $album, $track,
+ $year, $v1genre, $comment);
+ @fields=map { defined($_) ? $_ : ""; } @fields;
+ print join(':', @fields), "\n";
+ }
+ if(@tags)
+ {
+ if($verbose) { print " tags: "; }
+ else { print $file->path() . ":tags:"; }
+ print join(", ", @tags), "\n";
+ }
}
sub usage