]> diplodocus.org Git - flac-archive/blobdiff - flac2mp3
Add DISCNUMBER support.
[flac-archive] / flac2mp3
index c0cce30..ab83c9f 100755 (executable)
--- a/flac2mp3
+++ b/flac2mp3
@@ -104,6 +104,7 @@ sub get_tags {
     my $artist;
     my $album;
     my $date;
+    my $discnum;
     my $track;
 
     open(TAGS, '-|', 'metaflac', '--export-vc-to=-', $fn)
@@ -119,6 +120,8 @@ sub get_tags {
             $album = $value;
         } elsif (/^DATE=/i) {
             $date = $value;
+        } elsif (/^DISCNUMBER=/i) {
+            $discnum = int($value);
         } elsif (/^ARTIST\[/i) {
             push(@$artists, $value);
         } elsif (/^TRACKNUMBER=/i) {
@@ -132,7 +135,7 @@ sub get_tags {
     }
     close(TAGS) or die("close(metaflac --export-vc-to=- $fn): $?");
 
-    return ($artist, $album, $date, $track);
+    return ($artist, $album, $date, $discnum, $track);
 }
 
 sub arg {
@@ -210,8 +213,11 @@ MAIN: {
     for my $fn (@ARGV) {
         my @args = get_decode_args($fn);
         my (@artists, @titles);
-        my ($artist, $album, $date, $track) = get_tags($fn, \@artists,
-                                                       \@titles);
+        my ($artist, $album, $date, $discnum, $track) = get_tags($fn, \@artists,
+                                                                 \@titles);
+
+        # lame doesn't seem to support disc number.
+        defined($discnum) and $album .= " (disc $discnum)";
 
         # Stupid hack: only a single-track file should have the
         # TRACKNUMBER tag, so use it if set for the first pass through