Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

include/id3/globals.h File Reference

#include <stdlib.h>
#include <id3/sized_types.h>

Go to the source code of this file.

Defines

#define ID3_C_EXPORT
 This file defines common macros, types, constants, and enums used throughout id3lib. More...

#define ID3_CPP_EXPORT
#define ID3_C_VAR   extern
#define ID3_TAGID   "ID3"
#define ID3_TAGIDSIZE   (3)
#define ID3_TAGHEADERSIZE   (10)
#define STR_V1_COMMENT_DESC   "ID3v1 Comment"
 String used for the description field of a comment tag converted from an id3v1 tag to an id3v2 tag. More...

#define index_t   size_t
#define NULL_UNICODE   ((unicode_t) '\0')
#define ID3_ENUM(E)   enum E
#define ID3_STRUCT(S)   struct S
#define MASK(bits)   ((1 << (bits)) - 1)
#define MASK1   MASK(1)
#define MASK2   MASK(2)
#define MASK3   MASK(3)
#define MASK4   MASK(4)
#define MASK5   MASK(5)
#define MASK6   MASK(6)
#define MASK7   MASK(7)
#define MASK8   MASK(8)
#define ID3_DIR_SEPARATOR   '/'
#define ID3_DIR_SEPARATOR_S   "/"
#define ID3_SEARCHPATH_SEPARATOR   ':'
#define ID3_SEARCHPATH_SEPARATOR_S   ":"
#define NULL   ((void*) 0)

Typedefs

typedef unsigned char uchar
typedef short signed int ssint
typedef short unsigned int suint
typedef long signed int lsint
typedef long unsigned int luint
typedef long double ldoub
typedef uint16 unicode_t
typedef uint16 flags_t

Enumerations

enum  ID3_TextEnc {
  ID3TE_NONE = -1, ID3TE_ISO8859_1, ID3TE_UTF16, ID3TE_UTF16BE,
  ID3TE_UTF8, ID3TE_NUMENCODINGS, ID3TE_ASCII = ID3TE_ISO8859_1, ID3TE_UNICODE = ID3TE_UTF16
}
 Enumeration of the types of text encodings: ascii or unicode. More...

enum  ID3_V1Spec { ID3V1_0 = 0, ID3V1_1, ID3V1_NUMSPECS }
 Enumeration of the various id3 specifications. More...

enum  ID3_V2Spec {
  ID3V2_UNKNOWN = -1, ID3V2_2_0 = 0, ID3V2_2_1, ID3V2_3_0,
  ID3V2_4_0, ID3V2_EARLIEST = ID3V2_2_0, ID3V2_LATEST = ID3V2_3_0
}
enum  ID3_TagType {
  ID3TT_NONE = 0, ID3TT_ID3V1 = 1 << 0, ID3TT_ID3V2 = 1 << 1, ID3TT_LYRICS3 = 1 << 2,
  ID3TT_LYRICS3V2 = 1 << 3, ID3TT_MUSICMATCH = 1 << 4, ID3TT_LYRICS = ID3TT_LYRICS3, ID3TT_ID3 = ID3TT_ID3V1 | ID3TT_ID3V2,
  ID3TT_ALL = ~ID3TT_NONE, ID3TT_PREPENDED = ID3TT_ID3V2, ID3TT_APPENDED = ID3TT_ALL & ~ID3TT_ID3V2
}
 The various types of tags that id3lib can handle. More...

enum  ID3_FieldID {
  ID3FN_NOFIELD = 0, ID3FN_TEXTENC, ID3FN_TEXT, ID3FN_URL,
  ID3FN_DATA, ID3FN_DESCRIPTION, ID3FN_OWNER, ID3FN_EMAIL,
  ID3FN_RATING, ID3FN_FILENAME, ID3FN_LANGUAGE, ID3FN_PICTURETYPE,
  ID3FN_IMAGEFORMAT, ID3FN_MIMETYPE, ID3FN_COUNTER, ID3FN_ID,
  ID3FN_VOLUMEADJ, ID3FN_NUMBITS, ID3FN_VOLCHGRIGHT, ID3FN_VOLCHGLEFT,
  ID3FN_PEAKVOLRIGHT, ID3FN_PEAKVOLLEFT, ID3FN_TIMESTAMPFORMAT, ID3FN_CONTENTTYPE,
  ID3FN_LASTFIELDID
}
 Enumeration of the different types of fields in a frame. More...

