00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00029
00030 #ifndef __CDIO_CDTEXT_H__
00031 #define __CDIO_CDTEXT_H__
00032
00033 #include <cdio/cdio.h>
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00039 #define MAX_CDTEXT_FIELDS 13
00040
00045 struct cdtext {
00046 char *field[MAX_CDTEXT_FIELDS];
00047 };
00048
00050 typedef enum {
00051 CDTEXT_ARRANGER = 0,
00052 CDTEXT_COMPOSER = 1,
00053 CDTEXT_DISCID = 2,
00054 CDTEXT_GENRE = 3,
00055 CDTEXT_MESSAGE = 4,
00056 CDTEXT_ISRC = 5,
00057 CDTEXT_PERFORMER = 6,
00058 CDTEXT_SIZE_INFO = 7,
00059 CDTEXT_SONGWRITER = 8,
00060 CDTEXT_TITLE = 9,
00061 CDTEXT_TOC_INFO = 10,
00062 CDTEXT_TOC_INFO2 = 11,
00063 CDTEXT_UPC_EAN = 12,
00064 CDTEXT_INVALID = MAX_CDTEXT_FIELDS
00065 } cdtext_field_t;
00066
00068 const char *cdtext_field2str (cdtext_field_t i);
00069
00074 void cdtext_init (cdtext_t *cdtext);
00075
00077 void cdtext_destroy (cdtext_t *cdtext);
00078
00087 char *cdtext_get (cdtext_field_t key, const cdtext_t *cdtext);
00088
00098 const char *cdtext_get_const (cdtext_field_t key, const cdtext_t *cdtext);
00099
00104 cdtext_field_t cdtext_is_keyword (const char *key);
00105
00109 void cdtext_set (cdtext_field_t key, const char *value, cdtext_t *cdtext);
00110
00111 #ifdef __cplusplus
00112 }
00113 #endif
00114
00115 #endif
00116
00117
00118
00119
00120
00121
00122
00123