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 {
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',