Thanks for your work on this tool nyaochi. For the most part it's helped me get around some of the [a href='index.php?showtopic=48977']limitations I found with ACDIR[/a]. But in running it through its paces, I've come across some new issues. I'm hoping you can shed some light on the situation.
My directory layout is pretty much the same as what you use in the CueProc example. I.e. all images under one directory and all transcoded files under another. So to transcode all FLAC images into MP3s I find all the FLACs
cueproc --find *.cue > cues.txt
and let CueProc do its thing
cueproc -c lame -p "-V2 --vbr-new" -d "..\Compressed\$cuesheet_path" -o "$TRACKNUMBER $ARTIST - $TITLE" --target=cues.txt
With the exception of a few minor tag issues (temporarily resolved with --ignore-tag-errors) the first pass ran through the 1000+ images without a hitch. As CueProc's behaviour (like its predecessor) is to ignore existing files, I intended to run through the process again after adding one or more new images to the images directory. This is, however, where the problem occurred.
Running through the process a second time, CueProc tripped up and stopped relatively early on giving me this error message:
CueProc: Albums01\Beastie Boys\Hello Nasty - Bonus Disc\Beastie Boys - Hello Nas
ty - Bonus Disc.cue [02/04]
WARNING: Traceback (most recent call last):
File "cueproc.py", line 556, in <module>
File "cueproc.py", line 352, in process
File "cueproc.py", line 159, in warn
File "encodings\cp437.pyc", line 12, in encode
UnicodeEncodeError: 'charmap' codec can't encode character u'\xb4' in position 1
13: character maps to <undefined>
I removed the offending image and all images processed up to that point from cues.txt, and started the process again. A little later, it happened again.
CueProc: Albums01\Morcheeba\Charango\Morcheeba - Charango.cue [04/12]
WARNING: Traceback (most recent call last):
File "cueproc.py", line 556, in <module>
File "cueproc.py", line 352, in process
File "cueproc.py", line 159, in warn
File "encodings\cp437.pyc", line 12, in encode
UnicodeEncodeError: 'charmap' codec can't encode character u'\xe3' in position 8
2: character maps to <undefined>
Similar errors occurred a dozen or so times throughout the second pass. Interestingly, all errors were for existing images which had already been transcoded in the first pass. Examining the problem further, track 4 from "Morcheeba - Charango.cue" is
TRACK 04 AUDIO
TITLE "São Paulo"
PERFORMER "Morcheeba"
ISRC GBAHS0200047
FLAGS DCP
INDEX 01 11:16:30
The name of the file produced in the first pass is
M:\Music\Compressed\Albums01\Morcheeba\Charango>dir /b
[...]
04 Morcheeba - São Paulo.mp3
But Tag reports the track's details as
M:\Music\Compressed\Albums01\Morcheeba\Charango>tag "04 Morcheeba - São Paulo.mp3"
Tag - Automatic Tag from filename
Copyright (c) 2002-2003 Case. Minor additions by Neil Popham, 2004-2005
Version 2.0.43, Compiled 2005-04-21
M:\Music\Compressed\Albums01\Morcheeba\Charango\04 Morcheeba - Sao Paulo.mp3
Format: MPEG 1 Layer 3, Joint Stereo
Details: 44100 Hz Stereo, 204 kbps, playtime 04:29
Tags: ID3v1, ID3v2
Title: Sao Paulo
Artist: Morcheeba
Album: Charango
Year: 2002
Track: 4
Genre: Trip-Hop
Comment:
Encoder=LAME v3.97
The "ã" in the track title has been replaced with an "a". Similar characters substitutions have occurred in the other cases. E.g.
- cue sheet: ü
- file name: ü
- Tag output: u
- cue sheet: ³
- file name: <blank>
- Tag output: 3
- cue sheet: Â
- file name: Â
- Tag output: A
- cue sheet: ´
- file name: ´
- Tag output: '
Interestingly most other characters with diacritic marks seemed to have got through without issue. E.g. ç and ô. Does anyone know what might be causing this? If you require any additional information, please let me know.
The other minor issue I've found is with genre ID3v2 tags. After modifying the genre field in all the source .cue files to match an item in the "lame --genre-list" output (effectively working around a [a href='index.php?showtopic=34170']silly LAME ID3v2 genre tag issue[/a]), I still get errors like this
CueProc: Albums01\Angie Stone\Black Diamond\Angie Stone - Black Diamond.flac [09
/16]
getaudio --begin 30:35:03 --end 32:11:70 "M:\Music\Images\Albums01\Angie Stone\B
lack Diamond\Angie Stone - Black Diamond.flac" | lame --tt "Black Diamond & Blue
Pearls (Interlude)" --ta "Angie Stone" --tl "Black Diamond" --tn 09 --tg R&B --
ty 1999 --add-id3v2 -V2 --vbr-new - "..\Compressed\Albums01\Angie Stone\Black Di
amond\09 Angie Stone - Black Diamond & Blue Pearls (Interlude).mp3"
Unknown genre: 'R'. Specify genre name or number
'B' is not recognized as an internal or external command,
operable program or batch file.
I've seen problems with the genres "R&B", "Folk/Rock" and "Pop/Funk". At a guess I'd say the ampersand and forward slash characters are getting in the way.
On the positive side, messages just appear as warnings and don't kill processing. On the negative side it means tags aren't being properly written to the transcoded files. And seeing as it's not stopping processing, these characters in other fields may well be affecting other types of tags.
Finally, and possibly slightly off topic...
The MP3s produced by this process will almost exclusively be used with an iPod and iTunes. Through posts around HA and my own testing, it seems iTunes can't correctly group tracks from a various artist album using standard tags. It requires the TPE2 "Album Artist" (a.k.a. "Band") tag to be present.
Despite the frame being part of the informal standard, LAME does not seem to support it. Can anyone suggest a command line tool that will do the job as part of the CueProc transcode process? So far the only solution I've seen is to do it all manually through a tool like Mp3tag, The GodFather, or even iTunes itself. All help is greatly appreciated.