id3lib  3.8.3
Classes | Macros | Typedefs | Enumerations | Variables
globals.h File Reference
#include <stdlib.h>
#include "id3/sized_types.h"

Go to the source code of this file.

Classes

struct  Mp3_Headerinfo
 

Macros

#define ID3_C_EXPORT
 This file defines common macros, types, constants, and enums used throughout id3lib. More...
 
#define ID3_CPP_EXPORT
 
#define CCONV
 
#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 NULL_UNICODE   ((unicode_t) '\0')
 
#define ID3_ENUM(E)   enum E
 
#define ID3_STRUCT(S)   struct S
 
#define ID3TE_IS_SINGLE_BYTE_ENC(enc)   ((enc) == ID3TE_ISO8859_1 || (enc) == ID3TE_UTF8)
 
#define ID3TE_IS_DOUBLE_BYTE_ENC(enc)   ((enc) == ID3TE_UTF16 || (enc) == ID3TE_UTF16BE)
 
#define ID3_NR_OF_V1_GENRES   148
 
#define ID3_V1GENRE2DESCRIPTION(x)   (x < ID3_NR_OF_V1_GENRES && x >= 0) ? ID3_v1_genre_description[x] : NULL
 
#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 long unsigned int luint
 
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_AUDIOSEEKPOINT ,
  ID3FID_COMMENT , ID3FID_COMMERCIAL , ID3FID_CRYPTOREG , ID3FID_EQUALIZATION2 ,
  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_VOLUMEADJ2 , ID3FID_VOLUMEADJ ,
  ID3FID_REVERB , ID3FID_SEEKFRAME , ID3FID_SIGNATURE , ID3FID_SYNCEDLYRICS ,
  ID3FID_SYNCEDTEMPO , ID3FID_ALBUM , ID3FID_BPM , ID3FID_COMPOSER ,
  ID3FID_CONTENTTYPE , ID3FID_COPYRIGHT , ID3FID_DATE , ID3FID_ENCODINGTIME ,
  ID3FID_PLAYLISTDELAY , ID3FID_ORIGRELEASETIME , ID3FID_RECORDINGTIME , ID3FID_RELEASETIME ,
  ID3FID_TAGGINGTIME , ID3FID_INVOLVEDPEOPLE2 , ID3FID_ENCODEDBY , ID3FID_LYRICIST ,
  ID3FID_FILETYPE , ID3FID_TIME , ID3FID_CONTENTGROUP , ID3FID_TITLE ,
  ID3FID_SUBTITLE , ID3FID_INITIALKEY , ID3FID_LANGUAGE , ID3FID_SONGLEN ,
  ID3FID_MUSICIANCREDITLIST , ID3FID_MEDIATYPE , ID3FID_MOOD , ID3FID_ORIGALBUM ,
  ID3FID_ORIGFILENAME , ID3FID_ORIGLYRICIST , ID3FID_ORIGARTIST , ID3FID_ORIGYEAR ,
  ID3FID_FILEOWNER , ID3FID_LEADARTIST , ID3FID_BAND , ID3FID_CONDUCTOR ,
  ID3FID_MIXARTIST , ID3FID_PARTINSET , ID3FID_PRODUCEDNOTICE , ID3FID_PUBLISHER ,
  ID3FID_TRACKNUM , ID3FID_RECORDINGDATES , ID3FID_NETRADIOSTATION , ID3FID_NETRADIOOWNER ,
  ID3FID_SIZE , ID3FID_ALBUMSORTORDER , ID3FID_PERFORMERSORTORDER , ID3FID_TITLESORTORDER ,
  ID3FID_ISRC , ID3FID_ENCODERSETTINGS , ID3FID_SETSUBTITLE , 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_PictureType {
  ID3PT_OTHER = 0 , ID3PT_PNG32ICON = 1 , ID3PT_OTHERICON = 2 , ID3PT_COVERFRONT = 3 ,
  ID3PT_COVERBACK = 4 , ID3PT_LEAFLETPAGE = 5 , ID3PT_MEDIA = 6 , ID3PT_LEADARTIST = 7 ,
  ID3PT_ARTIST = 8 , ID3PT_CONDUCTOR = 9 , ID3PT_BAND = 10 , ID3PT_COMPOSER = 11 ,
  ID3PT_LYRICIST = 12 , ID3PT_REC_LOCATION = 13 , ID3PT_RECORDING = 14 , ID3PT_PERFORMANCE = 15 ,
  ID3PT_VIDEO = 16 , ID3PT_FISH = 17 , ID3PT_ILLUSTRATION = 18 , ID3PT_ARTISTLOGO = 19 ,
  ID3PT_PUBLISHERLOGO = 20
}
 
