MP4v2

Classes | Typedefs | Enumerations | Functions | Variables
mp4v2::impl::itmf Namespace Reference

(private) iTunes Metadata Format. More...

## Classes
class | CoverArtBox
| Functional class for covr-box (Cover-art Box) support. More...
class | Tags

## Typedefs
typedef Enum< BasicType, BT_UNDEFINED > | EnumBasicType
typedef Enum< GenreType, GENRE_UNDEFINED > | EnumGenreType
typedef Enum< StikType, STIK_UNDEFINED > | EnumStikType
typedef Enum< AccountType, AT_UNDEFINED > | EnumAccountType
typedef Enum< CountryCode, CC_UNDEFINED > | EnumCountryCode
typedef Enum< ContentRating, CR_UNDEFINED > | EnumContentRating

## Enumerations
enum | BasicType { BT_IMPLICIT = 0 , BT_UTF8 = 1 , BT_UTF16 = 2 , BT_SJIS = 3 , BT_HTML = 6 , BT_XML = 7 , BT_UUID = 8 , BT_ISRC = 9 , BT_MI3P = 10 , BT_GIF = 12 , BT_JPEG = 13 , BT_PNG = 14 , BT_URL = 15 , BT_DURATION = 16 , BT_DATETIME = 17 , BT_GENRES = 18 , BT_INTEGER = 21 , BT_RIAA_PA = 24 , BT_UPC = 25 , BT_BMP = 27 , BT_UNDEFINED = 255 }
| Basic set of types as detailed in spec. More...
enum | GenreType { GENRE_UNDEFINED = 0 , GENRE_BLUES = 1 , GENRE_CLASSIC_ROCK = 2 , GENRE_COUNTRY = 3 , GENRE_DANCE = 4 , GENRE_DISCO = 5 , GENRE_FUNK = 6 , GENRE_GRUNGE = 7 , GENRE_HIP_HOP = 8 , GENRE_JAZZ = 9 , GENRE_METAL = 10 , GENRE_NEW_AGE = 11 , GENRE_OLDIES = 12 , GENRE_OTHER = 13 , GENRE_POP = 14 , GENRE_R_AND_B = 15 , GENRE_RAP = 16 , GENRE_REGGAE = 17 , GENRE_ROCK = 18 , GENRE_TECHNO = 19 , GENRE_INDUSTRIAL = 20 , GENRE_ALTERNATIVE = 21 , GENRE_SKA = 22 , GENRE_DEATH_METAL = 23 , GENRE_PRANKS = 24 , GENRE_SOUNDTRACK = 25 , GENRE_EURO_TECHNO = 26 , GENRE_AMBIENT = 27 , GENRE_TRIP_HOP = 28 , GENRE_VOCAL = 29 , GENRE_JAZZ_FUNK = 30 , GENRE_FUSION = 31 , GENRE_TRANCE = 32 , GENRE_CLASSICAL = 33 , GENRE_INSTRUMENTAL = 34 , GENRE_ACID = 35 , GENRE_HOUSE = 36 , GENRE_GAME = 37 , GENRE_SOUND_CLIP = 38 , GENRE_GOSPEL = 39 , GENRE_NOISE = 40 , GENRE_ALTERNROCK = 41 , GENRE_BASS = 42 , GENRE_SOUL = 43 , GENRE_PUNK = 44 , GENRE_SPACE = 45 , GENRE_MEDITATIVE = 46 , GENRE_INSTRUMENTAL_POP = 47 , GENRE_INSTRUMENTAL_ROCK = 48 , GENRE_ETHNIC = 49 , GENRE_GOTHIC = 50 , GENRE_DARKWAVE = 51 , GENRE_TECHNO_INDUSTRIAL = 52 , GENRE_ELECTRONIC = 53 , GENRE_POP_FOLK = 54 , GENRE_EURODANCE = 55 , GENRE_DREAM = 56 , GENRE_SOUTHERN_ROCK = 57 , GENRE_COMEDY = 58 , GENRE_CULT = 59 , GENRE_GANGSTA = 60 , GENRE_TOP_40 = 61 , GENRE_CHRISTIAN_RAP = 62 , GENRE_POP_FUNK = 63 , GENRE_JUNGLE = 64 , GENRE_NATIVE_AMERICAN = 65 , GENRE_CABARET = 66 , GENRE_NEW_WAVE = 67 , GENRE_PSYCHEDELIC = 68 , GENRE_RAVE = 69 , GENRE_SHOWTUNES = 70 , GENRE_TRAILER = 71 , GENRE_LO_FI = 72 , GENRE_TRIBAL = 73 , GENRE_ACID_PUNK = 74 , GENRE_ACID_JAZZ = 75 , GENRE_POLKA = 76 , GENRE_RETRO = 77 , GENRE_MUSICAL = 78 , GENRE_ROCK_AND_ROLL = 79 , GENRE_HARD_ROCK = 80 , GENRE_FOLK = 81 , GENRE_FOLK_ROCK = 82 , GENRE_NATIONAL_FOLK = 83 , GENRE_SWING = 84 , GENRE_FAST_FUSION = 85 , GENRE_BEBOB = 86 , GENRE_LATIN = 87 , GENRE_REVIVAL = 88 , GENRE_CELTIC = 89 , GENRE_BLUEGRASS = 90 , GENRE_AVANTGARDE = 91 , GENRE_GOTHIC_ROCK = 92 , GENRE_PROGRESSIVE_ROCK = 93 , GENRE_PSYCHEDELIC_ROCK = 94 , GENRE_SYMPHONIC_ROCK = 95 , GENRE_SLOW_ROCK = 96 , GENRE_BIG_BAND = 97 , GENRE_CHORUS = 98 , GENRE_EASY_LISTENING = 99 , GENRE_ACOUSTIC = 100 , GENRE_HUMOUR = 101 , GENRE_SPEECH = 102 , GENRE_CHANSON = 103 , GENRE_OPERA = 104 , GENRE_CHAMBER_MUSIC = 105 , GENRE_SONATA = 106 , GENRE_SYMPHONY = 107 , GENRE_BOOTY_BASS = 108 , GENRE_PRIMUS = 109 , GENRE_PORN_GROOVE = 110 , GENRE_SATIRE = 111 , GENRE_SLOW_JAM = 112 , GENRE_CLUB = 113 , GENRE_TANGO = 114 , GENRE_SAMBA = 115 , GENRE_FOLKLORE = 116 , GENRE_BALLAD = 117 , GENRE_POWER_BALLAD = 118 , GENRE_RHYTHMIC_SOUL = 119 , GENRE_FREESTYLE = 120 , GENRE_DUET = 121 , GENRE_PUNK_ROCK = 122 , GENRE_DRUM_SOLO = 123 , GENRE_A_CAPELLA = 124 , GENRE_EURO_HOUSE = 125 , GENRE_DANCE_HALL = 126 , GENRE_NONE = 255 }
| enumerated genre as defined in ID3v1 specification but +1 as per iTMF spec. More...
enum | StikType { STIK_OLD_MOVIE = 0 , STIK_NORMAL = 1 , STIK_AUDIOBOOK = 2 , STIK_MUSIC_VIDEO = 6 , STIK_MOVIE = 9 , STIK_TV_SHOW = 10 , STIK_BOOKLET = 11 , STIK_RINGTONE = 14 , STIK_UNDEFINED = 255 }
| enumerated 8-bit Video Type used by iTunes. More...
enum | AccountType { AT_ITUNES = 0 , AT_AOL = 1 , AT_UNDEFINED = 255 }
| enumerated 8-bit Account Type used by the iTunes Store. More...
enum | CountryCode { CC_USA = 143441 , CC_FRA = 143442 , CC_DEU = 143443 , CC_GBR = 143444 , CC_AUT = 143445 , CC_BEL = 143446 , CC_FIN = 143447 , CC_GRC = 143448 , CC_IRL = 143449 , CC_ITA = 143450 , CC_LUX = 143451 , CC_NLD = 143452 , CC_PRT = 143453 , CC_ESP = 143454 , CC_CAN = 143455 , CC_SWE = 143456 , CC_NOR = 143457 , CC_DNK = 143458 , CC_CHE = 143459 , CC_AUS = 143460 , CC_NZL = 143461 , CC_JPN = 143462 , CC_UNDEFINED = 0 }
| enumerated 32-bit Country Code used by the iTunes Store. More...
enum | ContentRating { CR_NONE = 0 , CR_EXPLICIT = 1 , CR_CLEAN = 2 , CR_EXPLICIT_OLD = 4 , CR_UNDEFINED = 255 }
| enumerated 8-bit Content Rating used by iTunes. More...

