Implemented cdrskin option textfile=

This commit is contained in:
2011-12-05 20:38:36 +00:00
parent 3dbf723e9d
commit 4b056cd848
3 changed files with 155 additions and 6 deletions

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CDRSKIN 1 "Dec 02, 2011"
.TH CDRSKIN 1 "Dec 05, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -760,6 +760,48 @@ the only mode which allows -multi.
.br
Mode -tao is not usable for minimally blanked DVD-RW and for DVD-R DL.
.TP
.BI textfile= path
Read CD-TEXT packs from the file depicted by path and put them into the
Lead-in of the emerging session. This session has to be done by Session At Once
(SAO) mode and should contain audio tracks.
.br
path must lead to a regular file, which consists of an optional header of four
bytes and one or more text packs of 18 bytes each. Suitable would be the
file 'cdtext.dat' which gets extracted from CD media by options -vv -toc
and shown in human readable form by -vvv -toc.
.br
The header, if present, must tell the file size minus 2, encoded as big-endian
16 bit word. The other two bytes must be 0.
.br
A text pack consists of a pack type byte, a track number byte, a counter byte,
a Block Number and Character Indicator byte, 12 text characters or data bytes,
two optional CRC bytes.
.br
Pack types are: 0x80=Title, 0x81=Performers, 0x82=Songwriters,
0x83=Composers, 0x84=Arranger, 0x85=Messages, 0x86=Disc Identification,
0x87=Genre Identification, 0x88=Table of Content Information,
0x89=Second Table of Content Information, 0x8e=UPC/EAN resp. ISRC,
0x8f=Size Information of the Block.
.br
Track number 0 means the whole disc. Higher numbers are valid for types 0x80
to 0x85, and 0x8e. With these types, there has to be one text for the disc
and one for each track.
.br
Block Number and Character Position Indicator consists of three bit fields:
Bit 7 indicates two-byte characters. Bit 4 to bit 6 record the block number,
which groups texts into language blocks.
Bit 0 to bit 3 is either the number of characters which the current text
inherited from the previous pack, or 15 if the current text started before
the previous pack.
.br
The texts are terminated by 0 bytes. A text may span over several packs.
Unused characters in a pack are used for the next text of the same pack type.
If no text of the same type follows, then the remaining text bytes are
set to 0.
.br
The CRC algorithm is known as CRC-16-CCITT with divisor 0x11021.
MMC-3 says: "All bits shall be inverted."
.TP
.BI \-toc
Print the table of content (TOC) which describes the tracks recorded on disc.
The output contains all info from option -atip plus lines which begin with
@ -768,13 +810,15 @@ start address of the track. Addresses are counted in CD sectors which with
SAO or TAO data tracks hold 2048 bytes each.
.br
If verbosity is set to level 2 (-v -v) then the CD-TEXT packs from the lead-in
of an audio CD gets extracted and written into file 'cdtext.dat', if that file
of an audio CD get extracted and written into file 'cdtext.dat', if that file
does not yet exist. Prepended is a 4 byte header, followed by one or more
packs of 18 bytes each.
.br
Verbosity level 3 causes the CD-TEXT packs to be printed as hex numbers to
standard output. Bytes 4 to 15 of certain pack types are printed as ASCII
characters if they have values in the range of 32 to 126.
.br
See option textfile= for more information about the text pack format.
.RS
.TP
Example. Retrieve an afio archive from track number 2: