X-Git-Url: http://erislabs.net/gitweb/?p=id3fs.git;a=blobdiff_plain;f=lib%2FID3FS%2FAudioFile%2FMp3.pm;h=7cd15b90998a9c5e5a00554d814875ae82284fd2;hp=2b90b5dad1a2e84d94e89e98c46333aa25d1e83b;hb=1e85c21d386c3b54f69ef88547174b28fca71740;hpb=08717313d5feba3f77f848b6409ec46263ed548e diff --git a/lib/ID3FS/AudioFile/Mp3.pm b/lib/ID3FS/AudioFile/Mp3.pm index 2b90b5d..7cd15b9 100644 --- a/lib/ID3FS/AudioFile/Mp3.pm +++ b/lib/ID3FS/AudioFile/Mp3.pm @@ -204,14 +204,24 @@ sub delete_genre { shift->delete("genre"); } sub delete_tags { - my($self, @tags)=@_; + my($self, $tags, $delvals)=@_; my $current=$self->tags(); my @current=split(/\s*,\s*/, $current); + my @tags=split(/\s*,\s*/, $tags); my %hash=(); @hash{@current}=(); for my $tag (@tags) { delete($hash{$tag}) if(exists($hash{$tag})); + if($delvals) + { + my $base=($tag =~ /(.*?)\//)[0]; + $base=$tag unless($base); + for my $curtag (keys %hash) + { + delete($hash{$curtag}) if($curtag =~ /^$base\//); + } + } } my @tagsout=sort keys(%hash); my $genre=join(', ', @tagsout);