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
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
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.
-d print debugging information
-h print a short help message
write result to tocfile instead of standard ouput
-q quiet mode; do not print warnings
-v display version information
What follows is a description of the CUE format expected by cue2toc.
For information about the TOC format please consult the cdrdao(1)
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
FILE string BINARY|MOTOROLA|AIFF|WAVE|MP3
REM Optional. Introduces a comment. Anything from there on up to
and including the next newline character is ignored. Comments
can appear anywhere in the file but not between a command and
Optional. The Media Catalog Number of the disc. Must be exactly
Optional. Specifies an external file containing CD-Text data.
TITLE Optional. The CD-Text title of the disc.
Optional. The CD-Text performer of the disc.
Optional. The CD-Text songwriter of the disc.
FILE Required. The name and type of the file to be used for all
following tracks. The string contains the name of the file
followed by one of BINARY, MOTOROLA, AIFF, WAVE or MP3. As far
as cue2toc is concerned the type of the file is effectively
ignored. Nonetheless MOTOROLA, AIFF and MP3 cause printing of a
warning message since these file types can not be used directly
The first appearance of a TRACK command causes leaving of the global
section and entering the track section.
TRACK number mode
FLAGS [DCP] [4CH] [PRE] [SCMS]
INDEX number timecode
FILE string BINARY|MOTOROLA|AIFF|WAVE|MP3
TRACK Required. Starts a new track definition. The number is ignored.
The mode must be one of AUDIO, MODE1/2048, MODE1/2352,
MODE2/2336 or MODE2/2352.
FLAGS Optional. Defines the flags for this track. Must be followed by
one or more of the following commands: DCP (digital copy
permitted), 4CH (four channel audio), PRE (pre-emphasis enabled)
and SCMS (serial copy management system). SCMS is ignored
because there is no corresponding option in the TOC format.
ISRC Optional. The International Standard Recording Code for this
track. Must be exactly 12 characters long.
TITLE Optional. The CD-Text title of this track.
Optional. The CD-Text performer of this track.
Optional. The CD-Text songwriter of this track.
PREGAP Optional. The length of the track pregap to be filled with zero
data. Mutually exclusive with INDEX 0.
Optional. The length of the track postgap to be filled with
INDEX Optional. The number must be in the range 0 <= number <= 99.
Index number 1 specifies the start of the track. Index number 0
is the start of the track pregap filled with data from the file,
i.e. the difference between index 0 and index 1 is the length of
the pregap. Index 0 is mutually exclusive with PREGAP. Index
numbers greater than 1 specify subindexes for this track and
must be sequential.
FILE Optional in track section. The syntax is the same as described
above and if it appears inside a track specification it takes
effect on the next TRACK command.
Cue2toc can be configured by specifying options in the file
~/.cue2tocrc. The syntax of this file and allowed configuration options
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 = ext_from ext_to command
This option takes three string arguments and specifies a
converter for files with the extension ext_from. They are
converted by the given command and the extension is replaced
with ext_to in the TOC file. When the command is run the
environment will contain the two variables C2T_FROM and C2T_TO
which contain the original and new file name respectively. For
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
This option has no default value.
CONVERT = boolean
This option enables or disables the conversion of data files as
described above for the CONVERTER option. If this option is
false, no conversion will take place. The default value is
QUIET = boolean
If this option is true it has the same effect as if cue2toc was
invoked with the -q command line option. The default value is
CDTEXT = boolean
This option enables or disables the writing of CD-Text data to
the TOC file if it is present in the CUE file. The default
value is "yes".
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.
The configuration file. The format of this file is described in
the section CONFIGURATION above.
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
Matthias Czapla <email@example.com>