X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FID3FS%2FAudioFile%2FFlac.pm;h=c2b02fcf475122d08e0d1bc2d3eabf1e7046a948;hb=718f65e679aed209f98961cbdf655bfed44ca1a4;hp=ebe4ea8c31b87ee448048ddbe95eea7a411b783b;hpb=c59f9ef4a820793a58120c25d0c1a773afed79f8;p=id3fs.git diff --git a/lib/ID3FS/AudioFile/Flac.pm b/lib/ID3FS/AudioFile/Flac.pm index ebe4ea8..c2b02fc 100644 --- a/lib/ID3FS/AudioFile/Flac.pm +++ b/lib/ID3FS/AudioFile/Flac.pm @@ -1,4 +1,4 @@ -package ID3FS::File::Flac; +package ID3FS::AudioFile::Flac; use strict; use warnings; @@ -19,7 +19,7 @@ sub new sub get { - my ($self, $tag, $complain)=@_; + my ($self, $tag)=@_; for my $key (keys %{$self->{tags}}) { if($key =~ /$tag/i && @@ -27,33 +27,18 @@ sub get length($self->{tags}->{$key}) && $self->{tags}->{$key} =~ /\S+/) { - my $val=$self->{tags}->{$key}; - $val =~ s/\//-/g; # drop slashes - return $val; + return $self->{tags}->{$key}; } } - warn("$self->{path}: no $tag defined in FLAC comments\n") if($complain); return undef; } -sub artist { shift->get("ARTIST", 1); } -sub album { shift->get("ALBUM", 1); } -sub audiotype { return "flac"; } -sub haspic { return undef; } # FIXME -sub v1genre { return undef; } # ID3 only - -# We don't care if year is not set -sub year -{ - my ($self)=@_; - my $date=shift->get("DATE", 0); - return undef unless($date); - if($date =~/(\d\d\d\d)/) - { - $date=$1; - } - return $date; -} +sub artist { shift->get("ARTIST"); } +sub album { shift->get("ALBUM"); } +sub audiotype { return "flac"; } +sub haspic { return undef; } # FIXME +sub v1genre { return undef; } # ID3 only +sub year { shift->get("DATE"); } sub tags { @@ -70,24 +55,7 @@ sub tags push(@tags, $self->{tags}->{$key}); } } - # combine then split on commas - # so multiple comma-delimited tags will work - @tags=split(/\s*,\s*/, join(', ', @tags)); - for my $tag (@tags) - { - if($tag=~/([^\/]+)\/(.*)/) - { - my $tagname=$1; - my $tagval=$2; - $tagval=~s/\//-/g; - $self->{tags}->{$tagname}=$tagval; - } - else - { - $self->{tags}->{$tag}=undef; - } - } - return $self->{tags}; + return(@tags); } 1;