]> diplodocus.org Git - flac-archive/blobdiff - fa-encode
fix some failing tests
[flac-archive] / fa-encode
index 10210b90759a5bcd8818bd658a3409cd1b876490..9388f07e2f91c4a3ed68835a2fe1cb22953e7dc5 100755 (executable)
--- a/fa-encode
+++ b/fa-encode
@@ -31,19 +31,25 @@ epg::flac::archive::tags->import(
         read_tags
         mangle_for_file_name
         quote
+        track_tags_from_disc
         two_digits
     ]);
 
 sub filename {
-    my %a = @_;
-    my @discnumber = @{$a{discnumber} // []};
-    my $tracknumber = $a{tracknumber} // die('tracknumber required');
-    my $title = $a{title} // die('title required');
+    my ($tracknumber, $tags) = @_;
+    my $title = $tags->{TITLE} // die('title required');
+    my @discnumber = @{$tags->{DISCNUMBER} // []};
+    my @partnumber = @{$tags->{PARTNUMBER} // []};
+    my @version = @{$tags->{VERSION} // []};
     join('-',
          (map { two_digits($_) } @discnumber),
          two_digits($tracknumber),
-         mangle_for_file_name($title) . '.flac',
+         mangle_for_file_name(join('TODO multi-title?', @$title)),
+         # TODO more than one VERSION?
+         (map { mangle_for_file_name($_) } @version),
+         @partnumber,
         )
+        . '.flac',
 }
 
 sub main {
@@ -102,13 +108,13 @@ sub main {
         my $fn = join('/',
                       $dir,
                       filename(
-                          discnumber => \@discnumber,
-                          tracknumber => $tracknum,
-                          title => $title,
+                          $tracknum,
+                          {track_tags_from_disc($album, $tracks, $tracknum)}
                       ),
             );
         -e $fn && die("cowardly refusing to clobber $fn");
         my @pictures = ('--picture', quote('3|image/jpeg|||cover.front.jpeg')); # TODO optional
+        @pictures = ();         # XXX
         my $tracknum_s = two_digits($tracknum);
         say(join(' ',
                  'flac -o',