libcdio 2.0.0
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
33extern "C" {
34#endif /* __cplusplus */
35
36#define MIN_CDTEXT_FIELD 0
37#define MAX_CDTEXT_FIELDS 10
38
53
86
92typedef enum {
197
201typedef struct cdtext_s cdtext_t;
202
207
212
217
225
235int cdtext_data_init(cdtext_t *p_cdtext, uint8_t *wdata, size_t i_data);
236
242void cdtext_destroy (cdtext_t *p_cdtext);
243
250char *cdtext_get (const cdtext_t *p_cdtext, cdtext_field_t key, track_t track);
251
262const char *cdtext_get_const (const cdtext_t *p_cdtext, cdtext_field_t field,
263 track_t track);
264
271
278
285
292
302
303/*
304 Returns a list of available languages or NULL.
305
306 Internally the list is stored in a static array.
307
308 @param p_cdtext the CD-TEXT object
309*/
311
323void cdtext_set (cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value, track_t track, const char *charset);
324
325#ifdef __cplusplus
326}
327#endif /* __cplusplus */
328
329#endif /* CDIO_CDTEXT_H_ */
330
331/*
332 * Local variables:
333 * c-file-style: "gnu"
334 * tab-width: 8
335 * indent-tabs-mode: nil
336 * End:
337 */
const char * cdtext_field2str(cdtext_field_t i)
const char * cdtext_lang2str(cdtext_lang_t i)
cdtext_t * cdtext_init(void)
track_t cdtext_get_first_track(const cdtext_t *p_cdtext)
cdtext_lang_t
Definition cdtext.h:92
@ CDTEXT_LANGUAGE_PORTUGUESE
Definition cdtext.h:126
@ CDTEXT_LANGUAGE_HINDI
Definition cdtext.h:175
@ CDTEXT_LANGUAGE_WALLON
Definition cdtext.h:136
@ CDTEXT_LANGUAGE_CZECH
Definition cdtext.h:99
@ CDTEXT_LANGUAGE_AZERBAIJANI
Definition cdtext.h:191
@ CDTEXT_LANGUAGE_IRISH
Definition cdtext.h:110
@ CDTEXT_LANGUAGE_CHURASH
Definition cdtext.h:184
@ CDTEXT_LANGUAGE_SERBIAN
Definition cdtext.h:129
@ CDTEXT_LANGUAGE_TATAR
Definition cdtext.h:144
@ CDTEXT_LANGUAGE_UNKNOWN
Definition cdtext.h:93
@ CDTEXT_LANGUAGE_GAELIC
Definition cdtext.h:111
@ CDTEXT_LANGUAGE_ARABIC
Definition cdtext.h:194
@ CDTEXT_LANGUAGE_DANISH
Definition cdtext.h:100
@ CDTEXT_LANGUAGE_GURANI
Definition cdtext.h:178
@ CDTEXT_LANGUAGE_TURKISH
Definition cdtext.h:134
@ CDTEXT_LANGUAGE_FINNISH
Definition cdtext.h:132
@ CDTEXT_LANGUAGE_FRISIAN
Definition cdtext.h:109
@ CDTEXT_LANGUAGE_NEPALI
Definition cdtext.h:161
@ CDTEXT_LANGUAGE_SOMALI
Definition cdtext.h:149
@ CDTEXT_LANGUAGE_ITALIAN
Definition cdtext.h:114
@ CDTEXT_LANGUAGE_ARMENIAN
Definition cdtext.h:193
@ CDTEXT_LANGUAGE_LAPPISH
Definition cdtext.h:115
@ CDTEXT_LANGUAGE_HEBREW
Definition cdtext.h:176
@ CDTEXT_LANGUAGE_PUSHTU
Definition cdtext.h:156
@ CDTEXT_LANGUAGE_WELSH
Definition cdtext.h:98
@ CDTEXT_LANGUAGE_RUSSIAN
Definition cdtext.h:154
@ CDTEXT_LANGUAGE_CROATIAN
Definition cdtext.h:97
@ CDTEXT_LANGUAGE_SINHALESE
Definition cdtext.h:150
@ CDTEXT_LANGUAGE_LAOTIAN
Definition cdtext.h:168
@ CDTEXT_LANGUAGE_MOLDAVIAN
Definition cdtext.h:164
@ CDTEXT_LANGUAGE_BURMESE
Definition cdtext.h:186
@ CDTEXT_LANGUAGE_OCCITAN
Definition cdtext.h:124
@ CDTEXT_LANGUAGE_ALBANIAN
Definition cdtext.h:94
@ CDTEXT_LANGUAGE_BASQUE
Definition cdtext.h:106
@ CDTEXT_LANGUAGE_LUXEMBOURGIAN
Definition cdtext.h:118
@ CDTEXT_LANGUAGE_ROMANSH
Definition cdtext.h:128
@ CDTEXT_LANGUAGE_ASSAMESE
Definition cdtext.h:192
@ CDTEXT_LANGUAGE_PERSIAN
Definition cdtext.h:158
@ CDTEXT_LANGUAGE_SHONA
Definition cdtext.h:151
@ CDTEXT_LANGUAGE_LATVIAN
Definition cdtext.h:117
@ CDTEXT_LANGUAGE_SLOVAK
Definition cdtext.h:130
@ CDTEXT_LANGUAGE_ESPERANTO
Definition cdtext.h:104
@ CDTEXT_LANGUAGE_SLOVENIAN
Definition cdtext.h:131
@ CDTEXT_LANGUAGE_MALTESE
Definition cdtext.h:121
@ CDTEXT_LANGUAGE_BRETON
Definition cdtext.h:95
@ CDTEXT_LANGUAGE_TELUGU
Definition cdtext.h:143
@ CDTEXT_LANGUAGE_BENGALI
Definition cdtext.h:188
@ CDTEXT_LANGUAGE_SWEDISH
Definition cdtext.h:133
@ CDTEXT_LANGUAGE_MALAYSIAN
Definition cdtext.h:165
@ CDTEXT_LANGUAGE_KHMER
Definition cdtext.h:170
@ CDTEXT_LANGUAGE_ZULU
Definition cdtext.h:137
@ CDTEXT_LANGUAGE_BULGARIAN
Definition cdtext.h:187
@ CDTEXT_LANGUAGE_PUNJABI
Definition cdtext.h:157
@ CDTEXT_LANGUAGE_ENGLISH
Definition cdtext.h:102
@ CDTEXT_LANGUAGE_SRANANTONGO
Definition cdtext.h:148
@ CDTEXT_LANGUAGE_FULANI
Definition cdtext.h:182
@ CDTEXT_LANGUAGE_CATALAN
Definition cdtext.h:96
@ CDTEXT_LANGUAGE_RUTHENIAN
Definition cdtext.h:153
@ CDTEXT_LANGUAGE_GUJURATI
Definition cdtext.h:179
@ CDTEXT_LANGUAGE_AMHARIC
Definition cdtext.h:195
@ CDTEXT_LANGUAGE_FRENCH
Definition cdtext.h:108
@ CDTEXT_LANGUAGE_SPANISH
Definition cdtext.h:103
@ CDTEXT_LANGUAGE_NORWEGIAN
Definition cdtext.h:123
@ CDTEXT_LANGUAGE_FLEMISH
Definition cdtext.h:135
@ CDTEXT_LANGUAGE_URDU
Definition cdtext.h:140
@ CDTEXT_LANGUAGE_ORIYA
Definition cdtext.h:160
@ CDTEXT_LANGUAGE_KAZAKH
Definition cdtext.h:171
@ CDTEXT_LANGUAGE_FAROESE
Definition cdtext.h:107
@ CDTEXT_LANGUAGE_VIETNAMESE
Definition cdtext.h:138
@ CDTEXT_LANGUAGE_ICELANDIC
Definition cdtext.h:113
@ CDTEXT_LANGUAGE_HAUSA
Definition cdtext.h:177
@ CDTEXT_LANGUAGE_JAPANESE
Definition cdtext.h:173
@ CDTEXT_LANGUAGE_BIELORUSSIAN
Definition cdtext.h:189
@ CDTEXT_LANGUAGE_BAMBORA
Definition cdtext.h:190
@ CDTEXT_LANGUAGE_THAI
Definition cdtext.h:142
@ CDTEXT_LANGUAGE_ESTONIAN
Definition cdtext.h:105
@ CDTEXT_LANGUAGE_PAPAMIENTO
Definition cdtext.h:159
@ CDTEXT_LANGUAGE_ROMANIAN
Definition cdtext.h:127
@ CDTEXT_LANGUAGE_DARI
Definition cdtext.h:183
@ CDTEXT_LANGUAGE_MALAGASAY
Definition cdtext.h:166
@ CDTEXT_LANGUAGE_POLISH
Definition cdtext.h:125
@ CDTEXT_LANGUAGE_GEORGIAN
Definition cdtext.h:181
@ CDTEXT_LANGUAGE_UKRAINIAN
Definition cdtext.h:141
@ CDTEXT_LANGUAGE_QUECHUA
Definition cdtext.h:155
@ CDTEXT_LANGUAGE_LITHUANIAN
Definition cdtext.h:119
@ CDTEXT_LANGUAGE_GALICIAN
Definition cdtext.h:112
@ CDTEXT_LANGUAGE_UZBEK
Definition cdtext.h:139
@ CDTEXT_LANGUAGE_INDONESIAN
Definition cdtext.h:174
@ CDTEXT_LANGUAGE_CHINESE
Definition cdtext.h:185
@ CDTEXT_LANGUAGE_SWAHILI
Definition cdtext.h:147
@ CDTEXT_LANGUAGE_LATIN
Definition cdtext.h:116
@ CDTEXT_LANGUAGE_MARATHI
Definition cdtext.h:163
@ CDTEXT_LANGUAGE_SERBO_CROAT
Definition cdtext.h:152
@ CDTEXT_LANGUAGE_GREEK
Definition cdtext.h:180
@ CDTEXT_LANGUAGE_HUNGARIAN
Definition cdtext.h:120
@ CDTEXT_LANGUAGE_KOREAN
Definition cdtext.h:169
@ CDTEXT_LANGUAGE_NDEBELE
Definition cdtext.h:162
@ CDTEXT_LANGUAGE_TADZHIK
Definition cdtext.h:146
@ CDTEXT_LANGUAGE_DUTCH
Definition cdtext.h:122
@ CDTEXT_LANGUAGE_GERMAN
Definition cdtext.h:101
@ CDTEXT_LANGUAGE_KANNADA
Definition cdtext.h:172
@ CDTEXT_LANGUAGE_TAMIL
Definition cdtext.h:145
@ CDTEXT_LANGUAGE_MACEDONIAN
Definition cdtext.h:167
bool cdtext_select_language(cdtext_t *p_cdtext, cdtext_lang_t language)
cdtext_genre_t cdtext_get_genre(const cdtext_t *p_cdtext)
cdtext_lang_t cdtext_get_language(const cdtext_t *p_cdtext)
int cdtext_data_init(cdtext_t *p_cdtext, uint8_t *wdata, size_t i_data)
track_t cdtext_get_last_track(const cdtext_t *p_cdtext)
const char * cdtext_get_const(const cdtext_t *p_cdtext, cdtext_field_t field, track_t track)
#define MAX_CDTEXT_FIELDS
Definition cdtext.h:37
void cdtext_destroy(cdtext_t *p_cdtext)
struct cdtext_s cdtext_t
Definition cdtext.h:201
char * cdtext_get(const cdtext_t *p_cdtext, cdtext_field_t key, track_t track)
cdtext_lang_t * cdtext_list_languages(const cdtext_t *p_cdtext)
void cdtext_set(cdtext_t *p_cdtext, cdtext_field_t key, const uint8_t *value, track_t track, const char *charset)
const char * cdtext_genre2str(cdtext_genre_t i)
cdtext_field_t
Definition cdtext.h:40
@ CDTEXT_FIELD_GENRE
Definition cdtext.h:49
@ CDTEXT_FIELD_DISCID
Definition cdtext.h:50
@ CDTEXT_FIELD_INVALID
Definition cdtext.h:51
@ CDTEXT_FIELD_ARRANGER
Definition cdtext.h:46
@ CDTEXT_FIELD_COMPOSER
Definition cdtext.h:44
@ CDTEXT_FIELD_UPC_EAN
Definition cdtext.h:48
@ CDTEXT_FIELD_PERFORMER
Definition cdtext.h:42
@ CDTEXT_FIELD_SONGWRITER
Definition cdtext.h:43
@ CDTEXT_FIELD_ISRC
Definition cdtext.h:47
@ CDTEXT_FIELD_MESSAGE
Definition cdtext.h:45
@ CDTEXT_FIELD_TITLE
Definition cdtext.h:41
cdtext_genre_t
Definition cdtext.h:55
@ CDTEXT_GENRE_SPOKEN_WORD
Definition cdtext.h:83
@ CDTEXT_GENRE_EASY_LISTENING
Definition cdtext.h:65
@ CDTEXT_GENRE_ALT_ROCK
Definition cdtext.h:59
@ CDTEXT_GENRE_CHILDRENS
Definition cdtext.h:60
@ CDTEXT_GENRE_RAP
Definition cdtext.h:77
@ CDTEXT_GENRE_WORLD_MUSIC
Definition cdtext.h:84
@ CDTEXT_GENRE_EROTIC
Definition cdtext.h:66
@ CDTEXT_GENRE_DANCE
Definition cdtext.h:64
@ CDTEXT_GENRE_FOLK
Definition cdtext.h:67
@ CDTEXT_GENRE_NEWAGE
Definition cdtext.h:73
@ CDTEXT_GENRE_CLASSIC
Definition cdtext.h:61
@ CDTEXT_GENRE_CHRIST_CONTEMP
Definition cdtext.h:62
@ CDTEXT_GENRE_COUNTRY
Definition cdtext.h:63
@ CDTEXT_GENRE_REGGAE
Definition cdtext.h:78
@ CDTEXT_GENRE_JAZZ
Definition cdtext.h:70
@ CDTEXT_GENRE_SOUNDTRACK
Definition cdtext.h:82
@ CDTEXT_GENRE_GOSPEL
Definition cdtext.h:68
@ CDTEXT_GENRE_POP
Definition cdtext.h:76
@ CDTEXT_GENRE_LATIN
Definition cdtext.h:71
@ CDTEXT_GENRE_MUSICAL
Definition cdtext.h:72
@ CDTEXT_GENRE_OPERA
Definition cdtext.h:74
@ CDTEXT_GENRE_UNUSED
Definition cdtext.h:56
@ CDTEXT_GENRE_ADULT_CONTEMP
Definition cdtext.h:58
@ CDTEXT_GENRE_ROCK
Definition cdtext.h:79
@ CDTEXT_GENRE_SOUNDEFFECTS
Definition cdtext.h:81
@ CDTEXT_GENRE_UNDEFINED
Definition cdtext.h:57
@ CDTEXT_GENRE_RYTHMANDBLUES
Definition cdtext.h:80
@ CDTEXT_GENRE_OPERETTA
Definition cdtext.h:75
@ CDTEXT_GENRE_HIPHOP
Definition cdtext.h:69
Common type definitions used pervasively in libcdio.
uint8_t track_t
Definition types.h:276

Generated for libcdio by doxygen 1.9.8