TagLib API Documentation
Classes | Typedefs | Enumerations | Functions
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  Stem
 
class  StemPrivate
 STEM. More...
 
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

List of chapters.

◆ CoverArtList

◆ ItemMap

Enumeration Type Documentation

◆ 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
Tclass derived from ChapterHolder and implementing read(File *)
Parameters
holderunique pointer to holder, initially null
filefile 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
Tclass derived from ChapterHolder and implementing write(File *)
Parameters
holderunique pointer to holder, initially null
filefile 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
Tclass derived from ChapterHolder
Parameters
holderunique pointer to holder, initially null
chapterslist of chapters to set