]> diplodocus.org Git - flac-archive/blobdiff - fa-encode
perltidy -bt=2 -pt=2 -nvc
[flac-archive] / fa-encode
index 10210b90759a5bcd8818bd658a3409cd1b876490..8a1dc6399bc4a19978e12847272d596b0a94c630 100755 (executable)
--- a/fa-encode
+++ b/fa-encode
@@ -35,15 +35,20 @@ epg::flac::archive::tags->import(
     ]);
 
 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,9 +107,8 @@ 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");