X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/cd6b00d1cf4de2e18326ceb94a32366dbd4cd228..da01937237d371e73fdafd9cf387800c3c06a769:/flac2mp3 diff --git a/flac2mp3 b/flac2mp3 index c8e9d11..e3e3867 100755 --- a/flac2mp3 +++ b/flac2mp3 @@ -52,10 +52,11 @@ package epg::flac::archive::mp3; 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 @@ -105,25 +106,29 @@ sub flac2mp3 { ); } +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.$$');