id3lib  3.8.3
globals.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /* $Id: globals.h,v 1.54 2003/02/21 03:47:41 slackorama Exp $
3 
4  * id3lib: a C++ library for creating and manipulating id3v1/v2 tags
5  * Copyright 1999, 2000 Scott Thomas Haug
6  * Copyright 2002 Thijmen Klok (thijmen@id3lib.org)
7 
8  * This library is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU Library General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or (at your
11  * option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
16  * License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public License
19  * along with this library; if not, write to the Free Software Foundation,
20  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 
22  * The id3lib authors encourage improvements and optimisations to be sent to
23  * the id3lib coordinator. Please see the README file for details on where to
24  * send such submissions. See the AUTHORS file for a list of people who have
25  * contributed to id3lib. See the ChangeLog file for a list of changes to
26  * id3lib. These files are distributed with id3lib at
27  * http://download.sourceforge.net/id3lib/
28  */
29 
34 #ifndef _ID3LIB_GLOBALS_H_
35 #define _ID3LIB_GLOBALS_H_
36 
37 #include <stdlib.h>
38 #include "id3/sized_types.h"
39 
40 /* id3lib version.
41  * we prefix variable declarations so they can
42  * properly get exported in windows dlls.
43  */
44 #ifdef WIN32
45 # define LINKOPTION_STATIC 1 //both for use and creation of static lib
46 # define LINKOPTION_CREATE_DYNAMIC 2 //should only be used by prj/id3lib.dsp
47 # define LINKOPTION_USE_DYNAMIC 3 //if your project links id3lib dynamic
48 # ifndef ID3LIB_LINKOPTION
49 # pragma message("*** NOTICE *** (not a real error)")
50 # pragma message("* You should include a define in your project which reflect how you link the library")
51 # pragma message("* If you use id3lib.lib or libprj/id3lib.dsp (you link static) you should add")
52 # pragma message("* ID3LIB_LINKOPTION=1 to your preprocessor definitions of your project.")
53 # pragma message("* If you use id3lib.dll (you link dynamic) you should add ID3LIB_LINKOPTION=3")
54 # pragma message("* to your preprocessor definitions of your project.")
55 # pragma message("***")
56 # error read message above or win32.readme.first.txt
57 # else
58 # if (ID3LIB_LINKOPTION == LINKOPTION_CREATE_DYNAMIC)
59  //used for creating a dynamic dll
60 # define ID3_C_EXPORT extern _declspec(dllexport)
61 # define ID3_CPP_EXPORT __declspec(dllexport)
62 # define CCONV __stdcall // Added for VB & Delphi Compatibility - By FrogPrince Advised By Lothar
63 # endif
64 # if (ID3LIB_LINKOPTION == LINKOPTION_STATIC)
65  //used for creating a static lib and using a static lib
66 # define ID3_C_EXPORT
67 # define ID3_CPP_EXPORT
68 # define CCONV
69 # endif
70 # if (ID3LIB_LINKOPTION == LINKOPTION_USE_DYNAMIC)
71  //used for those that do not link static and are using the dynamic dll by including a id3lib header
72 # define ID3_C_EXPORT extern _declspec(dllimport)
73 # define ID3_CPP_EXPORT __declspec(dllimport) //functions like these shouldn't be used by vb and delphi,
74 # define CCONV __stdcall // Added for VB & Delphi Compatibility - By FrogPrince Advised By Lothar
75 # endif
76 # endif
77 #else /* !WIN32 */
78 # define ID3_C_EXPORT
79 # define ID3_CPP_EXPORT
80 # define CCONV
81 #endif /* !WIN32 */
82 
83 #define ID3_C_VAR extern
84 
85 #ifndef __cplusplus
86 
87 typedef int bool;
88 # define false (0)
89 # define true (!false)
90 
91 #endif /* __cplusplus */
92 
93 ID3_C_VAR const char * const ID3LIB_NAME;
94 ID3_C_VAR const char * const ID3LIB_RELEASE;
95 ID3_C_VAR const char * const ID3LIB_FULL_NAME;
100 ID3_C_VAR const int ID3LIB_BINARY_AGE;
101 
102 #define ID3_TAGID "ID3"
103 #define ID3_TAGIDSIZE (3)
104 #define ID3_TAGHEADERSIZE (10)
105 
111 #define STR_V1_COMMENT_DESC "ID3v1 Comment"
112 
113 
114 typedef unsigned char uchar;
115 typedef long unsigned int luint;
116 
117 typedef uint16 unicode_t;
118 typedef uint16 flags_t;
119 
120 #define NULL_UNICODE ((unicode_t) '\0')
121 
122 /* These macros are used to make the C and C++ declarations for enums and
123  * structs have the same syntax. Basically, it allows C users to refer to an
124  * enum or a struct without prepending enum/struct.
125  */
126 #ifdef __cplusplus
127 # define ID3_ENUM(E) enum E
128 # define ID3_STRUCT(S) struct S
129 #else
130 # define ID3_ENUM(E) typedef enum _ ## E E; enum _ ## E
131 # define ID3_STRUCT(S) typedef struct _ ## S S; struct _ ## S
132 #endif
133 
138 {
145  ID3TE_ASCII = ID3TE_ISO8859_1, // do not use this -> use ID3TE_IS_SINGLE_BYTE_ENC(enc) instead
146  ID3TE_UNICODE = ID3TE_UTF16 // do not use this -> use ID3TE_IS_DOUBLE_BYTE_ENC(enc) instead
147 };
148 
149 #define ID3TE_IS_SINGLE_BYTE_ENC(enc) ((enc) == ID3TE_ISO8859_1 || (enc) == ID3TE_UTF8)
150 #define ID3TE_IS_DOUBLE_BYTE_ENC(enc) ((enc) == ID3TE_UTF16 || (enc) == ID3TE_UTF16BE)
151 
155 {
156  ID3V1_0 = 0,
159 };
160 
162 {
170 };
171 
175 {
177  ID3TT_ID3V1 = 1 << 0,
178  ID3TT_ID3V2 = 1 << 1,
179  ID3TT_LYRICS3 = 1 << 2,
180  ID3TT_LYRICS3V2 = 1 << 3,
181  ID3TT_MUSICMATCH = 1 << 4,
192 };
193 
198 {
224 };
225 
230 {
231  /* ???? */ ID3FID_NOFRAME = 0,
232  /* AENC */ ID3FID_AUDIOCRYPTO,
233  /* APIC */ ID3FID_PICTURE,
235  /* COMM */ ID3FID_COMMENT,
236  /* COMR */ ID3FID_COMMERCIAL,
237  /* ENCR */ ID3FID_CRYPTOREG,
238  /* EQU2 */ ID3FID_EQUALIZATION2,
239  /* EQUA */ ID3FID_EQUALIZATION,
240  /* ETCO */ ID3FID_EVENTTIMING,
241  /* GEOB */ ID3FID_GENERALOBJECT,
242  /* GRID */ ID3FID_GROUPINGREG,
244  /* LINK */ ID3FID_LINKEDINFO,
245  /* MCDI */ ID3FID_CDID,
246  /* MLLT */ ID3FID_MPEGLOOKUP,
247  /* OWNE */ ID3FID_OWNERSHIP,
248  /* PRIV */ ID3FID_PRIVATE,
249  /* PCNT */ ID3FID_PLAYCOUNTER,
250  /* POPM */ ID3FID_POPULARIMETER,
251  /* POSS */ ID3FID_POSITIONSYNC,
252  /* RBUF */ ID3FID_BUFFERSIZE,
253  /* RVA2 */ ID3FID_VOLUMEADJ2,
254  /* RVAD */ ID3FID_VOLUMEADJ,
255  /* RVRB */ ID3FID_REVERB,
256  /* SEEK */ ID3FID_SEEKFRAME,
257  /* SIGN */ ID3FID_SIGNATURE,
258  /* SYLT */ ID3FID_SYNCEDLYRICS,
259  /* SYTC */ ID3FID_SYNCEDTEMPO,
260  /* TALB */ ID3FID_ALBUM,
261  /* TBPM */ ID3FID_BPM,
262  /* TCOM */ ID3FID_COMPOSER,
263  /* TCON */ ID3FID_CONTENTTYPE,
264  /* TCOP */ ID3FID_COPYRIGHT,
265  /* TDAT */ ID3FID_DATE,
266  /* TDEN */ ID3FID_ENCODINGTIME,
267  /* TDLY */ ID3FID_PLAYLISTDELAY,
269  /* TDRC */ ID3FID_RECORDINGTIME,
270  /* TDRL */ ID3FID_RELEASETIME,
271  /* TDTG */ ID3FID_TAGGINGTIME,
273  /* TENC */ ID3FID_ENCODEDBY,
274  /* TEXT */ ID3FID_LYRICIST,
275  /* TFLT */ ID3FID_FILETYPE,
276  /* TIME */ ID3FID_TIME,
277  /* TIT1 */ ID3FID_CONTENTGROUP,
278  /* TIT2 */ ID3FID_TITLE,
279  /* TIT3 */ ID3FID_SUBTITLE,
280  /* TKEY */ ID3FID_INITIALKEY,
281  /* TLAN */ ID3FID_LANGUAGE,
282  /* TLEN */ ID3FID_SONGLEN,
284  /* TMED */ ID3FID_MEDIATYPE,
285  /* TMOO */ ID3FID_MOOD,
286  /* TOAL */ ID3FID_ORIGALBUM,
287  /* TOFN */ ID3FID_ORIGFILENAME,
288  /* TOLY */ ID3FID_ORIGLYRICIST,
289  /* TOPE */ ID3FID_ORIGARTIST,
290  /* TORY */ ID3FID_ORIGYEAR,
291  /* TOWN */ ID3FID_FILEOWNER,
292  /* TPE1 */ ID3FID_LEADARTIST,
293  /* TPE2 */ ID3FID_BAND,
294  /* TPE3 */ ID3FID_CONDUCTOR,
295  /* TPE4 */ ID3FID_MIXARTIST,
296  /* TPOS */ ID3FID_PARTINSET,
298  /* TPUB */ ID3FID_PUBLISHER,
299  /* TRCK */ ID3FID_TRACKNUM,
302  /* TRSO */ ID3FID_NETRADIOOWNER,
303  /* TSIZ */ ID3FID_SIZE,
307  /* TSRC */ ID3FID_ISRC,
309  /* TSST */ ID3FID_SETSUBTITLE,
310  /* TXXX */ ID3FID_USERTEXT,
311  /* TYER */ ID3FID_YEAR,
312  /* UFID */ ID3FID_UNIQUEFILEID,
313  /* USER */ ID3FID_TERMSOFUSE,
316  /* WCOP */ ID3FID_WWWCOPYRIGHT,
317  /* WOAF */ ID3FID_WWWAUDIOFILE,
318  /* WOAR */ ID3FID_WWWARTIST,
320  /* WORS */ ID3FID_WWWRADIOPAGE,
321  /* WPAY */ ID3FID_WWWPAYMENT,
322  /* WPUB */ ID3FID_WWWPUBLISHER,
323  /* WXXX */ ID3FID_WWWUSER,
326  /* >>>> */ ID3FID_LASTFRAMEID
327 };
328 
330 {
331  ID3_V1_LEN = 128,
339 };
340 
342 {
344  ID3FF_CSTR = 1 << 0,
345  ID3FF_LIST = 1 << 1,
346  ID3FF_ENCODABLE = 1 << 2,
348 };
349 
352 {
358 };
359 
364 {
379 };
380 
382 {
390 };
391 
393 {
395  ID3PT_PNG32ICON = 1, // 32x32 pixels 'file icon' (PNG only)
396  ID3PT_OTHERICON = 2, // Other file icon
397  ID3PT_COVERFRONT = 3, // Cover (front)
398  ID3PT_COVERBACK = 4, // Cover (back)
399  ID3PT_LEAFLETPAGE = 5, // Leaflet page
400  ID3PT_MEDIA = 6, // Media (e.g. lable side of CD)
401  ID3PT_LEADARTIST = 7, // Lead artist/lead performer/soloist
402  ID3PT_ARTIST = 8, // Artist/performer
403  ID3PT_CONDUCTOR = 9, // Conductor
404  ID3PT_BAND = 10, // Band/Orchestra
405  ID3PT_COMPOSER = 11, // Composer
406  ID3PT_LYRICIST = 12, // Lyricist/text writer
407  ID3PT_REC_LOCATION = 13, // Recording Location
408  ID3PT_RECORDING = 14, // During recording
409  ID3PT_PERFORMANCE = 15, // During performance
410  ID3PT_VIDEO = 16, // Movie/video screen capture
411  ID3PT_FISH = 17, // A bright coloured fish
412  ID3PT_ILLUSTRATION = 18, // Illustration
413  ID3PT_ARTISTLOGO = 19, // Band/artist logotype
414  ID3PT_PUBLISHERLOGO = 20 // Publisher/Studio logotype
415 };
416 
418 {
421 };
422 
424 {
428  MP3BITRATE_16K = 16000,
429  MP3BITRATE_24K = 24000,
430  MP3BITRATE_32K = 32000,
431  MP3BITRATE_40K = 40000,
432  MP3BITRATE_48K = 48000,
433  MP3BITRATE_56K = 56000,
434  MP3BITRATE_64K = 64000,
435  MP3BITRATE_80K = 80000,
436  MP3BITRATE_96K = 96000,
437  MP3BITRATE_112K = 112000,
438  MP3BITRATE_128K = 128000,
439  MP3BITRATE_144K = 144000,
440  MP3BITRATE_160K = 160000,
441  MP3BITRATE_176K = 176000,
442  MP3BITRATE_192K = 192000,
443  MP3BITRATE_224K = 224000,
444  MP3BITRATE_256K = 256000,
445  MP3BITRATE_288K = 288000,
446  MP3BITRATE_320K = 320000,
447  MP3BITRATE_352K = 352000,
448  MP3BITRATE_384K = 384000,
449  MP3BITRATE_416K = 416000,
451 };
452 
454 {
460 };
461 
463 {
469 };
470 
472 {
484 };
485 
487 {
493 };
494 
496 {
502 };
503 
505 {
511 };
512 
514 {
519 };
520 
522 {
530  uint32 vbr_bitrate; // avg bitrate from xing header
531  uint32 frequency; // samplerate
532  uint32 framesize;
533  uint32 frames; // nr of frames
534  uint32 time; // nr of seconds in song
537  bool original;
538 };
539 
540 #define ID3_NR_OF_V1_GENRES 148
541 
542 static const char *ID3_v1_genre_description[ID3_NR_OF_V1_GENRES] =
543 {
544  "Blues", //0
545  "Classic Rock", //1
546  "Country", //2
547  "Dance", //3
548  "Disco", //4
549  "Funk", //5
550  "Grunge", //6
551  "Hip-Hop", //7
552  "Jazz", //8
553  "Metal", //9
554  "New Age", //10
555  "Oldies", //11
556  "Other", //12
557  "Pop", //13
558  "R&B", //14
559  "Rap", //15
560  "Reggae", //16
561  "Rock", //17
562  "Techno", //18
563  "Industrial", //19
564  "Alternative", //20
565  "Ska", //21
566  "Death Metal", //22
567  "Pranks", //23
568  "Soundtrack", //24
569  "Euro-Techno", //25
570  "Ambient", //26
571  "Trip-Hop", //27
572  "Vocal", //28
573  "Jazz+Funk", //29
574  "Fusion", //30
575  "Trance", //31
576  "Classical", //32
577  "Instrumental", //33
578  "Acid", //34
579  "House", //35
580  "Game", //36
581  "Sound Clip", //37
582  "Gospel", //38
583  "Noise", //39
584  "AlternRock", //40
585  "Bass", //41
586  "Soul", //42
587  "Punk", //43
588  "Space", //44
589  "Meditative", //45
590  "Instrumental Pop", //46
591  "Instrumental Rock", //47
592  "Ethnic", //48
593  "Gothic", //49
594  "Darkwave", //50
595  "Techno-Industrial", //51
596  "Electronic", //52
597  "Pop-Folk", //53
598  "Eurodance", //54
599  "Dream", //55
600  "Southern Rock", //56
601  "Comedy", //57
602  "Cult", //58
603  "Gangsta", //59
604  "Top 40", //60
605  "Christian Rap", //61
606  "Pop/Funk", //62
607  "Jungle", //63
608  "Native American", //64
609  "Cabaret", //65
610  "New Wave", //66
611  "Psychadelic", //67
612  "Rave", //68
613  "Showtunes", //69
614  "Trailer", //70
615  "Lo-Fi", //71
616  "Tribal", //72
617  "Acid Punk", //73
618  "Acid Jazz", //74
619  "Polka", //75
620  "Retro", //76
621  "Musical", //77
622  "Rock & Roll", //78
623  "Hard Rock", //79
624 // following are winamp extentions
625  "Folk", //80
626  "Folk-Rock", //81
627  "National Folk", //82
628  "Swing", //83
629  "Fast Fusion", //84
630  "Bebob", //85
631  "Latin", //86
632  "Revival", //87
633  "Celtic", //88
634  "Bluegrass", //89
635  "Avantgarde", //90
636  "Gothic Rock", //91
637  "Progressive Rock", //92
638  "Psychedelic Rock", //93
639  "Symphonic Rock", //94
640  "Slow Rock", //95
641  "Big Band", //96
642  "Chorus", //97
643  "Easy Listening", //98
644  "Acoustic", //99
645  "Humour", //100
646  "Speech", //101
647  "Chanson", //102
648  "Opera", //103
649  "Chamber Music", //104
650  "Sonata", //105
651  "Symphony", //106
652  "Booty Bass", //107
653  "Primus", //108
654  "Porn Groove", //109
655  "Satire", //110
656  "Slow Jam", //111
657  "Club", //112
658  "Tango", //113
659  "Samba", //114
660  "Folklore", //115
661  "Ballad", //116
662  "Power Ballad", //117
663  "Rhythmic Soul", //118
664  "Freestyle", //119
665  "Duet", //120
666  "Punk Rock", //121
667  "Drum Solo", //122
668  "A capella", //123
669  "Euro-House", //124
670  "Dance Hall", //125
671  "Goa", //126
672  "Drum & Bass", //127
673  "Club-House", //128
674  "Hardcore", //129
675  "Terror", //130
676  "Indie", //131
677  "Britpop", //132
678  "Negerpunk", //133
679  "Polsk Punk", //134
680  "Beat", //135
681  "Christian Gangsta Rap", //136
682  "Heavy Metal", //137
683  "Black Metal", //138
684  "Crossover", //139
685  "Contemporary Christian",//140
686  "Christian Rock ", //141
687  "Merengue", //142
688  "Salsa", //143
689  "Trash Metal", //144
690  "Anime", //145
691  "JPop", //146
692  "Synthpop" //147
693 };
694 
695 #define ID3_V1GENRE2DESCRIPTION(x) (x < ID3_NR_OF_V1_GENRES && x >= 0) ? ID3_v1_genre_description[x] : NULL
696 
697 #define MASK(bits) ((1 << (bits)) - 1)
698 #define MASK1 MASK(1)
699 #define MASK2 MASK(2)
700 #define MASK3 MASK(3)
701 #define MASK4 MASK(4)
702 #define MASK5 MASK(5)
703 #define MASK6 MASK(6)
704 #define MASK7 MASK(7)
705 #define MASK8 MASK(8)
706 
707 /*
708  * The following is borrowed from glib.h (http://www.gtk.org)
709  */
710 #ifdef WIN32
711 
712 /* On native Win32, directory separator is the backslash, and search path
713  * separator is the semicolon.
714  */
715 # define ID3_DIR_SEPARATOR '\\'
716 # define ID3_DIR_SEPARATOR_S "\\"
717 # define ID3_SEARCHPATH_SEPARATOR ';'
718 # define ID3_SEARCHPATH_SEPARATOR_S ";"
719 
720 #else /* !WIN32 */
721 
722 # ifndef _EMX_
723 /* Unix */
724 
725 # define ID3_DIR_SEPARATOR '/'
726 # define ID3_DIR_SEPARATOR_S "/"
727 # define ID3_SEARCHPATH_SEPARATOR ':'
728 # define ID3_SEARCHPATH_SEPARATOR_S ":"
729 
730 # else
731 /* EMX/OS2 */
732 
733 # define ID3_DIR_SEPARATOR '/'
734 # define ID3_DIR_SEPARATOR_S "/"
735 # define ID3_SEARCHPATH_SEPARATOR ';'
736 # define ID3_SEARCHPATH_SEPARATOR_S ";"
737 
738 # endif
739 
740 #endif /* !WIN32 */
741 
742 #ifndef NULL
743 # define NULL ((void*) 0)
744 #endif
745 
746 #endif /* _ID3LIB_GLOBALS_H_ */
747 
Official artist/performer webpage.
Definition: globals.h:318
Audio encryption.
Definition: globals.h:232
Email field.
Definition: globals.h:206
No available memory.
Definition: globals.h:366
Tag is already attached to a file.
Definition: globals.h:374
Set subtitle.
Definition: globals.h:309
Last field placeholder.
Definition: globals.h:223
Audio seek point index.
Definition: globals.h:234
Recommended buffer size.
Definition: globals.h:252
Copyright/Legal infromation.
Definition: globals.h:316
Original lyricist(s)/text writer(s)
Definition: globals.h:288
Position synchronisation frame.
Definition: globals.h:251
BPM (beats per minute)
Definition: globals.h:261
Interpreted, remixed, or otherwise modified by.
Definition: globals.h:295
Conductor/performer refinement.
Definition: globals.h:294
ID3_TagType
The various types of tags that id3lib can handle.
Definition: globals.h:174
Original filename.
Definition: globals.h:287
Represents a Lyrics3 tag.
Definition: globals.h:179
const int ID3LIB_PATCH_VERSION
Definition: globals.cpp:43
Volume adjustment field.
Definition: globals.h:215
Comments.
Definition: globals.h:235
Involved people list.
Definition: globals.h:272
Mp3_ModeExt
Definition: globals.h:495
Language field.
Definition: globals.h:209
ID3_ContentType
Definition: globals.h:381
Represents both id3 tags: id3v1 and id3v2.
Definition: globals.h:185
Title/songname/content description.
Definition: globals.h:278
Private frame.
Definition: globals.h:248
File type.
Definition: globals.h:275
Official publisher webpage.
Definition: globals.h:322
No error reported.
Definition: globals.h:365
uint16 flags_t
Definition: globals.h:118
Subtitle/Description refinement.
Definition: globals.h:279
Tagging time.
Definition: globals.h:271
Recording dates.
Definition: globals.h:300
Unique file identifier.
Definition: globals.h:312
ISRC (international standard recording code)
Definition: globals.h:307
No buffer to write to.
Definition: globals.h:369
Relative volume adjustment.
Definition: globals.h:254
bool copyrighted
Definition: globals.h:536
Internet radio station owner.
Definition: globals.h:302
Content group description.
Definition: globals.h:277
MP3_BitRates
Definition: globals.h:423
Represents a Lyrics3 v2.00 tag.
Definition: globals.h:180
const char *const ID3LIB_FULL_NAME
Definition: globals.cpp:40
Time.
Definition: globals.h:276
Attached picture.
Definition: globals.h:233
Ownership frame.
Definition: globals.h:247
SYLT Timestamp Format.
Definition: globals.h:221
Peak volume on the right channel.
Definition: globals.h:219
Mp3_Crc crc
Definition: globals.h:529
const int ID3LIB_MAJOR_VERSION
Definition: globals.cpp:41
Original album/movie/show title.
Definition: globals.h:286
uint32 vbr_bitrate
Definition: globals.h:530
const int ID3LIB_BINARY_AGE
Definition: globals.cpp:45
Part of a set.
Definition: globals.h:296
Recording time.
Definition: globals.h:269
Synchronized tempo codes.
Definition: globals.h:259
Equalisation (2)
Definition: globals.h:238
Album sort order.
Definition: globals.h:304
Date.
Definition: globals.h:265
uint32 frames
Definition: globals.h:533
Content type.
Definition: globals.h:263
Counter field.
Definition: globals.h:213
No known frame.
Definition: globals.h:231
Title sort order.
Definition: globals.h:306
Media type.
Definition: globals.h:284
const char *const ID3LIB_NAME
Definition: globals.cpp:38
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
Definition: globals.h:229
Equalization.
Definition: globals.h:239
ID3_FieldFlags
Definition: globals.h:341
Lead performer(s)/Soloist(s)
Definition: globals.h:292
unsigned char uchar
Definition: globals.h:114
#define ID3_C_VAR
Definition: globals.h:83
Description field.
Definition: globals.h:204
Publisher.
Definition: globals.h:298
Represents all possible types of tags.
Definition: globals.h:187
Performer sort order.
Definition: globals.h:305
SYLT content type.
Definition: globals.h:222
ID3_FieldType
Enumeration of the types of field types.
Definition: globals.h:351
Mpeg_Layers layer
Definition: globals.h:523
Musician credits list.
Definition: globals.h:283
Mimetype field.
Definition: globals.h:212
Produced notice.
Definition: globals.h:297
const int ID3LIB_MINOR_VERSION
Definition: globals.cpp:42
Identifier/Symbol field.
Definition: globals.h:214
Mp3_Emphasis
Definition: globals.h:504
#define ID3_ENUM(E)
Definition: globals.h:127
Track number/Position in set.
Definition: globals.h:299
Represents all tag types that can be appended to a file.
Definition: globals.h:191
Group identification registration.
Definition: globals.h:242
Error in compression/uncompression.
Definition: globals.h:378
No file to parse.
Definition: globals.h:376
uint32 framesize
Definition: globals.h:532
Relative volume adjustment (2)
Definition: globals.h:253
Represents a MusicMatch tag.
Definition: globals.h:181
MP3_BitRates bitrate
Definition: globals.h:525
Signature frame.
Definition: globals.h:257
Official internet radio station homepage.
Definition: globals.h:320
ID3_V2Spec
Definition: globals.h:161
ID3_TextEnc
Enumeration of the types of text encodings: ascii or unicode.
Definition: globals.h:137
Release time.
Definition: globals.h:270
ID3_Err
Predefined id3lib error types.
Definition: globals.h:363
A URL.
Definition: globals.h:202
Software/Hardware and settings used for encoding.
Definition: globals.h:308
ID3_V1Lengths
Definition: globals.h:329
Event timing codes.
Definition: globals.h:240
Mp3_Frequencies
Definition: globals.h:471
Year.
Definition: globals.h:311
Synchronized lyric/text.
Definition: globals.h:258
Size.
Definition: globals.h:303
Official audio file webpage.
Definition: globals.h:317
Volume chage on the left channel.
Definition: globals.h:218
const int ID3LIB_INTERFACE_AGE
Definition: globals.cpp:44
Mp3_ChannelMode channelmode
Definition: globals.h:526
Commercial information.
Definition: globals.h:315
Reverb.
Definition: globals.h:255
Represents all tag types that can be prepended to a file.
Definition: globals.h:189
Represents an id3v2 tag.
Definition: globals.h:178
Mp3_Crc
Definition: globals.h:513
Mp3_ChannelMode
Definition: globals.h:486
Original release year.
Definition: globals.h:290
Encoded by.
Definition: globals.h:273
bool original
Definition: globals.h:537
Mp3_ModeExt modeext
Definition: globals.h:527
Text encoding (unicode or ASCII)
Definition: globals.h:200
Image format field.
Definition: globals.h:211
User defined URL link.
Definition: globals.h:323
Terms of use.
Definition: globals.h:313
Official audio source webpage.
Definition: globals.h:319
Seek frame.
Definition: globals.h:256
Initial key.
Definition: globals.h:280
Peak volume on the left channel.
Definition: globals.h:220
Mp3_Emphasis emphasis
Definition: globals.h:528
Last field placeholder.
Definition: globals.h:326
Original artist(s)/performer(s)
Definition: globals.h:289
Encryption method registration.
Definition: globals.h:237
ID3_TimeStampFormat
Definition: globals.h:417
General encapsulated object.
Definition: globals.h:241
Requested field not found.
Definition: globals.h:372
const char *const ID3LIB_RELEASE
Invalid tag version.
Definition: globals.h:375
Owner field.
Definition: globals.h:205
User defined text information.
Definition: globals.h:310
Data field.
Definition: globals.h:203
Volume chage on the right channel.
Definition: globals.h:217
uint32 time
Definition: globals.h:534
Buffer is too small.
Definition: globals.h:370
Band/orchestra/accompaniment.
Definition: globals.h:293
Number of bits field.
Definition: globals.h:216
Payment.
Definition: globals.h:321
Linked information.
Definition: globals.h:244
No field.
Definition: globals.h:199
#define ID3_STRUCT(S)
Definition: globals.h:128
Original release time.
Definition: globals.h:268
#define ID3_NR_OF_V1_GENRES
Definition: globals.h:540
Compressed meta frame (id3v2.2.1)
Definition: globals.h:325
Internet radio station name.
Definition: globals.h:301
Lyricist/Text writer.
Definition: globals.h:274
Rating field.
Definition: globals.h:207
Involved people list.
Definition: globals.h:243
Playlist delay.
Definition: globals.h:267
Copyright message.
Definition: globals.h:264
uint32 frequency
Definition: globals.h:531
Unknown field type.
Definition: globals.h:373
uint16 unicode_t
Definition: globals.h:117
Picture type field.
Definition: globals.h:210
MPEG location lookup table.
Definition: globals.h:246
No data to parse.
Definition: globals.h:367
Popularimeter.
Definition: globals.h:250
Mpeg_Version
Definition: globals.h:462
Improperly formatted data.
Definition: globals.h:368
Music CD identifier.
Definition: globals.h:245
Commercial frame.
Definition: globals.h:236
Album/Movie/Show title.
Definition: globals.h:260
Length.
Definition: globals.h:282
long unsigned int luint
Definition: globals.h:115
Unsynchronized lyric/text transcription.
Definition: globals.h:314
ID3_PictureType
Definition: globals.h:392
Filename field.
Definition: globals.h:208
Encrypted meta frame (id3v2.2.x)
Definition: globals.h:324
Attempting to write to a read-only file.
Definition: globals.h:377
Invalid frame id.
Definition: globals.h:371
Language(s)
Definition: globals.h:281
File owner/licensee.
Definition: globals.h:291
Text field.
Definition: globals.h:201
Mpeg_Version version
Definition: globals.h:524
Represents an empty or non-existant tag.
Definition: globals.h:176
Represents an id3v1 or id3v1.1 tag.
Definition: globals.h:177
Play counter.
Definition: globals.h:249
Encoding time.
Definition: globals.h:266
ID3_FieldID
Enumeration of the different types of fields in a frame.
Definition: globals.h:197
Mpeg_Layers
Definition: globals.h:453
Mood.
Definition: globals.h:285
Composer.
Definition: globals.h:262
bool privatebit
Definition: globals.h:535
ID3_V1Spec
Enumeration of the various id3 specifications.
Definition: globals.h:154

Generated for id3lib by doxygen 1.8.15