enum  ID3_FrameID {
  ID3FID_NOFRAME = 0, ID3FID_AUDIOCRYPTO, ID3FID_PICTURE, ID3FID_COMMENT,
  ID3FID_COMMERCIAL, ID3FID_CRYPTOREG, ID3FID_EQUALIZATION, ID3FID_EVENTTIMING,
  ID3FID_GENERALOBJECT, ID3FID_GROUPINGREG, ID3FID_INVOLVEDPEOPLE, ID3FID_LINKEDINFO,
  ID3FID_CDID, ID3FID_MPEGLOOKUP, ID3FID_OWNERSHIP, ID3FID_PRIVATE,
  ID3FID_PLAYCOUNTER, ID3FID_POPULARIMETER, ID3FID_POSITIONSYNC, ID3FID_BUFFERSIZE,
  ID3FID_VOLUMEADJ, ID3FID_REVERB, ID3FID_SYNCEDLYRICS, ID3FID_SYNCEDTEMPO,
  ID3FID_ALBUM, ID3FID_BPM, ID3FID_COMPOSER, ID3FID_CONTENTTYPE,
  ID3FID_COPYRIGHT, ID3FID_DATE, ID3FID_PLAYLISTDELAY, ID3FID_ENCODEDBY,
  ID3FID_LYRICIST, ID3FID_FILETYPE, ID3FID_TIME, ID3FID_CONTENTGROUP,
  ID3FID_TITLE, ID3FID_SUBTITLE, ID3FID_INITIALKEY, ID3FID_LANGUAGE,
  ID3FID_SONGLEN, ID3FID_MEDIATYPE, ID3FID_ORIGALBUM, ID3FID_ORIGFILENAME,
  ID3FID_ORIGLYRICIST, ID3FID_ORIGARTIST, ID3FID_ORIGYEAR, ID3FID_FILEOWNER,
  ID3FID_LEADARTIST, ID3FID_BAND, ID3FID_CONDUCTOR, ID3FID_MIXARTIST,
  ID3FID_PARTINSET, ID3FID_PUBLISHER, ID3FID_TRACKNUM, ID3FID_RECORDINGDATES,
  ID3FID_NETRADIOSTATION, ID3FID_NETRADIOOWNER, ID3FID_SIZE, ID3FID_ISRC,
  ID3FID_ENCODERSETTINGS, ID3FID_USERTEXT, ID3FID_YEAR, ID3FID_UNIQUEFILEID,
  ID3FID_TERMSOFUSE, ID3FID_UNSYNCEDLYRICS, ID3FID_WWWCOMMERCIALINFO, ID3FID_WWWCOPYRIGHT,
  ID3FID_WWWAUDIOFILE, ID3FID_WWWARTIST, ID3FID_WWWAUDIOSOURCE, ID3FID_WWWRADIOPAGE,
  ID3FID_WWWPAYMENT, ID3FID_WWWPUBLISHER, ID3FID_WWWUSER, ID3FID_METACRYPTO,
  ID3FID_METACOMPRESSION, ID3FID_LASTFRAMEID
}
 Enumeration of the different types of frames recognized by id3lib. More...

enum  ID3_V1Lengths {
  ID3_V1_LEN = 128, ID3_V1_LEN_ID = 3, ID3_V1_LEN_TITLE = 30, ID3_V1_LEN_ARTIST = 30,
  ID3_V1_LEN_ALBUM = 30, ID3_V1_LEN_YEAR = 4, ID3_V1_LEN_COMMENT = 30, ID3_V1_LEN_GENRE = 1
}
enum  ID3_FieldFlags {
  ID3FF_NONE = 0, ID3FF_CSTR = 1 << 0, ID3FF_LIST = 1 << 1, ID3FF_ENCODABLE = 1 << 2,
  ID3FF_TEXTLIST = ID3FF_CSTR | ID3FF_LIST | ID3FF_ENCODABLE
}
enum  ID3_FieldType {
  ID3FTY_NONE = -1, ID3FTY_INTEGER = 0, ID3FTY_BINARY, ID3FTY_TEXTSTRING,
  ID3FTY_NUMTYPES
}
 Enumeration of the types of field types. More...

