Implemented cue sheet file commands ARRANGER, COMPOSER, MESSAGE
This commit is contained in:
parent
8ac3ee15f1
commit
4c9783d7ae
@ -508,9 +508,11 @@ To enable CD-TEXT from the cue sheet file, cdrskin option -text has to be
|
||||
present.
|
||||
.br
|
||||
cdrskin currently supports TRACK datatypes AUDIO and MODE1/2048 which may
|
||||
not be mixed. It ignores commands POSTGAP, PREGAP, and FLAGS. Only INDEX 01
|
||||
not be mixed. It ignores commands POSTGAP and PREGAP. Only INDEX 01
|
||||
is interpreted yet. Data source may be of FILE type BINARY or MOTOROLA.
|
||||
.br
|
||||
Non-CDRWIN commands ARRANGER, COMPOSER, MESSAGE are supported.
|
||||
.br
|
||||
Cue sheet file commands CATALOG and ISRC may be overridden by option mcn=
|
||||
and by input_sheet_v07t= purpose specifiers "UPC / EAN" and "ISRC".
|
||||
This does not affect their appearance in CD-TEXT, but only on Q sub-channel.
|
||||
|
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2012.01.01.125539"
|
||||
#define Cdrskin_timestamP "2012.01.01.173446"
|
||||
|
@ -7,6 +7,7 @@ by docs and results of cdtext.zip from http://www.sonydadc.com/file/
|
||||
by reading http://digitalx.org/cue-sheet/syntax
|
||||
by reading source of libcdio from http://www.gnu.org/s/libcdio
|
||||
which quotes source of cdrecord from ftp://ftp.berlios.de/pub/cdrecord/alpha
|
||||
by reading man cdrecord from ftp://ftp.berlios.de/pub/cdrecord/alpha
|
||||
|
||||
Language codes were learned from http://tech.ebu.ch/docs/tech/tech3264.pdf
|
||||
Genre codes were learned from libcdio and confirmed by
|
||||
@ -634,6 +635,9 @@ attributes (CATALOG, TITLE, PERFORMER, SONGWRITER, ISRC), track block types
|
||||
(TRACK) and track start addresses (INDEX 01).
|
||||
The rules for CDRWIN cue sheet files are described at
|
||||
http://digitalx.org/cue-sheet/syntax/
|
||||
There are three more text attributes mentioned in man cdrecord for defining
|
||||
the corresponding CD-TEXT attributes: ARRANGER, COMPOSER, MESSAGE.
|
||||
|
||||
|
||||
--------------------------------------
|
||||
Example of a CDRWIN cue sheet file :
|
||||
@ -668,9 +672,13 @@ TITLE "Joyful Nights"
|
||||
|
||||
Several restrictions apply in the libburn call burn_session_by_cue_file():
|
||||
|
||||
Commands POSTGAP, PREGAP are ignored. Only FILE types BINARY, MOTOROLA are
|
||||
allowed. Only TRACK datatypes AUDIO, MODE1/2048 are allowed. They may not
|
||||
be mixed in the same session. INDEX numbers 00, 02 to 99 are ignored.
|
||||
Commands POSTGAP, PREGAP are ignored.
|
||||
Only FILE types BINARY, MOTOROLA are allowed.
|
||||
Only TRACK datatypes AUDIO, MODE1/2048 are allowed. They may not be mixed in
|
||||
the same session.
|
||||
INDEX numbers 00, 02 to 99 are ignored.
|
||||
|
||||
On the other hand, ARRANGER, COMPOSER, MESSAGE are supported unconditionally.
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
@ -1288,7 +1288,12 @@ static int cue_interpret_line(struct burn_session *session, char *line,
|
||||
for (apt++; *apt == 32 || *apt == 9; apt++);
|
||||
}
|
||||
|
||||
if (strcmp(cmd, "CATALOG") == 0) {
|
||||
if (strcmp(cmd, "ARRANGER") == 0) {
|
||||
ret = cue_set_cdtext(session, crs->track, 0x84, apt, crs, 2);
|
||||
if (ret <= 0)
|
||||
goto ex;
|
||||
|
||||
} else if (strcmp(cmd, "CATALOG") == 0) {
|
||||
for (cpt = apt; (cpt - apt) < 13 && *cpt == (*cpt & 0x7f);
|
||||
cpt++);
|
||||
if ((cpt - apt) < 13) {
|
||||
@ -1322,6 +1327,11 @@ out_of_mem:;
|
||||
ret = -1; goto ex;
|
||||
}
|
||||
|
||||
} else if (strcmp(cmd, "COMPOSER") == 0) {
|
||||
ret = cue_set_cdtext(session, crs->track, 0x83, apt, crs, 2);
|
||||
if (ret <= 0)
|
||||
goto ex;
|
||||
|
||||
} else if (strcmp(cmd, "FILE") == 0) {
|
||||
if (crs->file_source != NULL) {
|
||||
libdax_msgs_submit(libdax_messenger, -1, 0x00020192,
|
||||
@ -1561,6 +1571,11 @@ overlapping_ba:;
|
||||
goto ex;
|
||||
}
|
||||
|
||||
} else if (strcmp(cmd, "MESSAGE") == 0) {
|
||||
ret = cue_set_cdtext(session, crs->track, 0x85, apt, crs, 2);
|
||||
if (ret <= 0)
|
||||
goto ex;
|
||||
|
||||
} else if (strcmp(cmd, "PERFORMER") == 0) {
|
||||
ret = cue_set_cdtext(session, crs->track, 0x81, apt, crs, 2);
|
||||
if (ret <= 0)
|
||||
|
Loading…
Reference in New Issue
Block a user