Implemented cue sheet file commands ARRANGER, COMPOSER, MESSAGE
This commit is contained in:
parent
f865509ab0
commit
c40d953e9a
@ -508,9 +508,11 @@ To enable CD-TEXT from the cue sheet file, cdrskin option -text has to be
|
|||||||
present.
|
present.
|
||||||
.br
|
.br
|
||||||
cdrskin currently supports TRACK datatypes AUDIO and MODE1/2048 which may
|
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.
|
is interpreted yet. Data source may be of FILE type BINARY or MOTOROLA.
|
||||||
.br
|
.br
|
||||||
|
Non-CDRWIN commands ARRANGER, COMPOSER, MESSAGE are supported.
|
||||||
|
.br
|
||||||
Cue sheet file commands CATALOG and ISRC may be overridden by option mcn=
|
Cue sheet file commands CATALOG and ISRC may be overridden by option mcn=
|
||||||
and by input_sheet_v07t= purpose specifiers "UPC / EAN" and "ISRC".
|
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.
|
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 http://digitalx.org/cue-sheet/syntax
|
||||||
by reading source of libcdio from http://www.gnu.org/s/libcdio
|
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
|
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
|
Language codes were learned from http://tech.ebu.ch/docs/tech/tech3264.pdf
|
||||||
Genre codes were learned from libcdio and confirmed by
|
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).
|
(TRACK) and track start addresses (INDEX 01).
|
||||||
The rules for CDRWIN cue sheet files are described at
|
The rules for CDRWIN cue sheet files are described at
|
||||||
http://digitalx.org/cue-sheet/syntax/
|
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 :
|
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():
|
Several restrictions apply in the libburn call burn_session_by_cue_file():
|
||||||
|
|
||||||
Commands POSTGAP, PREGAP are ignored. Only FILE types BINARY, MOTOROLA are
|
Commands POSTGAP, PREGAP are ignored.
|
||||||
allowed. Only TRACK datatypes AUDIO, MODE1/2048 are allowed. They may not
|
Only FILE types BINARY, MOTOROLA are allowed.
|
||||||
be mixed in the same session. INDEX numbers 00, 02 to 99 are ignored.
|
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++);
|
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);
|
for (cpt = apt; (cpt - apt) < 13 && *cpt == (*cpt & 0x7f);
|
||||||
cpt++);
|
cpt++);
|
||||||
if ((cpt - apt) < 13) {
|
if ((cpt - apt) < 13) {
|
||||||
@ -1322,6 +1327,11 @@ out_of_mem:;
|
|||||||
ret = -1; goto ex;
|
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) {
|
} else if (strcmp(cmd, "FILE") == 0) {
|
||||||
if (crs->file_source != NULL) {
|
if (crs->file_source != NULL) {
|
||||||
libdax_msgs_submit(libdax_messenger, -1, 0x00020192,
|
libdax_msgs_submit(libdax_messenger, -1, 0x00020192,
|
||||||
@ -1561,6 +1571,11 @@ overlapping_ba:;
|
|||||||
goto ex;
|
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) {
|
} else if (strcmp(cmd, "PERFORMER") == 0) {
|
||||||
ret = cue_set_cdtext(session, crs->track, 0x81, apt, crs, 2);
|
ret = cue_set_cdtext(session, crs->track, 0x81, apt, crs, 2);
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user