Go to the documentation of this file.
34 #ifndef _ID3LIB_GLOBALS_H_
35 #define _ID3LIB_GLOBALS_H_
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
58 # if (ID3LIB_LINKOPTION == LINKOPTION_CREATE_DYNAMIC)
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
64 # if (ID3LIB_LINKOPTION == LINKOPTION_STATIC)
67 # define ID3_CPP_EXPORT
70 # if (ID3LIB_LINKOPTION == LINKOPTION_USE_DYNAMIC)
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
79 # define ID3_CPP_EXPORT
83 #define ID3_C_VAR extern
89 # define true (!false)
102 #define ID3_TAGID "ID3"
103 #define ID3_TAGIDSIZE (3)
104 #define ID3_TAGHEADERSIZE (10)
111 #define STR_V1_COMMENT_DESC "ID3v1 Comment"
120 #define NULL_UNICODE ((unicode_t) '\0')
127 # define ID3_ENUM(E) enum E
128 # define ID3_STRUCT(S) struct S
130 # define ID3_ENUM(E) typedef enum _ ## E E; enum _ ## E
131 # define ID3_STRUCT(S) typedef struct _ ## S S; struct _ ## S
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)
540 #define ID3_NR_OF_V1_GENRES 148
681 "Christian Gangsta Rap",
685 "Contemporary Christian",
695 #define ID3_V1GENRE2DESCRIPTION(x) (x < ID3_NR_OF_V1_GENRES && x >= 0) ? ID3_v1_genre_description[x] : NULL
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)
715 # define ID3_DIR_SEPARATOR '\\'
716 # define ID3_DIR_SEPARATOR_S "\\"
717 # define ID3_SEARCHPATH_SEPARATOR ';'
718 # define ID3_SEARCHPATH_SEPARATOR_S ";"
725 # define ID3_DIR_SEPARATOR '/'
726 # define ID3_DIR_SEPARATOR_S "/"
727 # define ID3_SEARCHPATH_SEPARATOR ':'
728 # define ID3_SEARCHPATH_SEPARATOR_S ":"
733 # define ID3_DIR_SEPARATOR '/'
734 # define ID3_DIR_SEPARATOR_S "/"
735 # define ID3_SEARCHPATH_SEPARATOR ';'
736 # define ID3_SEARCHPATH_SEPARATOR_S ";"
743 # define NULL ((void*) 0)
ISRC (international standard recording code)
User defined text information.
Official audio file webpage.
Requested field not found.
Improperly formatted data.
Volume chage on the right channel.
#define ID3_NR_OF_V1_GENRES
Official audio source webpage.
Peak volume on the right channel.
Group identification registration.
ID3_FieldType
Enumeration of the types of field types.
Track number/Position in set.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
Attempting to write to a read-only file.
Compressed meta frame (id3v2.2.1)
Represents an id3v1 or id3v1.1 tag.
Represents a MusicMatch tag.
Represents all possible types of tags.
ID3_FieldID
Enumeration of the different types of fields in a frame.
Volume chage on the left channel.
const int ID3LIB_MINOR_VERSION
MPEG location lookup table.
Tag is already attached to a file.
Official artist/performer webpage.
Peak volume on the left channel.
Copyright/Legal infromation.
General encapsulated object.
Content group description.
Represents an empty or non-existant tag.
Conductor/performer refinement.
Relative volume adjustment (2)
ID3_TagType
The various types of tags that id3lib can handle.
Position synchronisation frame.
Official internet radio station homepage.
Represents all tag types that can be prepended to a file.
const int ID3LIB_BINARY_AGE
Relative volume adjustment.
Encryption method registration.
const char *const ID3LIB_FULL_NAME
const char *const ID3LIB_NAME
Interpreted, remixed, or otherwise modified by.
Represents a Lyrics3 tag.
Band/orchestra/accompaniment.
Official publisher webpage.
Internet radio station name.
Synchronized tempo codes.
Lead performer(s)/Soloist(s)
Encrypted meta frame (id3v2.2.x)
Original album/movie/show title.
Error in compression/uncompression.
Original lyricist(s)/text writer(s)
Software/Hardware and settings used for encoding.
Unsynchronized lyric/text transcription.
Represents all tag types that can be appended to a file.
Internet radio station owner.
ID3_Err
Predefined id3lib error types.
Text encoding (unicode or ASCII)
ID3_V1Spec
Enumeration of the various id3 specifications.
Represents both id3 tags: id3v1 and id3v2.
const int ID3LIB_PATCH_VERSION
Original artist(s)/performer(s)
const int ID3LIB_INTERFACE_AGE
const char *const ID3LIB_RELEASE
Subtitle/Description refinement.
Represents a Lyrics3 v2.00 tag.
Title/songname/content description.
const int ID3LIB_MAJOR_VERSION
Generated for id3lib by
1.8.16