X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/568f0f82fb4def9061c8586add92fc97636f4d64..49c989802328cc7723f410d6d8b92754d207981e:/fa-encode diff --git a/fa-encode b/fa-encode index 10210b9..9388f07 100755 --- 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',