add audiotype/UNKNOWN, just in case
[id3fs.git] / lib / ID3FS / DB.pm
index 79cd194..794b77c 100644 (file)
@@ -233,13 +233,17 @@ sub add
     my $audiotype=$file->audiotype();
     my @tags=$file->tags();
     my $haspic=$file->haspic();
+    my $channels=$file->channels();
+    my $bitrate=$file->bitrate();
+    my $samplerate=$file->samplerate();
 
     $artist=undef unless($self->ok($artist));
     print "$self->{me}: $path: no artist tag defined\n" unless(defined($artist));
     my $artist_id=$self->add_to_table("artists",  $artist);
     my $path_id=$self->add_to_table("paths", $pathpart);
     $album=undef unless($self->ok($album));
-    if($self->{verbose} && !defined($album))
+#    if($self->{verbose} && !defined($album)) FIXME
+    if(!defined($album))
     {
        print "$self->{me}: $path: no album tag defined\n";
     }
@@ -261,7 +265,7 @@ sub add
        $self->add_tag($file_id, "UNTAGGED");
     }
 
-    $year="UNKNOWN" unless($self->ok($year));
+    $year="UNKNOWN" if(!$self->ok($year) || $year =~ /^0+$/);
     $self->add_tag($file_id, "year", $year);
     if($year=~/^(\d\d\d)\d$/)
     {
@@ -286,6 +290,32 @@ sub add
     {
        $self->add_tag($file_id, "audiotype", $audiotype);
     }
+    else
+    {
+       # should never happen
+       $self->add_tag($file_id, "audiotype", "UNKNOWN");
+    }
+
+    if($self->ok($channels))
+    {
+       if    ($channels eq "2") { $channels="stereo";  }
+       elsif ($channels eq "1") { $channels="mono";    }
+       elsif ($channels eq "0") { $channels="UNKNOWN"; }
+       $self->add_tag($file_id, "channels", $channels);
+    }
+
+    if($self->ok($bitrate))
+    {
+       $bitrate="UNKNOWN" if($bitrate=~/^0+$/);
+       $self->add_tag($file_id, "bitrate", $bitrate);
+    }
+
+    if($self->ok($samplerate))
+    {
+       $samplerate="UNKNOWN" if($samplerate=~/^0+$/);
+       $self->add_tag($file_id, "samplerate", $samplerate);
+    }
+
 }
 
 sub add_tag