X-Git-Url: http://erislabs.net/gitweb/?p=id3fs.git;a=blobdiff_plain;f=bin%2Fid3fs-tag;h=28b4b6a21d1db7d1129de9025ad2bc131545b2df;hp=9921b44687a31a4b2ca8aefd72fdfe0c04894b94;hb=262b921378f9edb0a4f0931047fd35232dce78fa;hpb=d1601af7aa0993a69785157d18d8e3a029b1161a diff --git a/bin/id3fs-tag b/bin/id3fs-tag index 9921b44..28b4b6a 100755 --- a/bin/id3fs-tag +++ b/bin/id3fs-tag @@ -31,7 +31,7 @@ my ($artist, $album, $track, $tracknum, $year, $v1genre, $comment, $delete_genre, $genre, $add_tags, $delete_tags, $overwrite_tagvals, $delete_tagvals); -Configure(qw(no_ignore_case)); +Configure(qw(bundling no_ignore_case)); my $optret=GetOptions( "verbose|v" => \$verbose, "help|h" => \$help, @@ -68,6 +68,7 @@ while(my $filename=shift @ARGV) next; } my $file=ID3FS::AudioFile->new($filename); + next unless($file); my $changes=0; $changes = do_deletes($file); $changes += do_adds($file); @@ -97,15 +98,15 @@ sub do_deletes $file->delete_year() if($delete_year); $file->delete_v1genre() if($delete_v1genre); $file->delete_comment() if($delete_comment); - $file->delete_genre() if($delete_genre); + $file->delete_genre() if($delete_genre || $genre); $file->delete_tags($delete_tags, 0) if($delete_tags); $file->delete_tags($delete_tagvals, 1) if($delete_tagvals); $file->delete_tags($overwrite_tagvals, 1) if($overwrite_tagvals); - my $donesomething=($delete_artist || $delete_album || $delete_track || - $delete_tracknum || $delete_year || $delete_v1genre || - $delete_comment || $delete_genre || $delete_tags || - $delete_tagvals || $overwrite_tagvals); + my $donesomething=($delete_artist || $delete_album || $delete_track || + $delete_tracknum || $delete_year || $delete_v1genre || + $delete_comment || $delete_genre || $delete_tags || + $delete_tagvals || defined($genre) || $overwrite_tagvals); return($donesomething ? 1 : 0); } @@ -119,8 +120,8 @@ sub do_adds $file->year($year) if($year); $file->v1genre($v1genre) if($v1genre); $file->comment($comment) if($comment); - $file->genre($genre) if($genre); $file->add_tags($add_tags) if($add_tags); + $file->add_tags($genre) if($genre); $file->add_tags($overwrite_tagvals) if($overwrite_tagvals); my $donesomething=(defined($artist) || defined($album) || @@ -170,7 +171,8 @@ sub do_display if(@tags) { if($verbose) { print " tags: "; } - else { print $file->path() . ":tags:"; } +# else { print $file->path() . ":tags:"; } + else { print "tags:"; } print join(", ", @tags), "\n"; } }