CUE2TOC(1) | General Commands Manual | CUE2TOC(1) |
cue2toc - convert CUE to TOC format
cue2toc [-dhqv] [-o tocfile] [cuefile]
Cue2toc converts cuefile from CUE to TOC format and writes the result to tocfile. If either cuefile or tocfile is omitted or a single dash "-" cue2toc reads from standard input and writes to standard ouput respectively.
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.
CUE files for audio discs often come with data files in compressed audio formats like MP3 or Ogg Vorbis. To burn such a disc with cdrdao these files must be converted to WAVE or raw format. Cue2toc can do this automatically if configured properly (see section CONFIGURATION below for more information).
Cue2toc normally displays warning messages for unsupported commands and constructs as well as for each data file converted. The -q option disables these messages.
What follows is a description of the CUE format expected by cue2toc. For information about the TOC format please consult the cdrdao(1) manual page.
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
Cue2toc can be configured by specifying options in the file ~/.cue2tocrc. The syntax of this file and allowed configuration options follow.
Comments are introduced by the hash character '#' and extend to the end of the line. Configuration options take the form
OPTION = value
The value must be quoted if it contains whitespace characters. To include a double quote character in a quoted string, precede it with a backslash. Option values can either be of boolean type or string type. For boolean types any one of "yes", "y", "true" or "1" means true and anything else means false. The "default value" in the descriptions of the individual options below is the value assumed by cue2toc in the absence of the option from the configuration file.
CONVERTER = .mp3 .wav "lame --decode \"$C2T_FROM\" \"$C2T_TO\""
will convert all MP3 files to WAVE format using lame. It is a good idea to quote the varibles $C2T_FROM and $C2T_TO because they could contain whitespace or other funny characters with a special meaning to the shell.
This option can be specified multiple times and each file is checked against the list of converters to see if it matches any of them. If multiple converters match a given file only the first match is used.
If a file with the name that results from replacing ext_from with ext_to already exists, the conversion command will not be executed.
This option has no default value.
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.
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>.
Matthias Czapla <dermatsch@gmx.de>