enum  ID3_TimeStampFormat { ID3TSF_FRAME = 1 , ID3TSF_MS }
 
enum  MP3_BitRates {
  MP3BITRATE_FALSE = -1 , MP3BITRATE_NONE = 0 , MP3BITRATE_8K = 8000 , MP3BITRATE_16K = 16000 ,
  MP3BITRATE_24K = 24000 , MP3BITRATE_32K = 32000 , MP3BITRATE_40K = 40000 , MP3BITRATE_48K = 48000 ,
  MP3BITRATE_56K = 56000 , MP3BITRATE_64K = 64000 , MP3BITRATE_80K = 80000 , MP3BITRATE_96K = 96000 ,
  MP3BITRATE_112K = 112000 , MP3BITRATE_128K = 128000 , MP3BITRATE_144K = 144000 , MP3BITRATE_160K = 160000 ,
  MP3BITRATE_176K = 176000 , MP3BITRATE_192K = 192000 , MP3BITRATE_224K = 224000 , MP3BITRATE_256K = 256000 ,
  MP3BITRATE_288K = 288000 , MP3BITRATE_320K = 320000 , MP3BITRATE_352K = 352000 , MP3BITRATE_384K = 384000 ,
  MP3BITRATE_416K = 416000 , MP3BITRATE_448K = 448000
}
 
enum  Mpeg_Layers {
  MPEGLAYER_FALSE = -1 , MPEGLAYER_UNDEFINED , MPEGLAYER_III , MPEGLAYER_II ,
  MPEGLAYER_I
}
 
enum  Mpeg_Version {
  MPEGVERSION_FALSE = -1 , MPEGVERSION_2_5 , MPEGVERSION_Reserved , MPEGVERSION_2 ,
  MPEGVERSION_1
}
 
enum  Mp3_Frequencies {
  MP3FREQUENCIES_FALSE = -1 , MP3FREQUENCIES_Reserved = 0 , MP3FREQUENCIES_8000HZ = 8000 , MP3FREQUENCIES_11025HZ = 11025 ,
  MP3FREQUENCIES_12000HZ = 12000 , MP3FREQUENCIES_16000HZ = 16000 , MP3FREQUENCIES_22050HZ = 22050 , MP3FREQUENCIES_24000HZ = 24000 ,
  MP3FREQUENCIES_32000HZ = 32000 , MP3FREQUENCIES_48000HZ = 48000 , MP3FREQUENCIES_44100HZ = 44100
}
 
enum  Mp3_ChannelMode {
  MP3CHANNELMODE_FALSE = -1 , MP3CHANNELMODE_STEREO , MP3CHANNELMODE_JOINT_STEREO , MP3CHANNELMODE_DUAL_CHANNEL ,
  MP3CHANNELMODE_SINGLE_CHANNEL
}
 
enum  Mp3_ModeExt {
  MP3MODEEXT_FALSE = -1 , MP3MODEEXT_0 , MP3MODEEXT_1 , MP3MODEEXT_2 ,
  MP3MODEEXT_3
}
 
enum  Mp3_Emphasis {
  MP3EMPHASIS_FALSE = -1 , MP3EMPHASIS_NONE , MP3EMPHASIS_50_15MS , MP3EMPHASIS_Reserved ,
  MP3EMPHASIS_CCIT_J17
}
 
enum  Mp3_Crc { MP3CRC_ERROR_SIZE = -2 , MP3CRC_MISMATCH = -1 , MP3CRC_NONE = 0 , MP3CRC_OK = 1 }
 

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
 

Macro Definition Documentation

◆ CCONV

#define CCONV

Definition at line 80 of file globals.h.

◆ ID3_C_EXPORT

#define ID3_C_EXPORT

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

Definition at line 78 of file globals.h.

◆ ID3_C_VAR

#define ID3_C_VAR   extern

Definition at line 83 of file globals.h.

◆ ID3_CPP_EXPORT

#define ID3_CPP_EXPORT

Definition at line 79 of file globals.h.

◆ ID3_DIR_SEPARATOR

#define ID3_DIR_SEPARATOR   '/'

Definition at line 725 of file globals.h.

◆ ID3_DIR_SEPARATOR_S

