id3fs-index: update usage and man page
[id3fs.git] / lib / ID3FS / AudioFile / Flac.pm
index c2e821f..72b2dbd 100644 (file)
@@ -1,3 +1,19 @@
+# id3fs - a FUSE-based filesystem for browsing audio metadata
+# Copyright (C) 2010  Ian Beckwith <ianb@erislabs.net>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 package ID3FS::AudioFile::Flac;
 
 use strict;
@@ -19,7 +35,7 @@ sub new
 
 sub get
 {
-    my ($self, $tag, $complain)=@_;
+    my ($self, $tag)=@_;
     for my $key (keys %{$self->{tags}})
     {
        if($key =~ /$tag/i &&
@@ -27,33 +43,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,25 +71,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;
-