fixed delete_all
authorIan Beckwith <ianb@erislabs.net>
Sun, 31 Oct 2010 02:49:32 +0000 (02:49 +0000)
committerIan Beckwith <ianb@erislabs.net>
Sun, 31 Oct 2010 02:49:32 +0000 (02:49 +0000)
bin/id3fs-tag
lib/ID3FS/AudioFile/Mp3.pm

index 037dc78..42650c3 100755 (executable)
@@ -89,18 +89,21 @@ sub do_deletes
     $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);
 
-    my $donesomething=($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);
 }
 
index d8f1355..d51e0b0 100644 (file)
@@ -184,7 +184,7 @@ sub delete
 {
     my($self, $thing)=@_;
 
-    if(exists($self->{mp3}->{ID3v1}))
+    if(exists($self->{mp3}->{ID3v1}) && $thing ne "genre")
     {
        my $action=$thing;
        $action="genre" if($action eq "v1genre");
@@ -200,6 +200,7 @@ sub delete
 
     if(exists($self->{mp3}->{ID3v2}))
     {
+       print "2: remove: $thing\n";
        if($thing eq "artist")
        {
            $self->{mp3}->{ID3v2}->remove_frame("TPE1");