## Functions
MP4ItmfItem * | genericItemAlloc (const string &code, uint32_t numData)
void | genericItemFree (MP4ItmfItem *item)
void | genericItemListFree (MP4ItmfItemList *list)
MP4ItmfItemList * | genericGetItems (MP4File &file)
MP4ItmfItemList * | genericGetItemsByCode (MP4File &file, const string &code)
MP4ItmfItemList * | genericGetItemsByMeaning (MP4File &file, const string &meaning, const string &name)
bool | genericAddItem (MP4File &file, const MP4ItmfItem *item)
bool | genericSetItem (MP4File &file, const MP4ItmfItem *item)
bool | genericRemoveItem (MP4File &file, const MP4ItmfItem *item)
BasicType | computeBasicType (const void *buffer, uint32_t size)
| compute BasicType by examining raw bytes header.

## Variables
const EnumBasicType | enumBasicType
const EnumGenreType | enumGenreType
const EnumStikType | enumStikType
const EnumAccountType | enumAccountType
const EnumCountryCode | enumCountryCode
const EnumContentRating | enumContentRating

## Detailed Description

(private) iTunes Metadata Format.

WARNING: THIS IS A PRIVATE NAMESPACE. NOT FOR PUBLIC CONSUMPTION.

This namespace implements some features that are specified by the iTunes Metadata Format Specification, revision 2008-04-16.

