2 * This file has been modified for the cdrkit suite.
4 * The behaviour and appearence of the program code below can differ to a major
5 * extent from the version distributed by the original author(s).
7 * For details, see Changelog file distributed with the cdrkit package. If you
8 * received this file from another source then ask the distributing person for
9 * a log of modifications.
13 /* @(#)cdtext.h 1.5 04/03/02 Copyright 1999-2004 J. Schilling */
15 * Generic CD-Text support definitions
17 * Copyright (c) 1999-2004 J. Schilling
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License version 2
22 * as published by the Free Software Foundation.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License along with
30 * this program; see the file COPYING. If not, write to the Free Software
31 * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
38 * Strings for the CD-Text Pack Type indicators 0x80...0x8F
39 * We cannot use a plain structure here because we like to loop
42 typedef struct textcodes {
46 #define tc_title textcodes[0x00]
47 #define tc_performer textcodes[0x01]
48 #define tc_songwriter textcodes[0x02]
49 #define tc_composer textcodes[0x03]
50 #define tc_arranger textcodes[0x04]
51 #define tc_message textcodes[0x05]
52 #define tc_diskid textcodes[0x06]
53 #define tc_genre textcodes[0x07]
54 #define tc_toc textcodes[0x08]
55 #define tc_toc2 textcodes[0x09]
57 #define tc_closed_info textcodes[0x0d]
58 #define tc_isrc textcodes[0x0e]
62 * Disc ID (Wirklich ???)
70 * Genre codes from Enhanced CD Specification page 21
72 #define GENRE_UNUSED 0 /* not used */
73 #define GENRE_UNDEFINED 1 /* not defined */
74 #define GENRE_ADULT_CONTEMP 2 /* Adult Contemporary */
75 #define GENRE_ALT_ROCK 3 /* Alternative Rock */
76 #define GENRE_CHILDRENS 4 /* Childrens Music */
77 #define GENRE_CLASSIC 5 /* Classical */
78 #define GENRE_CHRIST_CONTEMP 6 /* Contemporary Christian */
79 #define GENRE_COUNTRY 7 /* Country */
80 #define GENRE_DANCE 8 /* Dance */
81 #define GENRE_EASY_LISTENING 9 /* Easy Listening */
82 #define GENRE_EROTIC 10 /* Erotic */
83 #define GENRE_FOLK 11 /* Folk */
84 #define GENRE_GOSPEL 12 /* Gospel */
85 #define GENRE_HIPHOP 13 /* Hip Hop */
86 #define GENRE_JAZZ 14 /* Jazz */
87 #define GENRE_LATIN 15 /* Latin */
88 #define GENRE_MUSICAL 16 /* Musical */
89 #define GENRE_NEWAGE 17 /* New Age */
90 #define GENRE_OPERA 18 /* Opera */
91 #define GENRE_OPERETTA 19 /* Operetta */
92 #define GENRE_POP 20 /* Pop Music */
93 #define GENRE_RAP 21 /* RAP */
94 #define GENRE_REGGAE 22 /* Reggae */
95 #define GENRE_ROCK 23 /* Rock Music */
96 #define GENRE_RYTHMANDBLUES 24 /* Rhythm & Blues */
97 #define GENRE_SOUNDEFFECTS 25 /* Sound Effects */
98 #define GENRE_SPOKEN_WORD 26 /* Spoken Word */
99 #define GENRE_WORLD_MUSIC 28 /* World Music */
100 #define GENRE_RESERVED 29 /* Reserved is 29..32767 */
101 #define GENRE_RIAA 32768 /* Registration by RIAA 32768..65535 */
104 * Character codings used in CD-Text data.
105 * Korean and Mandarin Chinese to be defined in sept 1996
107 #define CC_8859_1 0x00 /* ISO 8859-1 */
108 #define CC_ASCII 0x01 /* ISO 646, ASCII (7 bit) */
109 #define CC_RESERVED_02 0x02 /* Reserved codes 0x02..0x7f */
110 #define CC_KANJI 0x80 /* Music Shift-JIS Kanji */
111 #define CC_KOREAN 0x81 /* Korean */
112 #define CC_CHINESE 0x82 /* Mandarin Chinese */
113 #define CC_RESERVED_83 0x83 /* Reserved codes 0x83..0xFF */
117 * The language code is encoded as specified in ANNEX 1 to part 5 of EBU
118 * Tech 32 58 -E (1991).
120 * The current language codes are guessed
122 #define LANG_CZECH 6 /* 0x06 */
123 #define LANG_DANISH 7 /* 0x07 */
124 #define LANG_GERMAN 8 /* 0x08 */
125 #define LANG_ENGLISH 9 /* 0x09 */
126 #define LANG_SPANISH 10 /* 0x0A */
127 #define LANG_FRENCH 15 /* 0x0F */
128 #define LANG_ITALIAN 21 /* 0x15 */
129 #define LANG_HUNGARIAN 27 /* 0x1B */
130 #define LANG_DUTCH 29 /* 0x1D */
131 #define LANG_NORWEGIAN 30 /* 0x1E */
132 #define LANG_POLISH 32 /* 0x20 */
133 #define LANG_PORTUGUESE 33 /* 0x21 */
134 #define LANG_SLOVENE 38 /* 0x26 */
135 #define LANG_FINNISH 39 /* 0x27 */
136 #define LANG_SWEDISH 40 /* 0x28 */
137 #define LANG_RUSSIAN 86 /* 0x56 */
138 #define LANG_KOREAN 101 /* 0x65 */
139 #define LANG_JAPANESE 105 /* 0x69 */
140 #define LANG_GREEK 112 /* 0x70 */
141 #define LANG_CHINESE 117 /* 0x75 */