Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / wodim / cdtext.h
1 /*
2  * This file has been modified for the cdrkit suite.
3  *
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).
6  *
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.
10  *
11  */
12
13 /* @(#)cdtext.h 1.5 04/03/02 Copyright 1999-2004 J. Schilling */
14 /*
15  *      Generic CD-Text support definitions
16  *
17  *      Copyright (c) 1999-2004 J. Schilling
18  */
19 /*
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.
23  *
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.
28  *
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.
32  */
33
34 #ifndef CDTEXT_H
35 #define CDTEXT_H
36
37 /*
38  * Strings for the CD-Text Pack Type indicators 0x80...0x8F
39  * We cannot use a plain structure here because we like to loop
40  * over all members.
41  */
42 typedef struct textcodes {
43         char    *textcodes[16];
44 } textptr_t;
45
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]
56
57 #define tc_closed_info  textcodes[0x0d]
58 #define tc_isrc         textcodes[0x0e]
59
60 /*
61  *      binaere Felder sind
62  *      Disc ID                 (Wirklich ???)
63  *      Genre ID
64  *      TOC
65  *      Second TOC
66  *      Size information
67  */
68
69 /*
70  * Genre codes from Enhanced CD Specification page 21
71  */
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 */
102
103 /*
104  * Character codings used in CD-Text data.
105  * Korean and Mandarin Chinese to be defined in sept 1996
106  */
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    */
114
115
116 /*
117  * The language code is encoded as specified in ANNEX 1 to part 5 of EBU
118  * Tech 32 58 -E (1991).
119  *
120  * The current language codes are guessed
121  */
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                         */
142
143 #endif