#define ID3_DIR_SEPARATOR_S   "/"

Definition at line 726 of file globals.h.

◆ ID3_ENUM

#define ID3_ENUM (   E)    enum E

Definition at line 127 of file globals.h.

◆ ID3_NR_OF_V1_GENRES

#define ID3_NR_OF_V1_GENRES   148

Definition at line 540 of file globals.h.

◆ ID3_SEARCHPATH_SEPARATOR

#define ID3_SEARCHPATH_SEPARATOR   ':'

Definition at line 727 of file globals.h.

◆ ID3_SEARCHPATH_SEPARATOR_S

#define ID3_SEARCHPATH_SEPARATOR_S   ":"

Definition at line 728 of file globals.h.

◆ ID3_STRUCT

#define ID3_STRUCT (   S)    struct S

Definition at line 128 of file globals.h.

◆ ID3_TAGHEADERSIZE

#define ID3_TAGHEADERSIZE   (10)

Definition at line 104 of file globals.h.

◆ ID3_TAGID

#define ID3_TAGID   "ID3"

Definition at line 102 of file globals.h.

◆ ID3_TAGIDSIZE

#define ID3_TAGIDSIZE   (3)

Definition at line 103 of file globals.h.

◆ ID3_V1GENRE2DESCRIPTION

#define ID3_V1GENRE2DESCRIPTION (   x)    (x < ID3_NR_OF_V1_GENRES && x >= 0) ? ID3_v1_genre_description[x] : NULL

Definition at line 695 of file globals.h.

◆ ID3TE_IS_DOUBLE_BYTE_ENC

#define ID3TE_IS_DOUBLE_BYTE_ENC (   enc)    ((enc) == ID3TE_UTF16 || (enc) == ID3TE_UTF16BE)

Definition at line 150 of file globals.h.

◆ ID3TE_IS_SINGLE_BYTE_ENC

#define ID3TE_IS_SINGLE_BYTE_ENC (   enc)    ((enc) == ID3TE_ISO8859_1 || (enc) == ID3TE_UTF8)

Definition at line 149 of file globals.h.

◆ MASK

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

Definition at line 697 of file globals.h.

◆ MASK1

#define MASK1   MASK(1)

Definition at line 698 of file globals.h.

◆ MASK2

#define MASK2   MASK(2)

Definition at line 699 of file globals.h.

◆ MASK3

#define MASK3   MASK(3)

Definition at line 700 of file globals.h.

◆ MASK4

#define MASK4   MASK(4)

Definition at line 701 of file globals.h.

◆ MASK5

#define MASK5   MASK(5)

Definition at line 702 of file globals.h.

◆ MASK6

#define MASK6   MASK(6)

Definition at line 703 of file globals.h.

◆ MASK7

#define MASK7   MASK(7)

Definition at line 704 of file globals.h.

◆ MASK8

#define MASK8   MASK(8)

Definition at line 705 of file globals.h.

◆ NULL

#define NULL   ((void*) 0)

Definition at line 743 of file globals.h.

◆ NULL_UNICODE

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

Definition at line 120 of file globals.h.

◆ STR_V1_COMMENT_DESC

#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 111 of file globals.h.

Typedef Documentation

◆ flags_t

typedef uint16 flags_t

Definition at line 118 of file globals.h.

◆ luint

typedef long unsigned int luint

Definition at line 115 of file globals.h.

◆ uchar

typedef unsigned char uchar

Definition at line 114 of file globals.h.

◆ unicode_t

typedef uint16 unicode_t

Definition at line 117 of file globals.h.

Enumeration Type Documentation

◆ ID3_ContentType

Enumerator
ID3CT_OTHER 
ID3CT_LYRICS 
ID3CT_TEXTTRANSCRIPTION 
ID3CT_MOVEMENT 
ID3CT_EVENTS 
ID3CT_CHORD 
ID3CT_TRIVIA 

Definition at line 381 of file globals.h.

◆ ID3_Err

enum ID3_Err

Predefined id3lib error types.

Enumerator
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 363 of file globals.h.

◆ ID3_FieldFlags

Enumerator
ID3FF_NONE 
ID3FF_CSTR 
ID3FF_LIST 
ID3FF_ENCODABLE 
ID3FF_TEXTLIST 

Definition at line 341 of file globals.h.

◆ ID3_FieldID

Enumeration of the different types of fields in a frame.

Enumerator
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 197 of file globals.h.