## Enumeration Type Documentation

## ◆ AccountType

enum mp4v2::impl::itmf::AccountType

enumerated 8-bit Account Type used by the iTunes Store.

Note values are not formally defined in any specification.

## ◆ BasicType

enum mp4v2::impl::itmf::BasicType

Basic set of types as detailed in spec.

Enumerator
BT_IMPLICIT | for use with tags for which no type needs to be indicated
BT_UTF8 | without any count or null terminator
BT_UTF16 | also known as UTF-16BE
BT_SJIS | deprecated unless it is needed for special Japanese characters
BT_HTML | the HTML file header specifies which HTML version
BT_XML | the XML header must identify the DTD or schemas
BT_UUID | also known as GUID; stored as 16 bytes in binary (valid as an ID)
BT_ISRC | stored as UTF-8 text (valid as an ID)
BT_MI3P | stored as UTF-8 text (valid as an ID)
BT_GIF | (deprecated) a GIF image
BT_JPEG | a JPEG image
BT_PNG | a PNG image
BT_URL | absolute, in UTF-8 characters
BT_DURATION | in milliseconds, 32-bit integer
BT_DATETIME | in UTC, counting seconds since midnight, January 1, 1904; 32 or 64-bits
BT_GENRES | a list of enumerated values, see GenreType
BT_INTEGER | a signed big-endian integer with length one of { 1,2,3,4,8 } bytes
BT_RIAA_PA | RIAA parental advisory; { -1=no, 1=yes, 0=unspecified }, 8-bit ingteger.
BT_UPC | Universal Product Code, in text UTF-8 format (valid as an ID)
BT_BMP | Windows bitmap image.

## ◆ ContentRating

enum mp4v2::impl::itmf::ContentRating

enumerated 8-bit Content Rating used by iTunes.

Note values are not formally defined in any specification.

## ◆ CountryCode

enum mp4v2::impl::itmf::CountryCode

enumerated 32-bit Country Code used by the iTunes Store.

Note values are not formally defined in any specification.

## ◆ GenreType

enum mp4v2::impl::itmf::GenreType

enumerated genre as defined in ID3v1 specification but +1 as per iTMF spec.

Note values 80 and higher are Winamp extensions.

## ◆ StikType

enum mp4v2::impl::itmf::StikType

enumerated 8-bit Video Type used by iTunes.

Note values are not formally defined in any specification.