Tag Parser  6.4.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Public Types | Public Member Functions | List of all members
Media::TagTarget Class Reference

The TagTarget class specifies the target of a tag. More...

#include <tagtarget.h>

Public Types

typedef uint64 IdType
 
typedef std::vector< IdTypeIdContainerType
 

Public Member Functions

 TagTarget (uint64 level=0, IdContainerType tracks=IdContainerType(), IdContainerType chapters=IdContainerType(), IdContainerType editions=IdContainerType(), IdContainerType attachments=IdContainerType())
 Constructs a new TagTarget with the specified level, track, chapter, edition and attachment. More...
 
uint64 level () const
 Returns the level. More...
 
void setLevel (uint64 level)
 Sets the level. More...
 
const std::string & levelName () const
 Returns the level name. More...
 
void setLevelName (const std::string &levelName)
 Sets the level name. More...
 
const IdContainerTypetracks () const
 Returns the tracks. More...
 
IdContainerTypetracks ()
 Returns the tracks. More...
 
const IdContainerTypechapters () const
 Returns the chapters. More...
 
IdContainerTypechapters ()
 Returns the chapters. More...
 
const IdContainerTypeeditions () const
 Returns the editions. More...
 
IdContainerTypeeditions ()
 Returns the editions. More...
 
const IdContainerTypeattachments () const
 Returns the attachments. More...
 
IdContainerTypeattachments ()
 Returns the attachments. More...
 
bool isEmpty () const
 Returns an indication whether the target is empty. More...
 
void clear ()
 Clears the TagTarget. More...
 
std::string toString (const std::function< TagTargetLevel(uint64)> &tagTargetMapping) const
 Returns the string representation of the current instance. More...
 
std::string toString (TagTargetLevel tagTargetLevel) const
 Returns the string representation of the current instance. More...
 
bool operator== (const TagTarget &other) const
 Returns whether the tag targets are equal. More...
 

Detailed Description

The TagTarget class specifies the target of a tag.

Tags might only target a specific track, chapter, ...

Specifying a target is currently only fully supported by Matroska.

Since Ogg saves tags at stream level, the stream can be specified by passing a TagTarget instance to OggContainer::createTag(). However, only the first track in the tracks() array is considered and any other values are just ignored.

In any other tag formats, the specified target is (currently) completely ignored.

Definition at line 31 of file tagtarget.h.

Member Typedef Documentation

◆ IdContainerType

Definition at line 35 of file tagtarget.h.

◆ IdType

typedef uint64 Media::TagTarget::IdType

Definition at line 34 of file tagtarget.h.

Constructor & Destructor Documentation

◆ TagTarget()

Media::TagTarget::TagTarget ( uint64  level = 0,
IdContainerType  tracks = IdContainerType(),
IdContainerType  chapters = IdContainerType(),
IdContainerType  editions = IdContainerType(),
IdContainerType  attachments = IdContainerType() 
)
inline

Constructs a new TagTarget with the specified level, track, chapter, edition and attachment.

Definition at line 70 of file tagtarget.h.

Member Function Documentation

◆ attachments() [1/2]

const TagTarget::IdContainerType & Media::TagTarget::attachments ( ) const
inline

Returns the attachments.

Definition at line 161 of file tagtarget.h.

◆ attachments() [2/2]

TagTarget::IdContainerType & Media::TagTarget::attachments ( )
inline

Returns the attachments.

Definition at line 169 of file tagtarget.h.

◆ chapters() [1/2]

const TagTarget::IdContainerType & Media::TagTarget::chapters ( ) const
inline

Returns the chapters.

Definition at line 129 of file tagtarget.h.

◆ chapters() [2/2]

TagTarget::IdContainerType & Media::TagTarget::chapters ( )
inline

Returns the chapters.

Definition at line 137 of file tagtarget.h.

◆ clear()

void Media::TagTarget::clear ( )
inline

Clears the TagTarget.

Definition at line 190 of file tagtarget.h.

◆ editions() [1/2]

const TagTarget::IdContainerType & Media::TagTarget::editions ( ) const
inline

Returns the editions.

Definition at line 145 of file tagtarget.h.

◆ editions() [2/2]

TagTarget::IdContainerType & Media::TagTarget::editions ( )
inline

Returns the editions.

Definition at line 153 of file tagtarget.h.

◆ isEmpty()

bool Media::TagTarget::isEmpty ( ) const
inline

Returns an indication whether the target is empty.

Definition at line 177 of file tagtarget.h.

◆ level()

uint64 Media::TagTarget::level ( ) const
inline

Returns the level.

Definition at line 81 of file tagtarget.h.

◆ levelName()

const std::string & Media::TagTarget::levelName ( ) const
inline

Returns the level name.

Definition at line 97 of file tagtarget.h.

◆ operator==()

bool Media::TagTarget::operator== ( const TagTarget other) const
inline

Returns whether the tag targets are equal.

Remarks
Targets where only the level name differs are considered equal though.

Definition at line 204 of file tagtarget.h.

◆ setLevel()

void Media::TagTarget::setLevel ( uint64  level)
inline

Sets the level.

Definition at line 89 of file tagtarget.h.

◆ setLevelName()

void Media::TagTarget::setLevelName ( const std::string &  levelName)
inline

Sets the level name.

Definition at line 105 of file tagtarget.h.

◆ toString() [1/2]

std::string Media::TagTarget::toString ( const std::function< TagTargetLevel(uint64)> &  tagTargetMapping) const
inline

Returns the string representation of the current instance.

Remarks
Uses the specified tagTargetMapping function to map the assigned level() to a TagTargetLevel if no levelName() is assigned.

Definition at line 218 of file tagtarget.h.

◆ toString() [2/2]

string Media::TagTarget::toString ( TagTargetLevel  tagTargetLevel) const

Returns the string representation of the current instance.

Remarks
Uses the specified tagTargetLevel if no levelName() is assigned.

Definition at line 60 of file tagtarget.cpp.

◆ tracks() [1/2]

const TagTarget::IdContainerType & Media::TagTarget::tracks ( ) const
inline

Returns the tracks.

Definition at line 113 of file tagtarget.h.

◆ tracks() [2/2]

TagTarget::IdContainerType & Media::TagTarget::tracks ( )
inline

Returns the tracks.

Definition at line 121 of file tagtarget.h.


The documentation for this class was generated from the following files: