From: Eric Gillespie Date: Tue, 11 Oct 2022 00:10:08 +0000 (-0500) Subject: Jul 25 18:38 X-Git-Url: https://diplodocus.org/git/flac-archive/commitdiff_plain/8112d8c07f6008711315c3b402717889199523c7?ds=sidebyside Jul 25 18:38 --- diff --git a/flac2mp3 b/flac2mp3 index c8e9d11..4dbb927 100755 --- a/flac2mp3 +++ b/flac2mp3 @@ -55,7 +55,9 @@ 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 @@ -71,6 +73,11 @@ sub flac2mp3 { my $flac = shift; my $tags = shift; + my @version; + if (defined($tags->{version})) { + @version = ('(' . $tags->{version} . ')'); + } + # This is an old TODO; what's wrong with --ty ? # TODO: Look at TDOR, TDRL, TDRC for date. say( @@ -92,7 +99,7 @@ sub flac2mp3 { '--tn', quote($tags->{tracknumber}), '--tt', - quote($tags->{title}), + quote(join(' ', $tags->{title}, @version)), '--ty', quote($tags->{date}), '$pic_options', @@ -105,25 +112,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.$$');