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.
 
 
 
 
 
 

354 lines
5.6 KiB

  1. ============================================
  2. Description of the Cuesheet/TOC File Formats
  3. ============================================
  4. :Author: Svend Sorensen
  5. :Contact: sorensen@users.berlios.de
  6. .. contents::
  7. The Cuesheet (cue) and TOC (toc) file formats both describe the layout of a CD.
  8. Notes
  9. =====
  10. A Cuesheet or TOC file has an (optional) global section, followed by any number
  11. of track sections.
  12. Lines (with a few exceptions for the toc format) begin with a keyword, which
  13. may be followed by whitespace separated fields. Some keywords are only allowed
  14. in the global section or a track section.
  15. Format Notation
  16. ---------------
  17. * ``<field>`` - a required field
  18. * ``[field]`` - optional field
  19. * ``...`` - preceding field may be repeated any number of times
  20. Cuesheet Format
  21. ===============
  22. Keywords
  23. --------
  24. REM
  25. ~~~
  26. All lines beginning with ``REM`` are considered comments. ``REM`` is
  27. considered a keyword, and lines beginning with this keyword are ignored.
  28. :Section(s): any
  29. :Format: ``REM [comments]``
  30. CATALOG
  31. ~~~~~~~
  32. Sets the catalog number of the CD. The ``catalog_number`` must be exactly 13
  33. digits.
  34. :Section(s): global
  35. :Format: ``CATALOG "<catalog_number>"``
  36. FILE
  37. ~~~~
  38. Sets a new input file. ``FILE`` line precedes the beginning of the track
  39. section. Allowable ``file_format`` entries are BINARY, MOTOROLA, AIFF, WAVE,
  40. or MP3.
  41. :Section(s): track
  42. :Format: ``FILE "<filename>" [file_format]``
  43. TRACK
  44. ~~~~~
  45. Starts a new track. ``track_number`` must be a positive integer. Allowable
  46. ``track_mode`` entries are MODE1/2048, MODE1/2352, MODE2/2336, MODE2/2048,
  47. MODE2/2324, MODE2/2336, or MODE2/2352.
  48. :Section(s): track
  49. :Format: ``TRACK <track_number> <track_mode>``
  50. FLAGS
  51. ~~~~~
  52. Sets track flags. Allowable ``flag`` entries are PRE, DCP, 4CH, and SCMS.
  53. :Section(s): track
  54. :Format: ``FLAGS [flag]...``
  55. ISRC
  56. ~~~~
  57. Sets track ISRC number. ``ISRC_number`` must be of the format CCOOOOYYSSSSS.
  58. :Section(s): track
  59. :Format: ``ISRC <ISRC_number>``
  60. PREGAP
  61. ~~~~~~
  62. Sets track pregap. ``pregap`` must be in MSF format.
  63. :Section(s): track
  64. :Format: ``PREGAP <pregap>``
  65. INDEX
  66. ~~~~~
  67. Sets a track index. ``index_number`` must be a non-negative integer.
  68. ``index`` must be in MSF format.
  69. :Section(s): track
  70. :Format: ``INDEX <index_number> <index>``
  71. (CD-TEXT keywords)
  72. ~~~~~~~~~~~~~~~~~~
  73. See `CD-TEXT`_ section.
  74. Section(s): any
  75. TOC File Format
  76. ===============
  77. Certain keywords begin a block, which must be enclosed between ``{`` and ``}``
  78. brackets.
  79. Comments
  80. --------
  81. Comments begin with ``//`` and may be placed anywhere. Because they can be
  82. placed anywhere in a line, toc comments are treated as a special case (not as a
  83. keyword). Any text beginning with ``//`` is stripped from each line.
  84. Keywords
  85. --------
  86. CATALOG
  87. ~~~~~~~
  88. Sets the catalog number of the CD. ``catalog_number`` must be exactly 13
  89. digits.
  90. :Section(s): global
  91. :Format: ``CATALOG "<catalog_number>"``
  92. CD_DA
  93. ~~~~~
  94. Sets the CD format to audio.
  95. :Section(s): global
  96. :Format: ``CD_DA``
  97. CD_ROM
  98. ~~~~~~
  99. Sets the CD format to data.
  100. :Section(s): global
  101. :Format: ``CD_ROM``
  102. CD_ROM_XA
  103. ~~~~~~~~~
  104. Sets the CD format to mixed.
  105. :Section(s): global
  106. :Format: ``CD_ROM_XA``
  107. TRACK
  108. ~~~~~
  109. :Section(s): track
  110. :Format: TRACK <track_mode> [sub_channel_mode]
  111. NO
  112. ~~
  113. Negates (clears) track flags. Allowable flags are ``COPY`` and
  114. ``PRE_EMPHASIS``.
  115. :Section(s): track
  116. :Format: ``NO <flag>``
  117. COPY
  118. ~~~~
  119. Sets the copy permitted flag.
  120. :Section(s): track
  121. :Format: ``COPY``
  122. PRE_EMPHASIS
  123. ~~~~~~~~~~~~
  124. Sets the pre-emphasis flag.
  125. :Section(s): track
  126. :Format: ``PRE_EMPHASIS``
  127. TWO_CHANNEL_AUDIO
  128. ~~~~~~~~~~~~~~~~~
  129. Sets the two channel audio flag.
  130. :Section(s): track
  131. :Format: ``TWO_CHANNEL_AUDIO``
  132. FOUR_CHANNEL_AUDIO
  133. ~~~~~~~~~~~~~~~~~~
  134. Sets the four channel audio flag.
  135. :Section(s): track
  136. :Format: ``FOUR_CHANNEL_AUDIO``
  137. ISRC
  138. ~~~~
  139. Sets track ISRC number. ``ISRC_number`` must be of the format CCOOOOYYSSSSS.
  140. :Section(s): track
  141. :Format: ISRC "<ISRC_number>"
  142. SILENCE
  143. ~~~~~~~
  144. *TODO*
  145. :Section(s): track
  146. ZERO
  147. ~~~~
  148. *TODO*
  149. :Section(s): track
  150. FILE
  151. ~~~~
  152. Add file to current track. ``start`` and ``length`` must be in MSF format.
  153. :Section(s): track
  154. :Format: ``FILE "<filename>" <start> [length]``
  155. AUDIOFILE
  156. ~~~~~~~~~
  157. Add file to current track. ``start`` and ``length`` must be in MSF format.
  158. :Section(s): track
  159. :Format: ``AUDIOFILE "<filename>" <start> [length]``
  160. DATAFILE
  161. ~~~~~~~~
  162. TODO
  163. :Section(s): track
  164. FIFO
  165. ~~~~
  166. TODO
  167. :Section(s): track
  168. START
  169. ~~~~~
  170. :Section(s): track
  171. :Format: ``START <start>``
  172. PREGAP
  173. ~~~~~~
  174. Sets track pregap. ``pregap`` must be in MSF format.
  175. Section(s): track
  176. Format: ``PREGAP <pregap>``
  177. INDEX
  178. ~~~~~
  179. Sets a track index. ``index_number`` must be a non-negative integer.
  180. ``index_time`` must be in MSF format.
  181. :Section(s): track
  182. :Format: ``INDEX <index_number> <index_time>``
  183. CD_TEXT
  184. ~~~~~~~
  185. Begins a CD-TEXT block.
  186. :Section(s): any
  187. :Format: ``CD_TEXT {}``
  188. LANGUAGE_MAP
  189. ~~~~~~~~~~~~
  190. Begins a language map block.
  191. Section(s): global
  192. Subsection(s): CD-TEXT block
  193. Format: ``LANGUAGE_MAP {}``
  194. LANGUAGE
  195. ~~~~~~~~
  196. Begins a language block.
  197. :Section(s): track
  198. :Subsection(s): CD-TEXT block
  199. :Format: ``LANGUAGE {}``
  200. (CD-TEXT keywords)
  201. ~~~~~~~~~~~~~~~~~~
  202. See `CD-TEXT`_ section.
  203. :Section(s): any
  204. :Subsection(s): CD-TEXT block
  205. CD-TEXT
  206. =======
  207. :Format: ``<CDTEXT_keyword> "<CDTEXT_field>"``
  208. Keywords
  209. --------
  210. ========== ======
  211. Keyword Form
  212. ========== ======
  213. TITLE char
  214. PERFORMER char
  215. SONGWRITER char
  216. COMPOSER char
  217. ARRANGER char
  218. MESSAGE char
  219. DISC_ID char
  220. GENRE char
  221. TOC_INFO char
  222. TOC_INFO2 char
  223. UPC_EAN char
  224. ISRC char
  225. SIZE_INFO binary
  226. ========== ======
  227. Definitions
  228. ===========
  229. MSF format
  230. a representation of time in the form ``mm:ss:ff``. ``mm`` is minutes,
  231. ``ss`` is seconds, and ``ff`` is frames
  232. frame
  233. 1/74 of a second