CUE files are text files describing the layout of a CD-Rom and typically carry the extension ".cue".
Cdrdao is a CD-burning application which has its own native TOC format to describe the disc layout. Although cdrdao has direct support for reading CUE files, it is currently limited to data tracks only. So cue2toc's main usefulness lies in converting CUE files containing audio tracks.
Output of CD-Text data can be disabled with the -n option.
CUE files often come with MP3 files but since cdrdao doesnt support decoding them on the fly they probably must be decoded by other means prior to writing the CD (e.g. using lame). For this reason you can specify a filename with the -w option to be used for all audio tracks instead of the one in the CUE file. Of course this is only really useful if all the tracks are based on the same file. This seems to be the case quite often however.
Cue2toc normally displays warning messages for unsupported commands and constructs. The -q option disables these warnings.
CUE files consist of commands and their arguments which must be separated from each other by any number of whitespace characters. Space, horizontal tabulator, newline and carriage return are recognized as whitespace characters except inside strings surrounded by double quotes, where they are part of the string. Commands are not case sensitive. CD-Text data can be at most 80 characters per item.
Timecode values are accepted in the forms "X:X:X", "X:X" and "X" where each "X" must consist of at most two digits and may be zero padded to the left. They are interpreted as "M:S:F", "S:F" and "F" respectively where "M" means "minutes" and must be in the range 0 <= M <= 99, "S" means "seconds" and must be in the range 0 <= S <= 59, and "F" means "frames" and must be in the range 0 <= F <= 74.
CUE files are logically divided into a global section and one to 99 track sections. Inside these sections the following commands are allowed:
REM
anything_to_newline
CATALOG
string
CDTEXTFILE
string
TITLE
string
PERFORMER
string
SONGWRITER
string
FILE
string
BINARY|MOTOROLA|AIFF|WAVE|MP3
The first appearance of a TRACK command causes leaving of the global section and entering the track section.
TRACK
number
mode
REM
anything_to_newline
FLAGS
[DCP]
[4CH]
[PRE]
[SCMS]
ISRC
string
TITLE
string
PERFORMER
string
SONGWRITER
string
PREGAP
timecode
INDEX
number
timecode
POSTGAP
timecode
FILE
string
BINARY|MOTOROLA|AIFF|WAVE|MP3
The command CDTEXTFILE and the flag SCMS have no equivalent in the TOC format and are ignored.
CUE files containing data tracks which specify a starting time greater than zero cannot be converted by cue2toc because the TOC format does not provide a way to specify a starting time at all for data tracks. However if the CUE file does not contain any audio tracks you can try to use the CUE file directly with cdrdao.
Suppose we have the following CUE file "uwe.froehn.cue" describing an audio CD with CD-Text data:
REM Example CUE file with audio tracks CATALOG 1234567890123 TITLE "Der Berg ruft" PERFORMER "Uwe Froehn" FILE "uwe.froehn.mp3" MP3 TRACK 01 AUDIO TITLE "Meine Mama ist die Beste" PERFORMER "Uwe Froehn" SONGWRITER "Hansi Klabuster" REM two seconds pregap filled with audio data INDEX 00 00:00:00 INDEX 01 00:02:00 REM subindexes INDEX 02 00:35:17 INDEX 03 01:12:44 TRACK 02 AUDIO TITLE "Hoch oben im Tal" SONGWRITER "Gabi Geil" REM no pregap INDEX 01 02:45:38 TRACK 03 AUDIO REM pregap with zero data PREGAP 00:4:47 INDEX 01 07:58:74 REM postgap with zero data POSTGAP 00:35:00
Since cdrdao cannot decode the MP3 file on the fly this step must be carried out by hand, e.g. using lame:
lame --decode uwe.froehn.mp3 uwe.froehn.wav
Although the filename appears only once in the example CUE file it gets written for every track in the TOC file so you would need to edit lots of occurences of the filename in the TOC file by hand. For this reason you can specify a string with the -w option to be used by cue2toc as the filename for all audio tracks. The command
cue2toc -w uwe.froehn.wav -o uwe.froehn.toc uwe.froehn.cue
should produce the file uwe.froehn.toc with the following content:
CATALOG "1234567890123" CD_DA CD_TEXT { LANGUAGE_MAP { 0 : EN } LANGUAGE 0 { TITLE "Der Berg ruft" PERFORMER "Uwe Froehn" } } TRACK AUDIO CD_TEXT { LANGUAGE 0 { TITLE "Meine Mama ist die Beste" PERFORMER "Uwe Froehn" SONGWRITER "Hansi Klabuster" } } AUDIOFILE "uwe.froehn.wav" 00:00:00 02:45:38 START 00:02:00 INDEX 00:35:17 INDEX 01:12:44 TRACK AUDIO CD_TEXT { LANGUAGE 0 { TITLE "Hoch oben im Tal" SONGWRITER "Gabi Geil" } } AUDIOFILE "uwe.froehn.wav" 02:45:38 05:13:36 TRACK AUDIO PREGAP 00:04:47 AUDIOFILE "uwe.froehn.wav" 07:58:74 SILENCE 00:35:00
Since cue2toc's definition of the CUE format is entirely based on a number of different CUE files the author came across there is a very high probability that it will not work correctly with all the other CUE files you might encounter. If this is the case for you please send the problematic CUE file along with the version number of cue2toc to <dermatsch@gmx.de>.