use v5.12;
use warnings;
-use File::Temp;
use FindBin;
-require "$FindBin::Bin/tags.pl";
+use lib $FindBin::Bin;
+
+require 'tags.pl';
epg::flac::archive::tags->import(
qw[
track_tags
);
}
+sub filename {
+ my $tags = shift;
+ mangle_for_file_name(
+ join(' ',
+ @{$tags->{ARTIST}},
+ @{$tags->{ALBUM}},
+ (map { two_digits($_) } @{$tags->{DISCNUMBER} // []}),
+ (map { two_digits($_) } @{$tags->{TRACKNUMBER} // []}),
+ @{$tags->{TITLE}},
+ @{$tags->{VERSION} // []},
+ @{$tags->{PARTNUMBER} // []},
+ )
+ ) . '.mp3';
+}
+
sub main {
for my $flac (@_) {
say('metaflac --export-picture-to=flac2mp3.cover.$$ ',
quote($flac), ' && pic_options="--ti flac2mp3.cover.$$"');
- my %tags = track_tags(read_tags_metaflac($flac));
- flac2mp3(
- mangle_for_file_name(
- join(' ',
- $tags{artist},
- $tags{album},
- (map { two_digits($_) } @{$tags{discnumber}}),
- two_digits($tags{tracknumber}),
- $tags{title},
- )
- )
- . '.mp3',
- $flac,
- \%tags,
- );
+
+ # TODO multi-track
+ my ($tags) = read_tags_metaflac($flac);
+ flac2mp3(filename($tags), $flac, {track_tags($tags)});
say('unset pic_options');
}
say('rm -f flac2mp3.cover.$$');