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) Official artist/performer webpage.
Tag is already attached to a file.
Copyright/Legal information.
Original lyricist(s)/text writer(s)
Position synchronisation frame.
Interpreted, remixed, or otherwise modified by.
Conductor/performer refinement.
ID3_TagType
The various types of tags that id3lib can handle.
Represents a Lyrics3 tag.
const int ID3LIB_PATCH_VERSION
Represents both id3 tags: id3v1 and id3v2.
Title/songname/content description.
Official publisher webpage.
Subtitle/Description refinement.
ISRC (international standard recording code)
Relative volume adjustment.
Internet radio station owner.
Content group description.
Represents a Lyrics3 v2.00 tag.
const char *const ID3LIB_FULL_NAME
Peak volume on the right channel.
const int ID3LIB_MAJOR_VERSION
Original album/movie/show title.
const int ID3LIB_BINARY_AGE
Synchronized tempo codes.
const char *const ID3LIB_NAME
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
Lead performer(s)/Soloist(s)
Represents all possible types of tags.
ID3_FieldType
Enumeration of the types of field types.
const int ID3LIB_MINOR_VERSION
Track number/Position in set.
Represents all tag types that can be appended to a file.
Group identification registration.
Error in compression/uncompression.
Relative volume adjustment (2)
Represents a MusicMatch tag.
Official internet radio station homepage.
ID3_TextEnc
Enumeration of the types of text encodings: ascii or unicode.
ID3_Err
Predefined id3lib error types.
Software/Hardware and settings used for encoding.
Official audio file webpage.
Volume chage on the left channel.
const int ID3LIB_INTERFACE_AGE
Represents all tag types that can be prepended to a file.
Text encoding (unicode or ASCII)
Official audio source webpage.
Peak volume on the left channel.
Original artist(s)/performer(s)
Encryption method registration.
General encapsulated object.
Requested field not found.
const char *const ID3LIB_RELEASE
User defined text information.
Volume chage on the right channel.
Band/orchestra/accompaniment.
#define ID3_NR_OF_V1_GENRES
Compressed meta frame (id3v2.2.1)
Internet radio station name.
MPEG location lookup table.
Improperly formatted data.
Unsynchronized lyric/text transcription.
Encrypted meta frame (id3v2.2.x)
Attempting to write to a read-only file.
Represents an empty or non-existant tag.
Represents an id3v1 or id3v1.1 tag.
ID3_FieldID
Enumeration of the different types of fields in a frame.
ID3_V1Spec
Enumeration of the various id3 specifications.