enum  ID3_Err {
  ID3E_NoError = 0, ID3E_NoMemory, ID3E_NoData, ID3E_BadData,
  ID3E_NoBuffer, ID3E_SmallBuffer, ID3E_InvalidFrameID, ID3E_FieldNotFound,
  ID3E_UnknownFieldType, ID3E_TagAlreadyAttached, ID3E_InvalidTagVersion, ID3E_NoFile,
  ID3E_ReadOnly, ID3E_zlibError
}
 Predefined id3lib error types. More...

enum  ID3_ContentType {
  ID3CT_OTHER = 0, ID3CT_LYRICS, ID3CT_TEXTTRANSCRIPTION, ID3CT_MOVEMENT,
  ID3CT_EVENTS, ID3CT_CHORD, ID3CT_TRIVIA
}
enum  ID3_TimeStampFormat { ID3TSF_FRAME = 1, ID3TSF_MS }

Variables

const char* const ID3LIB_NAME
const char* const ID3LIB_RELEASE
const char* const ID3LIB_FULL_NAME
const int ID3LIB_MAJOR_VERSION
const int ID3LIB_MINOR_VERSION
const int ID3LIB_PATCH_VERSION
const int ID3LIB_INTERFACE_AGE
const int ID3LIB_BINARY_AGE


Define Documentation

#define ID3_CPP_EXPORT
 

Value:

Definition at line 54 of file globals.h.

#define ID3_C_EXPORT
 

Value:

This file defines common macros, types, constants, and enums used throughout id3lib.

Definition at line 53 of file globals.h.

#define ID3_C_VAR   extern
 

Definition at line 56 of file globals.h.

#define ID3_DIR_SEPARATOR   '/'
 

Definition at line 386 of file globals.h.

#define ID3_DIR_SEPARATOR_S   "/"
 

Definition at line 387 of file globals.h.

#define ID3_ENUM( E )   enum E
 

Definition at line 108 of file globals.h.

#define ID3_SEARCHPATH_SEPARATOR   ':'
 

Definition at line 388 of file globals.h.

#define ID3_SEARCHPATH_SEPARATOR_S   ":"
 

Definition at line 389 of file globals.h.

#define ID3_STRUCT( S )   struct S
 

Definition at line 109 of file globals.h.

#define ID3_TAGHEADERSIZE   (10)
 

Definition at line 77 of file globals.h.

#define ID3_TAGID   "ID3"
 

Definition at line 75 of file globals.h.

#define ID3_TAGIDSIZE   (3)
 

Definition at line 76 of file globals.h.

#define MASK( bits )   ((1 << (bits)) - 1)
 

Definition at line 358 of file globals.h.

#define MASK1   MASK(1)
 

Definition at line 359 of file globals.h.

#define MASK2   MASK(2)
 

Definition at line 360 of file globals.h.

#define MASK3   MASK(3)
 

Definition at line 361 of file globals.h.

#define MASK4   MASK(4)
 

Definition at line 362 of file globals.h.

#define MASK5   MASK(5)
 

Definition at line 363 of file globals.h.

#define MASK6   MASK(6)
 

Definition at line 364 of file globals.h.

#define MASK7   MASK(7)
 

Definition at line 365 of file globals.h.

#define MASK8   MASK(8)
 

Definition at line 366 of file globals.h.

#define NULL   ((void*) 0)
 

Definition at line 404 of file globals.h.

#define NULL_UNICODE   ((unicode_t) '\0')
 

Definition at line 101 of file globals.h.

#define STR_V1_COMMENT_DESC   "ID3v1 Comment"
 

String used for the description field of a comment tag converted from an id3v1 tag to an id3v2 tag.

See also:
ID3V1_Tag

