Mp3: actually parse genre tag
authorIan Beckwith <ianb@erislabs.net>
Mon, 20 Sep 2010 00:03:24 +0000 (01:03 +0100)
committerIan Beckwith <ianb@erislabs.net>
Mon, 20 Sep 2010 00:03:24 +0000 (01:03 +0100)
lib/ID3FS/File/Mp3.pm

index 8f2dd11..f856a5d 100644 (file)
@@ -63,6 +63,21 @@ sub v1genre
 sub tags
 {
     my $self=shift;
+    return({}) unless(exists($self->{mp3}->{ID3v2}) && defined($self->{mp3}->{ID3v2}));
+    my $genre=$self->{mp3}->{ID3v2}->genre();
+    return({}) unless(defined($genre) && length($genre));
+    my @tags=split(/\s*,\s*/, $genre);
+    for my $tag (@tags)
+    {
+       if($tag=~/(.*)\/(.*)/)
+       {
+           $self->{tags}->{$1}=$2;
+       }
+       else
+       {
+           $self->{tags}->{$tag}=undef;
+       }
+    }
     return $self->{tags};
 }