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 #define MIN_CDTEXT_FIELD 0
00041
00046 struct cdtext {
00047 char *field[MAX_CDTEXT_FIELDS];
00048 };
00049
00053 typedef enum {
00054 CDTEXT_ARRANGER = 0,
00055 CDTEXT_COMPOSER = 1,
00056 CDTEXT_DISCID = 2,
00057 CDTEXT_GENRE = 3,
00058 CDTEXT_MESSAGE = 4,
00059 CDTEXT_ISRC = 5,
00060 CDTEXT_PERFORMER = 6,
00061 CDTEXT_SIZE_INFO = 7,
00062 CDTEXT_SONGWRITER = 8,
00063 CDTEXT_TITLE = 9,
00064 CDTEXT_TOC_INFO = 10,
00065 CDTEXT_TOC_INFO2 = 11,
00066 CDTEXT_UPC_EAN = 12,
00067 CDTEXT_INVALID = MAX_CDTEXT_FIELDS
00068 } cdtext_field_t;
00069
00071 const char *cdtext_field2str (cdtext_field_t i);
00072
00077 void cdtext_init (cdtext_t *cdtext);
00078
00080 void cdtext_destroy (cdtext_t *cdtext);
00081
00090 char *cdtext_get (cdtext_field_t key, const cdtext_t *cdtext);
00091
00101 const char *cdtext_get_const (cdtext_field_t key, const cdtext_t *cdtext);
00102
00107 cdtext_field_t cdtext_is_keyword (const char *key);
00108
00112 void cdtext_set (cdtext_field_t key, const char *value, cdtext_t *cdtext);
00113
00114 #ifdef __cplusplus
00115 }
00116 #endif
00117
00118 #endif
00119
00120
00121
00122
00123
00124
00125
00126