TagLib::MP4 Namespace Reference

An implementation of MP4 (AAC, ALAC, ...) metadata. More...

## Classes

class | Chapter
class | ChapterHolder
class | CoverArt
| MP4 picture. More...
class | File
| An implementation of TagLib::File with MP4 specific methods. More...
class | Item
| MP4 item. More...
class | ItemFactory
| A factory for creating MP4 items during parsing. More...
class | NeroChapterList
class | Properties
| An implementation of MP4 audio properties. More...
class | QtChapterList
class | StemPrivate
| STEM. More...
class | Stem
class | Tag
| An MP4 tag implementation. More...

## Typedefs

using | ChapterList = List<Chapter>
| List of chapters.
using | CoverArtList = List<CoverArt>
using | ItemMap = TagLib::Map<String, Item>

## Enumerations

enum | AtomDataType { TypeImplicit = 0 , TypeUTF8 = 1 , TypeUTF16 = 2 , TypeSJIS = 3 , TypeHTML = 6 , TypeXML = 7 , TypeUUID = 8 , TypeISRC = 9 , TypeMI3P = 10 , TypeGIF = 12 , TypeJPEG = 13 , TypePNG = 14 , TypeURL = 15 , TypeDuration = 16 , TypeDateTime = 17 , TypeGenred = 18 , TypeInteger = 21 , TypeRIAAPA = 24 , TypeUPC = 25 , TypeBMP = 27 , TypeUndefined = 255 }

## Functions

template<typename T>
ChapterList | getChaptersLazy (std::unique_ptr< T > &holder, TagLib::File *file)
template<typename T>
void | setChaptersLazy (std::unique_ptr< T > &holder, const ChapterList &chapters)
template<typename T>
bool | saveChaptersIfModified (std::unique_ptr< T > &holder, TagLib::File *file)

## Detailed Description

An implementation of MP4 (AAC, ALAC, ...) metadata.

## Typedef Documentation

## ChapterList

using TagLib::MP4::ChapterList = List<Chapter>

List of chapters.

## CoverArtList

using TagLib::MP4::CoverArtList = List<CoverArt>

## ItemMap

using TagLib::MP4::ItemMap = TagLib::Map<String, Item>

## Enumeration Type Documentation

## AtomDataType

enum TagLib::MP4::AtomDataType

Enumerator
TypeImplicit | For use with tags for which no type needs to be indicated because only one type is allowed.
TypeUTF8 | Without any count or null terminator.
TypeUTF16 | Also known as UTF-16BE.
TypeSJIS | Deprecated unless it is needed for special Japanese characters.
TypeHTML | The HTML file header specifies which HTML version.
TypeXML | The XML header must identify the DTD or schemas.
TypeUUID | Also known as GUID; stored as 16 bytes in binary (valid as an ID).
TypeISRC | Stored as UTF-8 text (valid as an ID).
TypeMI3P | Stored as UTF-8 text (valid as an ID).
TypeGIF | (Deprecated) A GIF image
TypeJPEG | A JPEG image.
TypePNG | A PNG image.
TypeURL | Absolute, in UTF-8 characters.
TypeDuration | In milliseconds, 32-bit integer.
TypeDateTime | In UTC, counting seconds since midnight, January 1, 1904; 32 or 64-bits.
TypeGenred | A list of enumerated values.
TypeInteger | A signed big-endian integer with length one of { 1,2,3,4,8 } bytes.
TypeRIAAPA | RIAA parental advisory; { -1=no, 1=yes, 0=unspecified }, 8-bit integer.
TypeUPC | Universal Product Code, in text UTF-8 format (valid as an ID).
TypeBMP | Windows bitmap image.
TypeUndefined | Undefined.

## Function Documentation

## getChaptersLazy()

template<typename T>

ChapterList TagLib::MP4::getChaptersLazy | ( | std::unique_ptr< T > & | holder,
|  | TagLib::File * | file )

Lazily fetch list of chapters.

Template Parameters

  T | class derived from ChapterHolder and implementing read(File *)

Parameters

  holder | unique pointer to holder, initially null
  file | file with chapters

Returns
  list of chapters, empty if no chapters found.

## saveChaptersIfModified()

template<typename T>

bool TagLib::MP4::saveChaptersIfModified | ( | std::unique_ptr< T > & | holder,
|  | TagLib::File * | file )

Save a list of chapters if it has been modified.

Template Parameters

  T | class derived from ChapterHolder and implementing write(File *)

Parameters

  holder | unique pointer to holder, initially null
  file | file with chapters

Returns
  true if write successful or not modified.

## setChaptersLazy()

template<typename T>

void TagLib::MP4::setChaptersLazy | ( | std::unique_ptr< T > & | holder,
|  | const ChapterList & | chapters )

Lazily set a list of chapters.

Template Parameters

  T | class derived from ChapterHolder

Parameters

  holder | unique pointer to holder, initially null
  chapters | list of chapters to set