◆ ID3_FieldType

Enumeration of the types of field types.

Enumerator
ID3FTY_NONE 
ID3FTY_INTEGER 
ID3FTY_BINARY 
ID3FTY_TEXTSTRING 
ID3FTY_NUMTYPES 

Definition at line 351 of file globals.h.

◆ ID3_FrameID

Enumeration of the different types of frames recognized by id3lib.

Enumerator
ID3FID_NOFRAME 

No known frame.

ID3FID_AUDIOCRYPTO 

Audio encryption.

ID3FID_PICTURE 

Attached picture.

ID3FID_AUDIOSEEKPOINT 

Audio seek point index.

ID3FID_COMMENT 

Comments.

ID3FID_COMMERCIAL 

Commercial frame.

ID3FID_CRYPTOREG 

Encryption method registration.

ID3FID_EQUALIZATION2 

Equalisation (2)

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_VOLUMEADJ2 

Relative volume adjustment (2)

ID3FID_VOLUMEADJ 

Relative volume adjustment.

ID3FID_REVERB 

Reverb.

ID3FID_SEEKFRAME 

Seek frame.

ID3FID_SIGNATURE 

Signature frame.

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_ENCODINGTIME 

Encoding time.

ID3FID_PLAYLISTDELAY 

Playlist delay.

ID3FID_ORIGRELEASETIME 

Original release time.

ID3FID_RECORDINGTIME 

Recording time.

ID3FID_RELEASETIME 

Release time.

ID3FID_TAGGINGTIME 

Tagging time.

ID3FID_INVOLVEDPEOPLE2 

Involved people list.

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_MUSICIANCREDITLIST 

Musician credits list.

ID3FID_MEDIATYPE 

Media type.

ID3FID_MOOD 

Mood.

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_PRODUCEDNOTICE 

Produced notice.

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_ALBUMSORTORDER 

Album sort order.

ID3FID_PERFORMERSORTORDER 

Performer sort order.

ID3FID_TITLESORTORDER 

Title sort order.

ID3FID_ISRC 

ISRC (international standard recording code)

ID3FID_ENCODERSETTINGS 

Software/Hardware and settings used for encoding.

ID3FID_SETSUBTITLE 

Set subtitle.

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 229 of file globals.h.

◆ ID3_PictureType

Enumerator
ID3PT_OTHER 
ID3PT_PNG32ICON 
ID3PT_OTHERICON 
ID3PT_COVERFRONT 
ID3PT_COVERBACK 
ID3PT_LEAFLETPAGE 
ID3PT_MEDIA 
ID3PT_LEADARTIST 
ID3PT_ARTIST 
ID3PT_CONDUCTOR 
ID3PT_BAND 
ID3PT_COMPOSER 
ID3PT_LYRICIST 
ID3PT_REC_LOCATION 
ID3PT_RECORDING 
ID3PT_PERFORMANCE 
ID3PT_VIDEO 
ID3PT_FISH 
ID3PT_ILLUSTRATION 
ID3PT_ARTISTLOGO 
ID3PT_PUBLISHERLOGO 

Definition at line 392 of file globals.h.

◆ ID3_TagType

The various types of tags that id3lib can handle.

Enumerator
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 MusicMatch tag.

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 174 of file globals.h.

◆ ID3_TextEnc

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

Enumerator
ID3TE_NONE 
ID3TE_ISO8859_1 
ID3TE_UTF16 
ID3TE_UTF16BE 
ID3TE_UTF8 
ID3TE_NUMENCODINGS 
ID3TE_ASCII 
ID3TE_UNICODE 

Definition at line 137 of file globals.h.

◆ ID3_TimeStampFormat

Enumerator
ID3TSF_FRAME 
ID3TSF_MS 

Definition at line 417 of file globals.h.

◆ ID3_V1Lengths

Enumerator
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 329 of file globals.h.

◆ ID3_V1Spec

enum ID3_V1Spec

Enumeration of the various id3 specifications.

Enumerator
ID3V1_0 
ID3V1_1 
ID3V1_NUMSPECS 

Definition at line 154 of file globals.h.

◆ ID3_V2Spec

enum ID3_V2Spec
Enumerator
ID3V2_UNKNOWN 
ID3V2_2_0 
ID3V2_2_1 
ID3V2_3_0 
ID3V2_4_0 
ID3V2_EARLIEST 
ID3V2_LATEST 

Definition at line 161 of file globals.h.