Definition at line 84 of file globals.h.

#define index_t   size_t
 

Definition at line 98 of file globals.h.


Typedef Documentation

typedef uint16 flags_t
 

Definition at line 95 of file globals.h.

typedef long double ldoub
 

Definition at line 92 of file globals.h.

typedef long signed int lsint
 

Definition at line 90 of file globals.h.

typedef long unsigned int luint
 

Definition at line 91 of file globals.h.

typedef short signed int ssint
 

Definition at line 88 of file globals.h.

typedef short unsigned int suint
 

Definition at line 89 of file globals.h.

typedef unsigned char uchar
 

Definition at line 87 of file globals.h.

typedef uint16 unicode_t
 

Definition at line 94 of file globals.h.


Enumeration Type Documentation

enum ID3_ContentType
 

Enumeration values:
ID3CT_OTHER  
ID3CT_LYRICS  
ID3CT_TEXTTRANSCRIPTION  
ID3CT_MOVEMENT  
ID3CT_EVENTS  
ID3CT_CHORD  
ID3CT_TRIVIA  

Definition at line 341 of file globals.h.

enum ID3_Err
 

Predefined id3lib error types.

Enumeration values:
ID3E_NoError   No error reported.
ID3E_NoMemory   No available memory.
ID3E_NoData   No data to parse.
ID3E_BadData   Improperly formatted data.
ID3E_NoBuffer   No buffer to write to.
ID3E_SmallBuffer   Buffer is too small.
ID3E_InvalidFrameID   Invalid frame id.
ID3E_FieldNotFound   Requested field not found.
ID3E_UnknownFieldType   Unknown field type.
ID3E_TagAlreadyAttached   Tag is already attached to a file.
ID3E_InvalidTagVersion   Invalid tag version.
ID3E_NoFile   No file to parse.
ID3E_ReadOnly   Attempting to write to a read-only file.
ID3E_zlibError   Error in compression/uncompression.

Definition at line 323 of file globals.h.

enum ID3_FieldFlags
 

Enumeration values:
ID3FF_NONE  
ID3FF_CSTR  
ID3FF_LIST  
ID3FF_ENCODABLE  
ID3FF_TEXTLIST  

Definition at line 301 of file globals.h.

enum ID3_FieldID
 

Enumeration of the different types of fields in a frame.

Enumeration values:
ID3FN_NOFIELD   No field.
ID3FN_TEXTENC   Text encoding (unicode or ASCII).
ID3FN_TEXT   Text field.
ID3FN_URL   A URL.
ID3FN_DATA   Data field.
ID3FN_DESCRIPTION   Description field.
ID3FN_OWNER   Owner field.
ID3FN_EMAIL   Email field.
ID3FN_RATING   Rating field.
ID3FN_FILENAME   Filename field.
ID3FN_LANGUAGE   Language field.
ID3FN_PICTURETYPE   Picture type field.
ID3FN_IMAGEFORMAT   Image format field.
ID3FN_MIMETYPE   Mimetype field.
ID3FN_COUNTER   Counter field.
ID3FN_ID   Identifier/Symbol field.
ID3FN_VOLUMEADJ   Volume adjustment field.
ID3FN_NUMBITS   Number of bits field.
ID3FN_VOLCHGRIGHT   Volume chage on the right channel.
ID3FN_VOLCHGLEFT   Volume chage on the left channel.
ID3FN_PEAKVOLRIGHT   Peak volume on the right channel.
ID3FN_PEAKVOLLEFT   Peak volume on the left channel.
ID3FN_TIMESTAMPFORMAT   SYLT Timestamp Format.
ID3FN_CONTENTTYPE   SYLT content type.
ID3FN_LASTFIELDID   Last field placeholder.

Definition at line 175 of file globals.h.

enum ID3_FieldType
 

Enumeration of the types of field types.

Enumeration values:
ID3FTY_NONE  
ID3FTY_INTEGER  
ID3FTY_BINARY  
ID3FTY_TEXTSTRING  
ID3FTY_NUMTYPES  

Definition at line 311 of file globals.h.

enum ID3_FrameID
 

