Tag Parser
9.0.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
The MatroskaTagField class is used by MatroskaTag to store the fields. More...
#include <matroskatagfield.h>
Public Member Functions | |
MatroskaTagField () | |
Constructs a new MatroskaTagField. More... | |
MatroskaTagField (const std::string &id, const TagValue &value) | |
Constructs a new MatroskaTagField with the specified id and value. More... | |
void | reparse (EbmlElement &simpleTagElement, Diagnostics &diag, bool parseNestedFields=true) |
Parses field information from the specified EbmlElement. More... | |
MatroskaTagFieldMaker | prepareMaking (Diagnostics &diag) |
Prepares making. More... | |
void | make (std::ostream &stream, Diagnostics &diag) |
Saves the field to the specified stream (makes a "SimpleTag" element). More... | |
bool | isAdditionalTypeInfoUsed () const |
Returns whether the additional type info is used. More... | |
bool | supportsNestedFields () const |
Returns whether nested fields are supported. More... | |
![]() | |
TagField () | |
Constructs an empty TagField. More... | |
TagField (const IdentifierType &id, const TagValue &value) | |
Constructs a new TagField with the specified id and value. More... | |
~TagField () | |
Destroys the TagField. More... | |
const IdentifierType & | id () const |
Returns the id of the current TagField. More... | |
std::string | idToString () const |
void | setId (const IdentifierType &id) |
Sets the id of the current Tag Field. More... | |
void | clearId () |
Clears the id of the current TagField. More... | |
TagValue & | value () |
Returns the value of the current TagField. More... | |
const TagValue & | value () const |
Returns the value of the current TagField. More... | |
void | setValue (const TagValue &value) |
Sets the value of the current TagField. More... | |
void | clearValue () |
Clears the value of the current TagField. More... | |
const TypeInfoType & | typeInfo () const |
Returns the type info of the current TagField. More... | |
void | setTypeInfo (const TypeInfoType &typeInfo) |
Sets the type info of the current TagField. More... | |
void | removeTypeInfo () |
Removes the type info from the current TagField. More... | |
bool | isTypeInfoAssigned () const |
Returns an indication whether a type info is assigned. More... | |
bool | isDefault () const |
Returns an indication whether the field is labeled as default. More... | |
void | setDefault (bool isDefault) |
Sets whether the field is labeled as default. More... | |
void | clear () |
Clears id, value, type info, sets default flag to false and resets further implementation specific values. More... | |
bool | isAdditionalTypeInfoUsed () const |
Returns an indication whether the additional type info is used. More... | |
const std::vector< MatroskaTagField > & | nestedFields () const |
Returns the nested fields. More... | |
std::vector< MatroskaTagField > & | nestedFields () |
Returns the nested fields. More... | |
bool | supportsNestedFields () const |
Returns whether nested fields are supported by the implementation. More... | |
Static Public Member Functions | |
static std::string | fieldIdFromString (const char *idString, std::size_t idStringSize=std::string::npos) |
Converts the specified ID string representation to an actual ID. More... | |
static std::string | fieldIdToString (const std::string &id) |
Returns the string representation for the specified id. More... | |
Friends | |
class | TagField< MatroskaTagField > |
Additional Inherited Members | |
![]() | |
using | IdentifierType = typename TagFieldTraits< MatroskaTagField >::IdentifierType |
using | TypeInfoType = typename TagFieldTraits< MatroskaTagField >::TypeInfoType |
The MatroskaTagField class is used by MatroskaTag to store the fields.
Definition at line 65 of file matroskatagfield.h.
TagParser::MatroskaTagField::MatroskaTagField | ( | ) |
Constructs a new MatroskaTagField.
Definition at line 24 of file matroskatagfield.cpp.
TagParser::MatroskaTagField::MatroskaTagField | ( | const std::string & | id, |
const TagValue & | value | ||
) |
Constructs a new MatroskaTagField with the specified id and value.
Definition at line 31 of file matroskatagfield.cpp.
|
inlinestatic |
Converts the specified ID string representation to an actual ID.
Definition at line 105 of file matroskatagfield.h.
|
inlinestatic |
Returns the string representation for the specified id.
Definition at line 114 of file matroskatagfield.h.
|
inline |
Returns whether the additional type info is used.
Definition at line 88 of file matroskatagfield.h.
void TagParser::MatroskaTagField::make | ( | std::ostream & | stream, |
Diagnostics & | diag | ||
) |
Saves the field to the specified stream (makes a "SimpleTag" element).
Throws | std::ios_base::failure when an IO error occurs. |
Throws | TagParser::Failure or a derived exception when a making error occurs. |
Definition at line 163 of file matroskatagfield.cpp.
MatroskaTagFieldMaker TagParser::MatroskaTagField::prepareMaking | ( | Diagnostics & | diag | ) |
Prepares making.
Throws | TagParser::Failure or a derived exception when a making error occurs. |
This method might be useful when it is necessary to know the size of the field before making it.
Definition at line 141 of file matroskatagfield.cpp.
void TagParser::MatroskaTagField::reparse | ( | EbmlElement & | simpleTagElement, |
Diagnostics & | diag, | ||
bool | parseNestedFields = true |
||
) |
Parses field information from the specified EbmlElement.
The specified atom should be a simple tag element. These elements represents the fields of a MatroskaTag.
Throws | std::ios_base::failure when an IO error occurs. |
Throws | TagParser::Failure or a derived exception when a parsing error occurs. |
Definition at line 46 of file matroskatagfield.cpp.
|
inline |
Returns whether nested fields are supported.
Definition at line 96 of file matroskatagfield.h.
|
friend |
Definition at line 66 of file matroskatagfield.h.