◆ MP3_BitRates

Enumerator
MP3BITRATE_FALSE 
MP3BITRATE_NONE 
MP3BITRATE_8K 
MP3BITRATE_16K 
MP3BITRATE_24K 
MP3BITRATE_32K 
MP3BITRATE_40K 
MP3BITRATE_48K 
MP3BITRATE_56K 
MP3BITRATE_64K 
MP3BITRATE_80K 
MP3BITRATE_96K 
MP3BITRATE_112K 
MP3BITRATE_128K 
MP3BITRATE_144K 
MP3BITRATE_160K 
MP3BITRATE_176K 
MP3BITRATE_192K 
MP3BITRATE_224K 
MP3BITRATE_256K 
MP3BITRATE_288K 
MP3BITRATE_320K 
MP3BITRATE_352K 
MP3BITRATE_384K 
MP3BITRATE_416K 
MP3BITRATE_448K 

Definition at line 423 of file globals.h.

◆ Mp3_ChannelMode

Enumerator
MP3CHANNELMODE_FALSE 
MP3CHANNELMODE_STEREO 
MP3CHANNELMODE_JOINT_STEREO 
MP3CHANNELMODE_DUAL_CHANNEL 
MP3CHANNELMODE_SINGLE_CHANNEL 

Definition at line 486 of file globals.h.

◆ Mp3_Crc

enum Mp3_Crc
Enumerator
MP3CRC_ERROR_SIZE 
MP3CRC_MISMATCH 
MP3CRC_NONE 
MP3CRC_OK 

Definition at line 513 of file globals.h.

◆ Mp3_Emphasis

Enumerator
MP3EMPHASIS_FALSE 
MP3EMPHASIS_NONE 
MP3EMPHASIS_50_15MS 
MP3EMPHASIS_Reserved 
MP3EMPHASIS_CCIT_J17 

Definition at line 504 of file globals.h.

◆ Mp3_Frequencies

Enumerator
MP3FREQUENCIES_FALSE 
MP3FREQUENCIES_Reserved 
MP3FREQUENCIES_8000HZ 
MP3FREQUENCIES_11025HZ 
MP3FREQUENCIES_12000HZ 
MP3FREQUENCIES_16000HZ 
MP3FREQUENCIES_22050HZ 
MP3FREQUENCIES_24000HZ 
MP3FREQUENCIES_32000HZ 
MP3FREQUENCIES_48000HZ 
MP3FREQUENCIES_44100HZ 

Definition at line 471 of file globals.h.

◆ Mp3_ModeExt

Enumerator
MP3MODEEXT_FALSE 
MP3MODEEXT_0 
MP3MODEEXT_1 
MP3MODEEXT_2 
MP3MODEEXT_3 

Definition at line 495 of file globals.h.

◆ Mpeg_Layers

Enumerator
MPEGLAYER_FALSE 
MPEGLAYER_UNDEFINED 
MPEGLAYER_III 
MPEGLAYER_II 
MPEGLAYER_I 

Definition at line 453 of file globals.h.

◆ Mpeg_Version

Enumerator
MPEGVERSION_FALSE 
MPEGVERSION_2_5 
MPEGVERSION_Reserved 
MPEGVERSION_2 
MPEGVERSION_1 

Definition at line 462 of file globals.h.

Variable Documentation

◆ ID3LIB_BINARY_AGE

const int ID3LIB_BINARY_AGE
extern

Definition at line 45 of file globals.cpp.

◆ ID3LIB_FULL_NAME

const char* const ID3LIB_FULL_NAME
extern

Definition at line 40 of file globals.cpp.

◆ ID3LIB_INTERFACE_AGE

const int ID3LIB_INTERFACE_AGE
extern

Definition at line 44 of file globals.cpp.

◆ ID3LIB_MAJOR_VERSION

const int ID3LIB_MAJOR_VERSION
extern

Definition at line 41 of file globals.cpp.

◆ ID3LIB_MINOR_VERSION

const int ID3LIB_MINOR_VERSION
extern

Definition at line 42 of file globals.cpp.

◆ ID3LIB_NAME

const char* const ID3LIB_NAME
extern

Definition at line 38 of file globals.cpp.

◆ ID3LIB_PATCH_VERSION

const int ID3LIB_PATCH_VERSION
extern

Definition at line 43 of file globals.cpp.

◆ ID3LIB_RELEASE

const char* const ID3LIB_RELEASE
extern