Enumeration of the different types of frames recognized by id3lib.

Enumeration values:
ID3FID_NOFRAME   No known frame.
ID3FID_AUDIOCRYPTO   Audio encryption.
ID3FID_PICTURE   Attached picture.
ID3FID_COMMENT   Comments.
ID3FID_COMMERCIAL   Commercial frame.
ID3FID_CRYPTOREG   Encryption method registration.
ID3FID_EQUALIZATION   Equalization.
ID3FID_EVENTTIMING   Event timing codes.
ID3FID_GENERALOBJECT   General encapsulated object.
ID3FID_GROUPINGREG   Group identification registration.
ID3FID_INVOLVEDPEOPLE   Involved people list.
ID3FID_LINKEDINFO   Linked information.
ID3FID_CDID   Music CD identifier.
ID3FID_MPEGLOOKUP   MPEG location lookup table.
ID3FID_OWNERSHIP   Ownership frame.
ID3FID_PRIVATE   Private frame.
ID3FID_PLAYCOUNTER   Play counter.
ID3FID_POPULARIMETER   Popularimeter.
ID3FID_POSITIONSYNC   Position synchronisation frame.
ID3FID_BUFFERSIZE   Recommended buffer size.
ID3FID_VOLUMEADJ   Relative volume adjustment.
ID3FID_REVERB   Reverb.
ID3FID_SYNCEDLYRICS   Synchronized lyric/text.
ID3FID_SYNCEDTEMPO   Synchronized tempo codes.
ID3FID_ALBUM   Album/Movie/Show title.
ID3FID_BPM   BPM (beats per minute).
ID3FID_COMPOSER   Composer.
ID3FID_CONTENTTYPE   Content type.
ID3FID_COPYRIGHT   Copyright message.
ID3FID_DATE   Date.
ID3FID_PLAYLISTDELAY   Playlist delay.
ID3FID_ENCODEDBY   Encoded by.
ID3FID_LYRICIST   Lyricist/Text writer.
ID3FID_FILETYPE   File type.
ID3FID_TIME   Time.
ID3FID_CONTENTGROUP   Content group description.
ID3FID_TITLE   Title/songname/content description.
ID3FID_SUBTITLE   Subtitle/Description refinement.
ID3FID_INITIALKEY   Initial key.
ID3FID_LANGUAGE   Language(s).
ID3FID_SONGLEN   Length.
ID3FID_MEDIATYPE   Media type.
ID3FID_ORIGALBUM   Original album/movie/show title.
ID3FID_ORIGFILENAME   Original filename.
ID3FID_ORIGLYRICIST   Original lyricist(s)/text writer(s).
ID3FID_ORIGARTIST   Original artist(s)/performer(s).
ID3FID_ORIGYEAR   Original release year.
ID3FID_FILEOWNER   File owner/licensee.
ID3FID_LEADARTIST   Lead performer(s)/Soloist(s).
ID3FID_BAND   Band/orchestra/accompaniment.
ID3FID_CONDUCTOR   Conductor/performer refinement.
ID3FID_MIXARTIST   Interpreted, remixed, or otherwise modified by.
ID3FID_PARTINSET   Part of a set.
ID3FID_PUBLISHER   Publisher.
ID3FID_TRACKNUM   Track number/Position in set.
ID3FID_RECORDINGDATES   Recording dates.
ID3FID_NETRADIOSTATION   Internet radio station name.
ID3FID_NETRADIOOWNER   Internet radio station owner.
ID3FID_SIZE   Size.
ID3FID_ISRC   ISRC (international standard recording code).
ID3FID_ENCODERSETTINGS   Software/Hardware and settings used for encoding.
ID3FID_USERTEXT   User defined text information.
ID3FID_YEAR   Year.
ID3FID_UNIQUEFILEID   Unique file identifier.
ID3FID_TERMSOFUSE   Terms of use.
ID3FID_UNSYNCEDLYRICS   Unsynchronized lyric/text transcription.
ID3FID_WWWCOMMERCIALINFO   Commercial information.
ID3FID_WWWCOPYRIGHT   Copyright/Legal infromation.
ID3FID_WWWAUDIOFILE   Official audio file webpage.
ID3FID_WWWARTIST   Official artist/performer webpage.
ID3FID_WWWAUDIOSOURCE   Official audio source webpage.
ID3FID_WWWRADIOPAGE   Official internet radio station homepage.
ID3FID_WWWPAYMENT   Payment.
ID3FID_WWWPUBLISHER   Official publisher webpage.
ID3FID_WWWUSER   User defined URL link.
ID3FID_METACRYPTO   Encrypted meta frame (id3v2.2.x).
ID3FID_METACOMPRESSION   Compressed meta frame (id3v2.2.1).
ID3FID_LASTFRAMEID   Last field placeholder.

