]> diplodocus.org Git - flac-archive/blobdiff - flac2mp3
copy VERSION values into mp3 title, in parens
[flac-archive] / flac2mp3
index b95185968af5c94322acd4095c1a68ed07237636..000d8ef22a0c68495e8b7e215354ecc6e64c65f5 100755 (executable)
--- a/flac2mp3
+++ b/flac2mp3
@@ -16,6 +16,10 @@ may be the kind of FLAC file B<fa-flacd> generates.  That is, it
 contains a cue sheet, one TITLE tag per track listed therein, and
 ARTIST, ALBUM, and DATE tags.
 
+Note that lame is retarded, and parses B<LANG> directly itself!  So, in order
+for it to transcode textual tags, you must specify the encoding in LANG, e.g.
+LANG=en_US.utf-8
+
 =head1 OPTIONS
 
 =over 4
@@ -100,19 +104,20 @@ def flac2mp3(fn, title, artist, album_artist, album, date,
     quoted_outfile = ('%s (%s) %02d %s.mp3' % (artist, album,
                                                track, title)).replace('/', '_')
 
-    picfn = None
+    pic_options = None
     if pics:
         (fd, picfn) = tempfile.mkstemp()
         f = os.fdopen(fd, 'wb')
         f.write(pics[0][7])
         f.close()
+        pic_options = "--ti '%s'" % picfn
     try:
-        run_or_die(3, "flac %s -cd %s '%s' | lame --id3v2-only --id3v2-latin1 --pad-id3v2-size 0 %s --tt '%s' --ta '%s' --tl '%s' --ty '%s' --tn %d --ti '%s' %s - '%s'"
+        run_or_die(3, "flac %s -cd %s '%s' | lame --id3v2-only --id3v2-latin1 --pad-id3v2-size 0 %s --tt '%s' --ta '%s' --tl '%s' --ty '%s' --tn %d %s %s - '%s'"
                    % (flac_options, ' '.join(skip_until), fn,
                       lame_options, title, artist, album, date, track,
-                      picfn, album_artist_options, quoted_outfile))
+                      pic_options, album_artist_options, quoted_outfile))
     finally:
-        if picfn:
+        if pic_options:
             try:
                 os.unlink(picfn)
             except:
@@ -238,6 +243,9 @@ def main(argv):
                     part = tags.gets('PART', track)
                     if part != None:
                         title = '%s - %s' % (title, part)
+                    version = tags.gets('VERSION', track)
+                    if version != None:
+                        title = '%s (%s)' % (title, version)
                     artist = tags.get('ARTIST', track)
                     artist.extend(tags.get('FEATURING', track))
                     album_artist = tags.gets('ALBUMARTIST', track)