1. The Why
Because both Nero and EAC (Exact Audio Copy) are complete arses when it comes to supporting cue files (On one side, EAC generates non-logical CUE sheets and on the other Nero still produces coasters if it sees out of order data), cuemaker automates the creation of CDDA CUE sheets with CD-Text, from ripped CDDA tracks, by parsing the information already present in the file names.
2. The How
Well, let's say you have the following files in your directory (And FYI, yes, I do own an original copy of that CD):
Tori Amos - Tori Amos Scarlet's Walk - 01 - Amber Waves.flac Tori Amos - Tori Amos Scarlet's Walk - 02 - A Sorta Fairytale.flac Tori Amos - Tori Amos Scarlet's Walk - 03 - Wednesday.flac Tori Amos - Tori Amos Scarlet's Walk - 04 - Strange.flac Tori Amos - Tori Amos Scarlet's Walk - 05 - Carbon.flac Tori Amos - Tori Amos Scarlet's Walk - 06 - Crazy.flac Tori Amos - Tori Amos Scarlet's Walk - 07 - Wampum Prayer.flac Tori Amos - Tori Amos Scarlet's Walk - 08 - Don't Make Me Come To Vegas.flac Tori Amos - Tori Amos Scarlet's Walk - 09 - Sweet Sangria.flac Tori Amos - Tori Amos Scarlet's Walk - 10 - Your Cloud.flac Tori Amos - Tori Amos Scarlet's Walk - 11 - Pancake.flac Tori Amos - Tori Amos Scarlet's Walk - 12 - I Can't See New York.flac Tori Amos - Tori Amos Scarlet's Walk - 13 - Mrs. Jesus.flac Tori Amos - Tori Amos Scarlet's Walk - 14 - Taxi Ride.flac Tori Amos - Tori Amos Scarlet's Walk - 15 - Another Girl's Paradise.flac Tori Amos - Tori Amos Scarlet's Walk - 16 - Scarlet's Walk.flac Tori Amos - Tori Amos Scarlet's Walk - 17 - Virginia.flac Tori Amos - Tori Amos Scarlet's Walk - 18 - Gold Dust.flac
Then, after you copied over cuemaker to that directory, you would use:
cuemaker "%P - %S %A - %N - %T" > mycue.cue
And lo and behold, you have generatd the perfect CUE Sheet:
REM COMMENT "Generated by CueMaker v1.0"
PERFORMER "Tori Amos"
TITLE "Scarlet's Walk"
FILE "Tori Amos - Tori Amos Scarlet's Walk - 01 - Amber Waves.wav" WAVE
TRACK 01 AUDIO
TITLE "Amber Waves"
PERFORMER "Tori Amos"
PREGAP 00:02:00
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 02 - A Sorta Fairytale.wav" WAVE
TRACK 02 AUDIO
TITLE "A Sorta Fairytale"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 03 - Wednesday.wav" WAVE
TRACK 03 AUDIO
TITLE "Wednesday"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 04 - Strange.wav" WAVE
TRACK 04 AUDIO
TITLE "Strange"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 05 - Carbon.wav" WAVE
TRACK 05 AUDIO
TITLE "Carbon"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 06 - Crazy.wav" WAVE
TRACK 06 AUDIO
TITLE "Crazy"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 07 - Wampum Prayer.wav" WAVE
TRACK 07 AUDIO
TITLE "Wampum Prayer"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 08 - Don't Make Me Come To Vegas.wav" WAVE
TRACK 08 AUDIO
TITLE "Don't Make Me Come To Vegas"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 09 - Sweet Sangria.wav" WAVE
TRACK 09 AUDIO
TITLE "Sweet Sangria"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 10 - Your Cloud.wav" WAVE
TRACK 10 AUDIO
TITLE "Your Cloud"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 11 - Pancake.wav" WAVE
TRACK 11 AUDIO
TITLE "Pancake"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 12 - I Can't See New York.wav" WAVE
TRACK 12 AUDIO
TITLE "I Can't See New York"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 13 - Mrs. Jesus.wav" WAVE
TRACK 13 AUDIO
TITLE "Mrs. Jesus"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 14 - Taxi Ride.wav" WAVE
TRACK 14 AUDIO
TITLE "Taxi Ride"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 15 - Another Girl's Paradise.wav" WAVE
TRACK 15 AUDIO
TITLE "Another Girl's Paradise"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 16 - Scarlet's Walk.wav" WAVE
TRACK 16 AUDIO
TITLE "Scarlet's Walk"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 17 - Virginia.wav" WAVE
TRACK 17 AUDIO
TITLE "Virginia"
PERFORMER "Tori Amos"
INDEX 01 00:00:00
FILE "Tori Amos - Tori Amos Scarlet's Walk - 18 - Gold Dust.wav" WAVE
TRACK 18 AUDIO
TITLE "Gold Dust"
PERFORMER "Tori Amos"
INDEX 01 00:00:00All you have to do then is decompress the FLAC files to WAV and feed the cue to your favorite CD buring program.
3. Additional comments:
- Remember: PANTS! ([P]erformer, [A]lbum title, track [N]umber, track [T]itle or [S]uppress)
- "Redirection: it's more powerful than you!" Why waste time asking for an output filename, when you can simply redirect? By the way, anything that's non cue data goes to stderr, and will NOT be redirected.
- Option -g will add a 2 seconds pregap on all tracks. And no, there are no plans to add an option to modify the pregap time for obvious reasons. Also, before you ask, there is ALWAYS a 2 seconds pregap before the first track. It's the specs, and if it's not in the cue sheet, most CD burning apps will add it anyway, which is why it is always added by default.
- Automatic track numbers will be generated if none are present in the filenames
- The performer given with -p overrides the Album Performer but not the Track Performer(s), again for obvious reasons. If you really want to override Track Performers, just suppress it with option %S
- Additional matching pattern options %d (repetition of digits) and %w (repetition of word characters, i.e [a-zA-Z0-9_]) can be used to SUPPRESS data. All other patterns resolve to Perl's '(.*)'
- Supported extensions are flac, ape, wav, mp3
- An executable version for Windows, with sources, can be downloaded from http://nil.rpc1.org/
4. Dependencies and thanks:
- PCRE - Perl Compatible Regular Expressions (http://www.pcre.org/) You need the pcre library to compile.