annotate src/tta/ttaid3tag.h @ 439:84029a5250c1 trunk

[svn] - status icon plugin: made a tooltip popup that displays metadata of the current song
author giacomo
date Tue, 16 Jan 2007 10:34:12 -0800
parents fbd06b4aa776
children 052f21493419
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
290
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
1 /*
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
2 * id3tag.h
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
3 *
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
4 * Description: ID3 functions prototypes
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
5 *
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
6 */
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
7
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
8 #pragma pack(1)
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
9
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
10 #define MAX_LINE 4096
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
11 //#define ID3_VERSION 3
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
12
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
13 /* ID3 common headers set */
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
14
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
15 #define TIT2 1
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
16 #define TPE1 2
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
17 #define TALB 3
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
18 #define TRCK 4
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
19 #define TYER 5
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
20 #define TCON 6
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
21 #define COMM 7
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
22
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
23 /* ID3 tag checked flags */
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
24
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
25 #define ID3_UNSYNCHRONISATION_FLAG 0x80
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
26 #define ID3_EXTENDEDHEADER_FLAG 0x40
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
27 #define ID3_EXPERIMENTALTAG_FLAG 0x20
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
28 #define ID3_FOOTERPRESENT_FLAG 0x10
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
29
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
30 /* ID3 frame checked flags */
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
31
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
32 #define FRAME_COMPRESSION_FLAG 0x0008
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
33 #define FRAME_ENCRYPTION_FLAG 0x0004
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
34 #define FRAME_UNSYNCHRONISATION_FLAG 0x0002
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
35
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
36 /* ID3 field text encoding */
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
37
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
38 #define FIELD_TEXT_ISO_8859_1 0x00
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
39 #define FIELD_TEXT_UTF_16 0x01
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
40 #define FIELD_TEXT_UTF_16BE 0x02
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
41 #define FIELD_TEXT_UTF_8 0x03
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
42
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
43 #define GENRES 148
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
44
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
45 typedef struct {
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
46 unsigned char id[3];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
47 unsigned char title[30];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
48 unsigned char artist[30];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
49 unsigned char album[30];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
50 unsigned char year[4];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
51 unsigned char comment[28];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
52 unsigned char zero;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
53 unsigned char track;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
54 unsigned char genre;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
55 } id3v1_tag;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
56
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
57 typedef struct {
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
58 unsigned char id[3];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
59 unsigned short version;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
60 unsigned char flags;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
61 unsigned char size[4];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
62 } id3v2_tag;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
63
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
64 typedef struct {
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
65 unsigned char id[4];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
66 unsigned char size[4];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
67 unsigned short flags;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
68 } id3v2_frame;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
69
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
70 typedef struct {
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
71 unsigned char name[31];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
72 unsigned char title[31];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
73 unsigned char artist[31];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
74 unsigned char album[31];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
75 unsigned char comment[31];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
76 unsigned char year[5];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
77 unsigned char track;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
78 unsigned char genre;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
79 unsigned char id3has;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
80 } id3v1_data;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
81
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
82 typedef struct {
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
83 unsigned char name[MAX_LINE];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
84 unsigned char title[MAX_LINE];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
85 unsigned char artist[MAX_LINE];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
86 unsigned char album[MAX_LINE];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
87 unsigned char comment[MAX_LINE];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
88 unsigned char year[5];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
89 unsigned char track[3];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
90 unsigned char genre[256];
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
91 unsigned char id3has;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
92 unsigned long size;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
93 } id3v2_data;
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
94
fbd06b4aa776 [svn] - add TrueAudio plugin
yaz
parents:
diff changeset
95