Fixed that CD-Text from cdrdao toc was shifted one track forward.

This commit is contained in:
Leon Merten Lohse
2012-03-27 17:45:09 +02:00
parent d7d488f816
commit 3940726aa7
3 changed files with 103 additions and 105 deletions

View File

@@ -39,7 +39,7 @@ print_cdtext_track_info(cdtext_t *cdtext, track_t i_track) {
for (i=0; i < MAX_CDTEXT_FIELDS; i++) { for (i=0; i < MAX_CDTEXT_FIELDS; i++) {
if (cdtext_get_const(cdtext, i, i_track)) { if (cdtext_get_const(cdtext, i, i_track)) {
printf("\t%s: %s\n", cdtext_field2str(i), printf("\t%s: %s\n", cdtext_field2str(i),
cdtext_get_const(cdtext, i, i_track)); cdtext_get_const(cdtext, i, i_track));
} }
} }
@@ -80,7 +80,8 @@ print_disc_info(CdIo_t *p_cdio) {
if(cdtext_select_language(cdtext, EXAMPLE_PREF_LANG)) { if(cdtext_select_language(cdtext, EXAMPLE_PREF_LANG)) {
printf("%s selected.\n", cdtext_lang2str (EXAMPLE_PREF_LANG)); printf("%s selected.\n", cdtext_lang2str (EXAMPLE_PREF_LANG));
} else { } else {
printf("'%s' is not available. Using '%s'\n", EXAMPLE_PREF_LANG, printf("'%s' is not available. Using '%s'\n",
cdtext_lang2str (EXAMPLE_PREF_LANG),
cdtext_lang2str (cdtext_get_language (cdtext))); cdtext_lang2str (cdtext_get_language (cdtext)));
} }
@@ -88,7 +89,7 @@ print_disc_info(CdIo_t *p_cdio) {
printf("CD-Text for Disc:\n"); printf("CD-Text for Disc:\n");
print_cdtext_track_info(cdtext, 0); print_cdtext_track_info(cdtext, 0);
for (i=i_first_track ; i < i_last_track; i++ ) { for (i=i_first_track ; i < i_last_track; i++ ) {
printf("CD-Text for Track %d\n:", i); printf("CD-Text for Track %d:\n", i);
print_cdtext_track_info(cdtext, i); print_cdtext_track_info(cdtext, i);
} }
} }

View File

@@ -89,109 +89,109 @@ typedef enum {
* Tech 32 58 -E (1991). * Tech 32 58 -E (1991).
*/ */
typedef enum { typedef enum {
CDTEXT_LANGUAGE_UNKNOWN = 0x00, CDTEXT_LANGUAGE_UNKNOWN = 0x00,
CDTEXT_LANGUAGE_ALBANIAN = 0x01, CDTEXT_LANGUAGE_ALBANIAN = 0x01,
CDTEXT_LANGUAGE_BRETON = 0x02, CDTEXT_LANGUAGE_BRETON = 0x02,
CDTEXT_LANGUAGE_CATALAN = 0x03, CDTEXT_LANGUAGE_CATALAN = 0x03,
CDTEXT_LANGUAGE_CROATIAN = 0x04, CDTEXT_LANGUAGE_CROATIAN = 0x04,
CDTEXT_LANGUAGE_WELSH = 0x05, CDTEXT_LANGUAGE_WELSH = 0x05,
CDTEXT_LANGUAGE_CZECH = 0x06, CDTEXT_LANGUAGE_CZECH = 0x06,
CDTEXT_LANGUAGE_DANISH = 0x07, CDTEXT_LANGUAGE_DANISH = 0x07,
CDTEXT_LANGUAGE_GERMAN = 0x08, CDTEXT_LANGUAGE_GERMAN = 0x08,
CDTEXT_LANGUAGE_ENGLISH = 0x09, CDTEXT_LANGUAGE_ENGLISH = 0x09,
CDTEXT_LANGUAGE_SPANISH = 0x0A, CDTEXT_LANGUAGE_SPANISH = 0x0A,
CDTEXT_LANGUAGE_ESPERANTO = 0x0B, CDTEXT_LANGUAGE_ESPERANTO = 0x0B,
CDTEXT_LANGUAGE_ESTONIAN = 0x0C, CDTEXT_LANGUAGE_ESTONIAN = 0x0C,
CDTEXT_LANGUAGE_BASQUE = 0x0D, CDTEXT_LANGUAGE_BASQUE = 0x0D,
CDTEXT_LANGUAGE_FAROESE = 0x0E, CDTEXT_LANGUAGE_FAROESE = 0x0E,
CDTEXT_LANGUAGE_FRENCH = 0x0F, CDTEXT_LANGUAGE_FRENCH = 0x0F,
CDTEXT_LANGUAGE_FRISIAN = 0x10, CDTEXT_LANGUAGE_FRISIAN = 0x10,
CDTEXT_LANGUAGE_IRISH = 0x11, CDTEXT_LANGUAGE_IRISH = 0x11,
CDTEXT_LANGUAGE_GAELIC = 0x12, CDTEXT_LANGUAGE_GAELIC = 0x12,
CDTEXT_LANGUAGE_GALICIAN = 0x13, CDTEXT_LANGUAGE_GALICIAN = 0x13,
CDTEXT_LANGUAGE_ICELANDIC = 0x14, CDTEXT_LANGUAGE_ICELANDIC = 0x14,
CDTEXT_LANGUAGE_ITALIAN = 0x15, CDTEXT_LANGUAGE_ITALIAN = 0x15,
CDTEXT_LANGUAGE_LAPPISH = 0x16, CDTEXT_LANGUAGE_LAPPISH = 0x16,
CDTEXT_LANGUAGE_LATIN = 0x17, CDTEXT_LANGUAGE_LATIN = 0x17,
CDTEXT_LANGUAGE_LATVIAN = 0x18, CDTEXT_LANGUAGE_LATVIAN = 0x18,
CDTEXT_LANGUAGE_LUXEMBOURGIAN = 0x19, CDTEXT_LANGUAGE_LUXEMBOURGIAN = 0x19,
CDTEXT_LANGUAGE_LITHUANIAN = 0x1A, CDTEXT_LANGUAGE_LITHUANIAN = 0x1A,
CDTEXT_LANGUAGE_HUNGARIAN = 0x1B, CDTEXT_LANGUAGE_HUNGARIAN = 0x1B,
CDTEXT_LANGUAGE_MALTESE = 0x1C, CDTEXT_LANGUAGE_MALTESE = 0x1C,
CDTEXT_LANGUAGE_DUTCH = 0x1D, CDTEXT_LANGUAGE_DUTCH = 0x1D,
CDTEXT_LANGUAGE_NORWEGIAN = 0x1E, CDTEXT_LANGUAGE_NORWEGIAN = 0x1E,
CDTEXT_LANGUAGE_OCCITAN = 0x1F, CDTEXT_LANGUAGE_OCCITAN = 0x1F,
CDTEXT_LANGUAGE_POLISH = 0x20, CDTEXT_LANGUAGE_POLISH = 0x20,
CDTEXT_LANGUAGE_PORTUGUESE = 0x21, CDTEXT_LANGUAGE_PORTUGUESE = 0x21,
CDTEXT_LANGUAGE_ROMANIAN = 0x22, CDTEXT_LANGUAGE_ROMANIAN = 0x22,
CDTEXT_LANGUAGE_ROMANSH = 0x23, CDTEXT_LANGUAGE_ROMANSH = 0x23,
CDTEXT_LANGUAGE_SERBIAN = 0x24, CDTEXT_LANGUAGE_SERBIAN = 0x24,
CDTEXT_LANGUAGE_SLOVAK = 0x25, CDTEXT_LANGUAGE_SLOVAK = 0x25,
CDTEXT_LANGUAGE_SLOVENIAN = 0x26, CDTEXT_LANGUAGE_SLOVENIAN = 0x26,
CDTEXT_LANGUAGE_FINNISH = 0x27, CDTEXT_LANGUAGE_FINNISH = 0x27,
CDTEXT_LANGUAGE_SWEDISH = 0x28, CDTEXT_LANGUAGE_SWEDISH = 0x28,
CDTEXT_LANGUAGE_TURKISH = 0x29, CDTEXT_LANGUAGE_TURKISH = 0x29,
CDTEXT_LANGUAGE_FLEMISH = 0x2A, CDTEXT_LANGUAGE_FLEMISH = 0x2A,
CDTEXT_LANGUAGE_WALLON = 0x2B, CDTEXT_LANGUAGE_WALLON = 0x2B,
CDTEXT_LANGUAGE_ZULU = 0x45, CDTEXT_LANGUAGE_ZULU = 0x45,
CDTEXT_LANGUAGE_VIETNAMESE = 0x46, CDTEXT_LANGUAGE_VIETNAMESE = 0x46,
CDTEXT_LANGUAGE_UZBEK = 0x47, CDTEXT_LANGUAGE_UZBEK = 0x47,
CDTEXT_LANGUAGE_URDU = 0x48, CDTEXT_LANGUAGE_URDU = 0x48,
CDTEXT_LANGUAGE_UKRAINIAN = 0x49, CDTEXT_LANGUAGE_UKRAINIAN = 0x49,
CDTEXT_LANGUAGE_THAI = 0x4A, CDTEXT_LANGUAGE_THAI = 0x4A,
CDTEXT_LANGUAGE_TELUGU = 0x4B, CDTEXT_LANGUAGE_TELUGU = 0x4B,
CDTEXT_LANGUAGE_TATAR = 0x4C, CDTEXT_LANGUAGE_TATAR = 0x4C,
CDTEXT_LANGUAGE_TAMIL = 0x4D, CDTEXT_LANGUAGE_TAMIL = 0x4D,
CDTEXT_LANGUAGE_TADZHIK = 0x4E, CDTEXT_LANGUAGE_TADZHIK = 0x4E,
CDTEXT_LANGUAGE_SWAHILI = 0x4F, CDTEXT_LANGUAGE_SWAHILI = 0x4F,
CDTEXT_LANGUAGE_SRANANTONGO = 0x50, CDTEXT_LANGUAGE_SRANANTONGO = 0x50,
CDTEXT_LANGUAGE_SOMALI = 0x51, CDTEXT_LANGUAGE_SOMALI = 0x51,
CDTEXT_LANGUAGE_SINHALESE = 0x52, CDTEXT_LANGUAGE_SINHALESE = 0x52,
CDTEXT_LANGUAGE_SHONA = 0x53, CDTEXT_LANGUAGE_SHONA = 0x53,
CDTEXT_LANGUAGE_SERBO_CROAT = 0x54, CDTEXT_LANGUAGE_SERBO_CROAT = 0x54,
CDTEXT_LANGUAGE_RUTHENIAN = 0x55, CDTEXT_LANGUAGE_RUTHENIAN = 0x55,
CDTEXT_LANGUAGE_RUSSIAN = 0x56, CDTEXT_LANGUAGE_RUSSIAN = 0x56,
CDTEXT_LANGUAGE_QUECHUA = 0x57, CDTEXT_LANGUAGE_QUECHUA = 0x57,
CDTEXT_LANGUAGE_PUSHTU = 0x58, CDTEXT_LANGUAGE_PUSHTU = 0x58,
CDTEXT_LANGUAGE_PUNJABI = 0x59, CDTEXT_LANGUAGE_PUNJABI = 0x59,
CDTEXT_LANGUAGE_PERSIAN = 0x5A, CDTEXT_LANGUAGE_PERSIAN = 0x5A,
CDTEXT_LANGUAGE_PAPAMIENTO = 0x5B, CDTEXT_LANGUAGE_PAPAMIENTO = 0x5B,
CDTEXT_LANGUAGE_ORIYA = 0x5C, CDTEXT_LANGUAGE_ORIYA = 0x5C,
CDTEXT_LANGUAGE_NEPALI = 0x5D, CDTEXT_LANGUAGE_NEPALI = 0x5D,
CDTEXT_LANGUAGE_NDEBELE = 0x5E, CDTEXT_LANGUAGE_NDEBELE = 0x5E,
CDTEXT_LANGUAGE_MARATHI = 0x5F, CDTEXT_LANGUAGE_MARATHI = 0x5F,
CDTEXT_LANGUAGE_MOLDAVIAN = 0x60, CDTEXT_LANGUAGE_MOLDAVIAN = 0x60,
CDTEXT_LANGUAGE_MALAYSIAN = 0x61, CDTEXT_LANGUAGE_MALAYSIAN = 0x61,
CDTEXT_LANGUAGE_MALAGASAY = 0x62, CDTEXT_LANGUAGE_MALAGASAY = 0x62,
CDTEXT_LANGUAGE_MACEDONIAN = 0x63, CDTEXT_LANGUAGE_MACEDONIAN = 0x63,
CDTEXT_LANGUAGE_LAOTIAN = 0x64, CDTEXT_LANGUAGE_LAOTIAN = 0x64,
CDTEXT_LANGUAGE_KOREAN = 0x65, CDTEXT_LANGUAGE_KOREAN = 0x65,
CDTEXT_LANGUAGE_KHMER = 0x66, CDTEXT_LANGUAGE_KHMER = 0x66,
CDTEXT_LANGUAGE_KAZAKH = 0x67, CDTEXT_LANGUAGE_KAZAKH = 0x67,
CDTEXT_LANGUAGE_KANNADA = 0x68, CDTEXT_LANGUAGE_KANNADA = 0x68,
CDTEXT_LANGUAGE_JAPANESE = 0x69, CDTEXT_LANGUAGE_JAPANESE = 0x69,
CDTEXT_LANGUAGE_INDONESIAN = 0x6A, CDTEXT_LANGUAGE_INDONESIAN = 0x6A,
CDTEXT_LANGUAGE_HINDI = 0x6B, CDTEXT_LANGUAGE_HINDI = 0x6B,
CDTEXT_LANGUAGE_HEBREW = 0x6C, CDTEXT_LANGUAGE_HEBREW = 0x6C,
CDTEXT_LANGUAGE_HAUSA = 0x6D, CDTEXT_LANGUAGE_HAUSA = 0x6D,
CDTEXT_LANGUAGE_GURANI = 0x6E, CDTEXT_LANGUAGE_GURANI = 0x6E,
CDTEXT_LANGUAGE_GUJURATI = 0x6F, CDTEXT_LANGUAGE_GUJURATI = 0x6F,
CDTEXT_LANGUAGE_GREEK = 0x70, CDTEXT_LANGUAGE_GREEK = 0x70,
CDTEXT_LANGUAGE_GEORGIAN = 0x71, CDTEXT_LANGUAGE_GEORGIAN = 0x71,
CDTEXT_LANGUAGE_FULANI = 0x72, CDTEXT_LANGUAGE_FULANI = 0x72,
CDTEXT_LANGUAGE_DARI = 0x73, CDTEXT_LANGUAGE_DARI = 0x73,
CDTEXT_LANGUAGE_CHURASH = 0x74, CDTEXT_LANGUAGE_CHURASH = 0x74,
CDTEXT_LANGUAGE_CHINESE = 0x75, CDTEXT_LANGUAGE_CHINESE = 0x75,
CDTEXT_LANGUAGE_BURMESE = 0x76, CDTEXT_LANGUAGE_BURMESE = 0x76,
CDTEXT_LANGUAGE_BULGARIAN = 0x77, CDTEXT_LANGUAGE_BULGARIAN = 0x77,
CDTEXT_LANGUAGE_BENGALI = 0x78, CDTEXT_LANGUAGE_BENGALI = 0x78,
CDTEXT_LANGUAGE_BIELORUSSIAN = 0x79, CDTEXT_LANGUAGE_BIELORUSSIAN = 0x79,
CDTEXT_LANGUAGE_BAMBORA = 0x7A, CDTEXT_LANGUAGE_BAMBORA = 0x7A,
CDTEXT_LANGUAGE_AZERBAIJANI = 0x7B, CDTEXT_LANGUAGE_AZERBAIJANI = 0x7B,
CDTEXT_LANGUAGE_ASSAMESE = 0x7C, CDTEXT_LANGUAGE_ASSAMESE = 0x7C,
CDTEXT_LANGUAGE_ARMENIAN = 0x7D, CDTEXT_LANGUAGE_ARMENIAN = 0x7D,
CDTEXT_LANGUAGE_ARABIC = 0x7E, CDTEXT_LANGUAGE_ARABIC = 0x7E,
CDTEXT_LANGUAGE_AMHARIC = 0x7F CDTEXT_LANGUAGE_AMHARIC = 0x7F
} cdtext_lang_t; } cdtext_lang_t;
/*! /*!

View File

@@ -937,9 +937,6 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
} else if (0 == strcmp ("LANGUAGE_MAP", psz_keyword)) { } else if (0 == strcmp ("LANGUAGE_MAP", psz_keyword)) {
/* LANGUAGE d { ... } */ /* LANGUAGE d { ... } */
} else if (0 == strcmp ("LANGUAGE", psz_keyword)) { } else if (0 == strcmp ("LANGUAGE", psz_keyword)) {
if (NULL == (psz_field = strtok (NULL, " \t\n\r"))) {
goto format_error;
}
/* Language number */ /* Language number */
if (NULL == (psz_field = strtok (NULL, " \t\n\r"))) { if (NULL == (psz_field = strtok (NULL, " \t\n\r"))) {
goto format_error; goto format_error;
@@ -960,7 +957,7 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
cd->gen.cdtext->block[cd->gen.cdtext->block_i].language_code = CDTEXT_LANGUAGE_ENGLISH; cd->gen.cdtext->block[cd->gen.cdtext->block_i].language_code = CDTEXT_LANGUAGE_ENGLISH;
} }
cdtext_set (cd->gen.cdtext, cdtext_key, (uint8_t*) strtok (NULL, "\"\t\n\r"), cdtext_set (cd->gen.cdtext, cdtext_key, (uint8_t*) strtok (NULL, "\"\t\n\r"),
(-1 == i ? 0 : cd->gen.i_first_track + i + 1), (-1 == i ? 0 : cd->gen.i_first_track + i),
"ISO-8859-1"); "ISO-8859-1");
} }