libcdio
0.90
Main Page
Data Structures
Files
File List
Globals
include
cdio
cdtext.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2004, 2005, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
3
adapted from cuetools
4
Copyright (C) 2003 Svend Sanjay Sorensen <ssorensen@fastmail.fm>
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
26
27
#ifndef CDIO_CDTEXT_H_
28
#define CDIO_CDTEXT_H_
29
30
#include <
cdio/types.h
>
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
/* __cplusplus */
35
36
#define MIN_CDTEXT_FIELD 0
37
#define MAX_CDTEXT_FIELDS 10
38
40
typedef
enum
{
41
CDTEXT_FIELD_TITLE
= 0,
42
CDTEXT_FIELD_PERFORMER
= 1,
43
CDTEXT_FIELD_SONGWRITER
= 2,
44
CDTEXT_FIELD_COMPOSER
= 3,
45
CDTEXT_FIELD_MESSAGE
= 4,
46
CDTEXT_FIELD_ARRANGER
= 5,
47
CDTEXT_FIELD_ISRC
= 6,
48
CDTEXT_FIELD_UPC_EAN
= 7,
49
CDTEXT_FIELD_GENRE
= 8,
50
CDTEXT_FIELD_DISCID
= 9,
51
CDTEXT_FIELD_INVALID
=
MAX_CDTEXT_FIELDS
52
}
cdtext_field_t
;
53
55
typedef
enum
{
56
CDTEXT_GENRE_UNUSED
= 0,
57
CDTEXT_GENRE_UNDEFINED
= 1,
58
CDTEXT_GENRE_ADULT_CONTEMP
= 2,
59
CDTEXT_GENRE_ALT_ROCK
= 3,
60
CDTEXT_GENRE_CHILDRENS
= 4,
61
CDTEXT_GENRE_CLASSIC
= 5,
62
CDTEXT_GENRE_CHRIST_CONTEMP
= 6,
63
CDTEXT_GENRE_COUNTRY
= 7,
64
CDTEXT_GENRE_DANCE
= 8,
65
CDTEXT_GENRE_EASY_LISTENING
= 9,
66
CDTEXT_GENRE_EROTIC
= 10,
67
CDTEXT_GENRE_FOLK
= 11,
68
CDTEXT_GENRE_GOSPEL
= 12,
69
CDTEXT_GENRE_HIPHOP
= 13,
70
CDTEXT_GENRE_JAZZ
= 14,
71
CDTEXT_GENRE_LATIN
= 15,
72
CDTEXT_GENRE_MUSICAL
= 16,
73
CDTEXT_GENRE_NEWAGE
= 17,
74
CDTEXT_GENRE_OPERA
= 18,
75
CDTEXT_GENRE_OPERETTA
= 19,
76
CDTEXT_GENRE_POP
= 20,
77
CDTEXT_GENRE_RAP
= 21,
78
CDTEXT_GENRE_REGGAE
= 22,
79
CDTEXT_GENRE_ROCK
= 23,
80
CDTEXT_GENRE_RYTHMANDBLUES
= 24,
81
CDTEXT_GENRE_SOUNDEFFECTS
= 25,
82
CDTEXT_GENRE_SOUNDTRACK
= 26,
83
CDTEXT_GENRE_SPOKEN_WORD
= 27,
84
CDTEXT_GENRE_WORLD_MUSIC
= 28
85
}
cdtext_genre_t
;
86
92
typedef
enum
{
93
CDTEXT_LANGUAGE_UNKNOWN
= 0x00,
94
CDTEXT_LANGUAGE_ALBANIAN
= 0x01,
95
CDTEXT_LANGUAGE_BRETON
= 0x02,
96
CDTEXT_LANGUAGE_CATALAN
= 0x03,
97
CDTEXT_LANGUAGE_CROATIAN
= 0x04,
98
CDTEXT_LANGUAGE_WELSH
= 0x05,
99
CDTEXT_LANGUAGE_CZECH
= 0x06,
100
CDTEXT_LANGUAGE_DANISH
= 0x07,
101
CDTEXT_LANGUAGE_GERMAN
= 0x08,
102
CDTEXT_LANGUAGE_ENGLISH
= 0x09,
103
CDTEXT_LANGUAGE_SPANISH
= 0x0A,
104
CDTEXT_LANGUAGE_ESPERANTO
= 0x0B,
105
CDTEXT_LANGUAGE_ESTONIAN
= 0x0C,
106
CDTEXT_LANGUAGE_BASQUE
= 0x0D,
107
CDTEXT_LANGUAGE_FAROESE
= 0x0E,
108
CDTEXT_LANGUAGE_FRENCH
= 0x0F,
109
CDTEXT_LANGUAGE_FRISIAN
= 0x10,
110
CDTEXT_LANGUAGE_IRISH
= 0x11,
111
CDTEXT_LANGUAGE_GAELIC
= 0x12,
112
CDTEXT_LANGUAGE_GALICIAN
= 0x13,
113
CDTEXT_LANGUAGE_ICELANDIC
= 0x14,
114
CDTEXT_LANGUAGE_ITALIAN
= 0x15,
115
CDTEXT_LANGUAGE_LAPPISH
= 0x16,
116
CDTEXT_LANGUAGE_LATIN
= 0x17,
117
CDTEXT_LANGUAGE_LATVIAN
= 0x18,
118
CDTEXT_LANGUAGE_LUXEMBOURGIAN
= 0x19,
119
CDTEXT_LANGUAGE_LITHUANIAN
= 0x1A,
120
CDTEXT_LANGUAGE_HUNGARIAN
= 0x1B,
121
CDTEXT_LANGUAGE_MALTESE
= 0x1C,
122
CDTEXT_LANGUAGE_DUTCH
= 0x1D,
123
CDTEXT_LANGUAGE_NORWEGIAN
= 0x1E,
124
CDTEXT_LANGUAGE_OCCITAN
= 0x1F,
125
CDTEXT_LANGUAGE_POLISH
= 0x20,
126
CDTEXT_LANGUAGE_PORTUGUESE
= 0x21,
127
CDTEXT_LANGUAGE_ROMANIAN
= 0x22,
128
CDTEXT_LANGUAGE_ROMANSH
= 0x23,
129
CDTEXT_LANGUAGE_SERBIAN
= 0x24,
130
CDTEXT_LANGUAGE_SLOVAK
= 0x25,
131
CDTEXT_LANGUAGE_SLOVENIAN
= 0x26,
132
CDTEXT_LANGUAGE_FINNISH
= 0x27,
133
CDTEXT_LANGUAGE_SWEDISH
= 0x28,
134
CDTEXT_LANGUAGE_TURKISH
= 0x29,
135
CDTEXT_LANGUAGE_FLEMISH
= 0x2A,
136
CDTEXT_LANGUAGE_WALLON
= 0x2B,
137
CDTEXT_LANGUAGE_ZULU
= 0x45,
138
CDTEXT_LANGUAGE_VIETNAMESE
= 0x46,
139
CDTEXT_LANGUAGE_UZBEK
= 0x47,
140
CDTEXT_LANGUAGE_URDU
= 0x48,
141
CDTEXT_LANGUAGE_UKRAINIAN
= 0x49,
142
CDTEXT_LANGUAGE_THAI
= 0x4A,
143
CDTEXT_LANGUAGE_TELUGU
= 0x4B,
144
CDTEXT_LANGUAGE_TATAR
= 0x4C,
145
CDTEXT_LANGUAGE_TAMIL
= 0x4D,
146
CDTEXT_LANGUAGE_TADZHIK
= 0x4E,
147
CDTEXT_LANGUAGE_SWAHILI
= 0x4F,
148
CDTEXT_LANGUAGE_SRANANTONGO
= 0x50,
149
CDTEXT_LANGUAGE_SOMALI
= 0x51,
150
CDTEXT_LANGUAGE_SINHALESE
= 0x52,
151
CDTEXT_LANGUAGE_SHONA
= 0x53,
152
CDTEXT_LANGUAGE_SERBO_CROAT
= 0x54,
153
CDTEXT_LANGUAGE_RUTHENIAN
= 0x55,
154
CDTEXT_LANGUAGE_RUSSIAN
= 0x56,
155
CDTEXT_LANGUAGE_QUECHUA
= 0x57,
156
CDTEXT_LANGUAGE_PUSHTU
= 0x58,
157
CDTEXT_LANGUAGE_PUNJABI
= 0x59,
158
CDTEXT_LANGUAGE_PERSIAN
= 0x5A,
159
CDTEXT_LANGUAGE_PAPAMIENTO
= 0x5B,
160
CDTEXT_LANGUAGE_ORIYA
= 0x5C,
161
CDTEXT_LANGUAGE_NEPALI
= 0x5D,
162
CDTEXT_LANGUAGE_NDEBELE
= 0x5E,
163
CDTEXT_LANGUAGE_MARATHI
= 0x5F,
164
CDTEXT_LANGUAGE_MOLDAVIAN
= 0x60,
165
CDTEXT_LANGUAGE_MALAYSIAN
= 0x61,
166
CDTEXT_LANGUAGE_MALAGASAY
= 0x62,
167
CDTEXT_LANGUAGE_MACEDONIAN
= 0x63,
168
CDTEXT_LANGUAGE_LAOTIAN
= 0x64,
169
CDTEXT_LANGUAGE_KOREAN
= 0x65,
170
CDTEXT_LANGUAGE_KHMER
= 0x66,
171
CDTEXT_LANGUAGE_KAZAKH
= 0x67,
172
CDTEXT_LANGUAGE_KANNADA
= 0x68,
173
CDTEXT_LANGUAGE_JAPANESE
= 0x69,
174
CDTEXT_LANGUAGE_INDONESIAN
= 0x6A,
175
CDTEXT_LANGUAGE_HINDI
= 0x6B,
176
CDTEXT_LANGUAGE_HEBREW
= 0x6C,
177
CDTEXT_LANGUAGE_HAUSA
= 0x6D,
178
CDTEXT_LANGUAGE_GURANI
= 0x6E,
179
CDTEXT_LANGUAGE_GUJURATI
= 0x6F,
180
CDTEXT_LANGUAGE_GREEK
= 0x70,
181
CDTEXT_LANGUAGE_GEORGIAN
= 0x71,
182
CDTEXT_LANGUAGE_FULANI
= 0x72,
183
CDTEXT_LANGUAGE_DARI
= 0x73,
184
CDTEXT_LANGUAGE_CHURASH
= 0x74,
185
CDTEXT_LANGUAGE_CHINESE
= 0x75,
186
CDTEXT_LANGUAGE_BURMESE
= 0x76,
187
CDTEXT_LANGUAGE_BULGARIAN
= 0x77,
188
CDTEXT_LANGUAGE_BENGALI
= 0x78,
189
CDTEXT_LANGUAGE_BIELORUSSIAN
= 0x79,
190
CDTEXT_LANGUAGE_BAMBORA
= 0x7A,
191
CDTEXT_LANGUAGE_AZERBAIJANI
= 0x7B,
192
CDTEXT_LANGUAGE_ASSAMESE
= 0x7C,
193
CDTEXT_LANGUAGE_ARMENIAN
= 0x7D,
194
CDTEXT_LANGUAGE_ARABIC
= 0x7E,
195
CDTEXT_LANGUAGE_AMHARIC
= 0x7F
196
}
cdtext_lang_t
;
197
201
typedef
struct
cdtext_s
cdtext_t
;
202
206
const
char
*
cdtext_genre2str
(
cdtext_genre_t
i);
207
211
const
char
*
cdtext_lang2str
(
cdtext_lang_t
i);
212
216
const
char
*
cdtext_field2str
(
cdtext_field_t
i);
217
224
cdtext_t
*
cdtext_init
(
void
);
225
235
int
cdtext_data_init
(
cdtext_t
*p_cdtext, uint8_t *wdata,
size_t
i_data);
236
242
void
cdtext_destroy
(
cdtext_t
*p_cdtext);
243
250
char
*
cdtext_get
(
const
cdtext_t
*p_cdtext,
cdtext_field_t
key,
track_t
track);
251
262
const
char
*
cdtext_get_const
(
const
cdtext_t
*p_cdtext,
cdtext_field_t
field,
263
track_t
track);
264
270
cdtext_genre_t
cdtext_get_genre
(
const
cdtext_t
*p_cdtext);
271
277
cdtext_lang_t
cdtext_get_language
(
const
cdtext_t
*p_cdtext);
278
287
bool
cdtext_select_language
(
cdtext_t
*p_cdtext,
cdtext_lang_t
language);
288
289
/*
290
Returns a list of available languages or NULL.
291
292
Internally the list is stored in a static array.
293
294
@param p_cdtext the CD-TEXT object
295
*/
296
cdtext_lang_t
*
cdtext_list_languages
(
const
cdtext_t
*p_cdtext);
297
309
void
cdtext_set
(
cdtext_t
*p_cdtext,
cdtext_field_t
key,
const
uint8_t *value,
track_t
track,
const
char
*charset);
310
311
#ifdef __cplusplus
312
}
313
#endif
/* __cplusplus */
314
315
#endif
/* CDIO_CDTEXT_H_ */
316
317
/*
318
* Local variables:
319
* c-file-style: "gnu"
320
* tab-width: 8
321
* indent-tabs-mode: nil
322
* End:
323
*/
Generated for libcdio by
1.8.4