You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

514 lines
8.8 KiB

  1. ===========================================================
  2. Description of the Cue Sheet/Table of Contents File Formats
  3. ===========================================================
  4. :Author: Svend Sorensen
  5. :Contact: sorensen@users.berlios.de
  6. :Date: $LastChangedDate$
  7. .. contents::
  8. The Cue Sheet (cue) and Table of Contents (toc) file formats both describe the
  9. layout of a CD.
  10. Notes
  11. =====
  12. A cue or toc file has an (optional) global section, followed by any number of
  13. track sections.
  14. Lines (with a few exceptions for the toc format) begin with a keyword, which
  15. may be followed by whitespace separated fields. Some keywords are only allowed
  16. in the global section or a track section.
  17. Format Notation
  18. ---------------
  19. A string may be enclosed in single or double quotation marks. If the string
  20. contains whitespace, it must be enclosed in quotation marks.
  21. ``<field>``
  22. a required field
  23. ``[field]``
  24. an optional field
  25. ``...``
  26. preceding field may be repeated any number of times
  27. Cue Sheet Format
  28. ================
  29. The standard file suffix for a cue file is ``.cue``.
  30. Keywords
  31. --------
  32. CATALOG
  33. ~~~~~~~
  34. :Description: Sets the catalog number of the CD.
  35. :Section(s): global
  36. :Format:
  37. ``CATALOG <catalog_number>``
  38. ``catalog_number``
  39. an integer consisting of exactly 13 digits.
  40. CDTEXTFILE
  41. ~~~~~~~~~~
  42. :Description: Sets an external file for CD-TEXT data.
  43. :Section(s): global
  44. :Format:
  45. ``CDTEXTFILE <filename>``
  46. ``filename``
  47. a string.
  48. The CD-TEXT file contains encoded CD-TEXT data. The standard extension for
  49. CD-TEXT files is ``.cdt``.
  50. FILE
  51. ~~~~
  52. :Description: Sets a new input file.
  53. :Section(s): track
  54. :Format:
  55. ``FILE <filename> [file_format]``
  56. ``filename``
  57. a string.
  58. ``file_format``
  59. one of: ``BINARY``, ``MOTOROLA``, ``AIFF``, ``WAVE``, or
  60. ``MP3`` [#]_.
  61. ``FILE`` line precedes the beginning of the track section.
  62. .. [#] The cdrtools_ ``cue.c`` file also has ``file_format`` entries for ``AU``
  63. and ``OGG``.
  64. FLAGS
  65. ~~~~~
  66. :Description: Sets track flags.
  67. :Section(s): track
  68. :Format:
  69. ``FLAGS [flag]...``
  70. ``flag``
  71. one of: ``PRE``, ``DCP``, ``4CH``, or ``SCMS``.
  72. INDEX
  73. ~~~~~
  74. :Description: Sets a track index.
  75. :Section(s): track
  76. :Format:
  77. ``INDEX <index_number> <index>``
  78. ``index_number``
  79. an integer in the range 0-99.
  80. ``index``
  81. time in MSF format.
  82. ISRC
  83. ~~~~
  84. :Description: Sets track ISRC number.
  85. :Section(s): track
  86. :Format:
  87. ``ISRC <ISRC_number>``
  88. ``ISRC_number``
  89. a string with the format CCOOOOYYSSSSS.
  90. POSTGAP
  91. ~~~~~~~
  92. :Description: Sets track postgap.
  93. :Section(s): track
  94. :Format:
  95. ``POSTGAP <postgap>``
  96. ``postgap``
  97. time in MSF format.
  98. PREGAP
  99. ~~~~~~
  100. :Description: Sets track pregap.
  101. :Section(s): track
  102. :Format:
  103. ``PREGAP <pregap>``
  104. ``pregap``
  105. time in MSF format.
  106. REM
  107. ~~~
  108. :Description: Begins a comment line.
  109. :Section(s): any
  110. :Format:
  111. ``REM [comments]``
  112. TRACK
  113. ~~~~~
  114. :Description: Starts a new track.
  115. :Section(s): track
  116. :Format:
  117. ``TRACK <track_number> <track_mode>``
  118. ``track_number``
  119. a positive integer in the range 1-99.
  120. ``track_mode``
  121. one of: ``AUDIO``, ``CDG``, ``MODE1/2048``, ``MODE1/2352``,
  122. ``MODE2/2336``, ``MODE2/2352``, ``CDI/2336``, or ``CDI/2352``.
  123. (CD-TEXT keywords)
  124. ~~~~~~~~~~~~~~~~~~
  125. :Description: Sets CD-TEXT data.
  126. :Section(s): any
  127. :Format:
  128. ``<CDTEXT_keyword> <CDTEXT_field>``
  129. ``CDTEXT_keyword``
  130. one of: (see `CD-TEXT`_ section for a list of keywords).
  131. ``CDTEXT_field``
  132. a string.
  133. The cue format does not have native support for binary CD-TEXT.
  134. Table of Contents File Format
  135. =============================
  136. The standard file suffix for a toc file is ``.toc``.
  137. Certain keywords begin a block, which must be enclosed between ``{`` and ``}``
  138. brackets.
  139. Comments
  140. --------
  141. Comments begin with ``//`` and may be placed anywhere. Because they can be
  142. placed anywhere in a line, toc comments are treated as a special case (not as a
  143. keyword). Any text beginning with ``//`` is stripped from each line.
  144. Keywords
  145. --------
  146. CATALOG
  147. ~~~~~~~
  148. :Section(s): global
  149. :Format: ``CATALOG "<catalog_number>"``
  150. Sets the catalog number of the CD. ``catalog_number`` must be exactly 13
  151. digits.
  152. CD_DA
  153. ~~~~~
  154. :Section(s): global
  155. :Format: ``CD_DA``
  156. Sets the CD format to audio.
  157. CD_ROM
  158. ~~~~~~
  159. :Section(s): global
  160. :Format: ``CD_ROM``
  161. Sets the CD format to data.
  162. CD_ROM_XA
  163. ~~~~~~~~~
  164. :Section(s): global
  165. :Format: ``CD_ROM_XA``
  166. Sets the CD format to mixed.
  167. TRACK
  168. ~~~~~
  169. :Section(s): track
  170. :Format: ``TRACK <track_mode> [sub_channel_mode]``
  171. NO
  172. ~~
  173. :Section(s): track
  174. :Format: ``NO <flag>``
  175. Negates (clears) track flags. Allowable ``flag`` entries are ``COPY`` and
  176. ``PRE_EMPHASIS``.
  177. COPY
  178. ~~~~
  179. :Section(s): track
  180. :Format: ``COPY``
  181. Sets the copy permitted flag.
  182. PRE_EMPHASIS
  183. ~~~~~~~~~~~~
  184. :Section(s): track
  185. :Format: ``PRE_EMPHASIS``
  186. Sets the pre-emphasis flag.
  187. TWO_CHANNEL_AUDIO
  188. ~~~~~~~~~~~~~~~~~
  189. :Section(s): track
  190. :Format: ``TWO_CHANNEL_AUDIO``
  191. Sets the two channel audio flag.
  192. FOUR_CHANNEL_AUDIO
  193. ~~~~~~~~~~~~~~~~~~
  194. :Section(s): track
  195. :Format: ``FOUR_CHANNEL_AUDIO``
  196. Sets the four channel audio flag.
  197. ISRC
  198. ~~~~
  199. :Section(s): track
  200. :Format: ``ISRC "<ISRC_number>"``
  201. Sets track ISRC number. ``ISRC_number`` must be of the format CCOOOOYYSSSSS.
  202. SILENCE
  203. ~~~~~~~
  204. :Section(s): track
  205. *TODO*
  206. ZERO
  207. ~~~~
  208. :Section(s): track
  209. *TODO*
  210. FILE
  211. ~~~~
  212. :Section(s): track
  213. :Format: ``FILE "<filename>" <start> [length]``
  214. Add file to current track. ``start`` and ``length`` must be in MSF format.
  215. AUDIOFILE
  216. ~~~~~~~~~
  217. :Section(s): track
  218. :Format: ``AUDIOFILE "<filename>" <start> [length]``
  219. Add file to current track. ``start`` and ``length`` must be in MSF format.
  220. DATAFILE
  221. ~~~~~~~~
  222. :Section(s): track
  223. *TODO*
  224. FIFO
  225. ~~~~
  226. :Section(s): track
  227. *TODO*
  228. START
  229. ~~~~~
  230. :Section(s): track
  231. :Format: ``START <start>``
  232. *TODO*
  233. PREGAP
  234. ~~~~~~
  235. Section(s): track
  236. Format: ``PREGAP <pregap>``
  237. Sets track pregap. ``pregap`` must be in MSF format.
  238. INDEX
  239. ~~~~~
  240. :Section(s): track
  241. :Format: ``INDEX <index_number> <index_time>``
  242. Sets a track index. ``index_number`` must be a non-negative integer.
  243. ``index_time`` must be in MSF format.
  244. CD_TEXT
  245. ~~~~~~~
  246. :Section(s): any
  247. :Format: ``CD_TEXT {}``
  248. Begins a CD-TEXT block.
  249. LANGUAGE_MAP
  250. ~~~~~~~~~~~~
  251. :Section(s): global
  252. :Subsection(s): CD-TEXT block
  253. :Format: ``LANGUAGE_MAP { language_map... }``
  254. Begins a language map block. ``language_map`` is a mapping of an integer in
  255. the range 0-255 to a country code.
  256. LANGUAGE
  257. ~~~~~~~~
  258. :Section(s): track
  259. :Subsection(s): CD-TEXT block
  260. :Format: ``LANGUAGE language_number { cd_text }``
  261. Begins a language block. ``language_number`` must be an integer in the range
  262. 0-255. ``cd_text`` is a series of CD-TEXT keyword lines.
  263. (CD-TEXT keywords)
  264. ~~~~~~~~~~~~~~~~~~
  265. :Section(s): any
  266. :Subsection(s): language block
  267. :Format1: ``<CDTEXT_keyword> "<CDTEXT_field>"``
  268. :Format2: ``<CDTEXT_keyword> { CDTEXT_binary_data }``
  269. See `CD-TEXT`_ section for a list of CD-TEXT keywords. Format1 is for
  270. character data and Format2 is for binary data. ``CDTEXT_binary_data`` is a
  271. comma seperated list of integers in the range 0-255.
  272. CD-TEXT
  273. =======
  274. MMC-3_ specifies 16 CD-TEXT types. Three are reserved and have no
  275. corresponding keywords. One is shared; the keyword depends on whether it is
  276. for the disc (``UPC_EAN``) or a track (``ISRC``). CD-TEXT entries are either
  277. character or binary data. All descriptions taken from MMC-3_.
  278. Keywords
  279. --------
  280. ARRANGER
  281. ~~~~~~~~
  282. :Description: Name(s) of the arranger(s)
  283. :Section: any
  284. :Format: character
  285. COMPOSER
  286. ~~~~~~~~
  287. :Description: Name(s) of the composer(s)
  288. :Section: any
  289. :Format: character
  290. DISC_ID
  291. ~~~~~~~
  292. :Description: Disc Identification information
  293. :Section: any
  294. :Format: binary
  295. GENRE
  296. ~~~~~
  297. :Description: Genre Identification and Genre information
  298. :Section: any
  299. :Format: binary
  300. Genre codes are in the Enhanced CD Specification or cdrtools_ ``cdtext.h`` file.
  301. ISRC
  302. ~~~~~
  303. :Description: ISRC Code of each track
  304. :Section: track
  305. :Format: character
  306. MESSAGE
  307. ~~~~~~~
  308. :Description: Message from the content provider and/or artist
  309. :Section: any
  310. :Format: character
  311. PERFORMER
  312. ~~~~~~~~~
  313. :Description: Name(s) of the performer(s)
  314. :Section: any
  315. :Format: character
  316. SONGWRITER
  317. ~~~~~~~~~~
  318. :Description: Name(s) of the songwriter(s)
  319. :Section: any
  320. :Format: character
  321. TITLE
  322. ~~~~~
  323. :Description: Title of album name or Track Titles
  324. :Section: any
  325. :Format: character
  326. TOC_INFO
  327. ~~~~~~~~~
  328. :Description: Table of Content information
  329. :Section: any
  330. :Format: binary
  331. TOC_INFO2
  332. ~~~~~~~~~
  333. :Description: Second Table of Content information
  334. :Section: any
  335. :Format: binary
  336. UPC_EAN
  337. ~~~~~~~
  338. :Description: UPC/EAN code of the album
  339. :Section: disc
  340. :Format: character
  341. SIZE_INFO
  342. ~~~~~~~~~
  343. :Description: Size information of the Block
  344. :Section: any
  345. :Format: binary
  346. Definitions
  347. ===========
  348. MSF format
  349. a representation of time in the form ``m:s:f``. ``m`` is minutes,
  350. ``s`` is seconds, and ``f`` is frames. Fields may be zero padded.
  351. frame
  352. 1/75 of a second.
  353. .. _MMC-3: ftp://ftp.t10.org/t10/drafts/mmc3/
  354. .. _cdrtools: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html