Remove cur_track_info hack
[cmus.git] / id3.h
blobc3837a9479eaf71d8c5fcf543dd04683307b8e7c
1 /*
2 * Copyright 2005 Timo Hirvonen
3 */
5 #ifndef _ID3_H
6 #define _ID3_H
8 /* flags for id3_read_tags */
9 #define ID3_V1 (1 << 0)
10 #define ID3_V2 (1 << 1)
12 enum id3_key {
13 ID3_ARTIST,
14 ID3_ALBUM,
15 ID3_TITLE,
16 ID3_DATE,
17 ID3_GENRE,
18 ID3_DISC,
19 ID3_TRACK,
20 ID3_ALBUMARTIST,
21 ID3_RG_TRACK_GAIN,
22 ID3_RG_TRACK_PEAK,
23 ID3_RG_ALBUM_GAIN,
24 ID3_RG_ALBUM_PEAK,
25 NUM_ID3_KEYS
28 #define UTF16_IS_LSURROGATE(uch) (0xdc00 <= uch && 0xdfff >= uch)
29 #define UTF16_IS_HSURROGATE(uch) (0xd800 <= uch && 0xdbff >= uch)
30 #define UTF16_IS_BOM(uch) (uch == 0xfeff)
32 typedef struct ID3 ID3;
34 extern int id3_tag_size(const char *buf, int buf_size);
36 extern ID3 *id3_new(void);
37 extern void id3_free(ID3 *id3);
38 extern int id3_read_tags(ID3 *id3, int fd, unsigned int flags);
39 extern char *id3_get_comment(ID3 *id3, enum id3_key key);
41 #endif