Definition at line 207 of file globals.h.

enum ID3_TagType
 

The various types of tags that id3lib can handle.

Enumeration values:
ID3TT_NONE   Represents an empty or non-existant tag.
ID3TT_ID3V1   Represents an id3v1 or id3v1.1 tag.
ID3TT_ID3V2   Represents an id3v2 tag.
ID3TT_LYRICS3   Represents a Lyrics3 tag.
ID3TT_LYRICS3V2   Represents a Lyrics3 v2.00 tag.
ID3TT_MUSICMATCH   Represents a Lyrics3 tag (for backwards compatibility).
ID3TT_LYRICS  
ID3TT_ID3   Represents both id3 tags: id3v1 and id3v2.
ID3TT_ALL   Represents all possible types of tags.
ID3TT_PREPENDED   Represents all tag types that can be prepended to a file.
ID3TT_APPENDED   Represents all tag types that can be appended to a file.

Definition at line 152 of file globals.h.

enum ID3_TextEnc
 

Enumeration of the types of text encodings: ascii or unicode.

Enumeration values:
ID3TE_NONE  
ID3TE_ISO8859_1  
ID3TE_UTF16  
ID3TE_UTF16BE  
ID3TE_UTF8  
ID3TE_NUMENCODINGS  
ID3TE_ASCII  
ID3TE_UNICODE  

Definition at line 118 of file globals.h.

enum ID3_TimeStampFormat
 

Enumeration values:
ID3TSF_FRAME  
ID3TSF_MS  

Definition at line 352 of file globals.h.

enum ID3_V1Lengths
 

Enumeration values:
ID3_V1_LEN  
ID3_V1_LEN_ID  
ID3_V1_LEN_TITLE  
ID3_V1_LEN_ARTIST  
ID3_V1_LEN_ALBUM  
ID3_V1_LEN_YEAR  
ID3_V1_LEN_COMMENT  
ID3_V1_LEN_GENRE  

Definition at line 289 of file globals.h.

enum ID3_V1Spec
 

Enumeration of the various id3 specifications.

Enumeration values:
ID3V1_0  
ID3V1_1  
ID3V1_NUMSPECS  

Definition at line 132 of file globals.h.

enum ID3_V2Spec
 

Enumeration values:
ID3V2_UNKNOWN  
ID3V2_2_0  
ID3V2_2_1  
ID3V2_3_0  
ID3V2_4_0  
ID3V2_EARLIEST  
ID3V2_LATEST  

Definition at line 139 of file globals.h.


Variable Documentation

const int ID3LIB_BINARY_AGE
 

Definition at line 73 of file globals.h.

const char* const ID3LIB_FULL_NAME
 

Definition at line 68 of file globals.h.

const int ID3LIB_INTERFACE_AGE
 

Definition at line 72 of file globals.h.

const int ID3LIB_MAJOR_VERSION
 

Definition at line 69 of file globals.h.

const int ID3LIB_MINOR_VERSION
 

Definition at line 70 of file globals.h.

const char* const ID3LIB_NAME
 

Definition at line 66 of file globals.h.

const int ID3LIB_PATCH_VERSION
 

Definition at line 71 of file globals.h.

const char *const ID3LIB_RELEASE
 

Definition at line 67 of file globals.h.


Generated at Sat Sep 8 15:51:10 2001 for id3lib by doxygen1.2.8 written by Dimitri van Heesch, © 1997-2001