|
Tag Parser 12.5.1
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. | |
| MatroskaTagField (const std::string &id, const TagValue &value) | |
| Constructs a new MatroskaTagField with the specified id and value. | |
| void | reparse (EbmlElement &simpleTagElement, Diagnostics &diag, bool parseNestedFields=true) |
| Parses field information from the specified EbmlElement. | |
| MatroskaTagFieldMaker | prepareMaking (Diagnostics &diag) |
| Prepares making. | |
| void | make (std::ostream &stream, Diagnostics &diag) |
| Saves the field to the specified stream (makes a "SimpleTag" element). | |
| bool | isAdditionalTypeInfoUsed () const |
| Returns whether the additional type info is used. | |
| bool | supportsNestedFields () const |
| Returns whether nested fields are supported. | |
| Public Member Functions inherited from TagParser::TagField< MatroskaTagField > | |
| TagField () | |
| Constructs an empty TagField. | |
| ~TagField () | |
| Destroys the TagField. | |
| IdentifierType & | id () |
| Returns the id of the current TagField. | |
| std::string | idToString () const |
| Returns the id of the current TagField as string. | |
| void | setId (const IdentifierType &id) |
| Sets the id of the current Tag Field. | |
| void | clearId () |
| Clears the id of the current TagField. | |
| TagValue & | value () |
| Returns the value of the current TagField. | |
| void | setValue (const TagValue &value) |
| Sets the value of the current TagField. | |
| void | clearValue () |
| Clears the value of the current TagField. | |
| const TypeInfoType & | typeInfo () const |
| Returns the type info of the current TagField. | |
| void | setTypeInfo (const TypeInfoType &typeInfo) |
| Sets the type info of the current TagField. | |
| void | removeTypeInfo () |
| Removes the type info from the current TagField. | |
| bool | isTypeInfoAssigned () const |
| Returns an indication whether a type info is assigned. | |
| bool | isDefault () const |
| Returns an indication whether the field is labeled as default. | |
| void | setDefault (bool isDefault) |
| Sets whether the field is labeled as default. | |
| void | clear () |
| Clears id, value, type info, sets default flag to false and resets further implementation specific values. | |
| bool | isAdditionalTypeInfoUsed () const |
| Returns an indication whether the additional type info is used. | |
| const std::vector< MatroskaTagField > & | nestedFields () const |
| Returns the nested fields. | |
| bool | supportsNestedFields () const |
| Returns whether nested fields are supported by the implementation. | |
Static Public Member Functions | |
| static std::string | fieldIdFromString (std::string_view idString) |
| Converts the specified ID string representation to an actual ID. | |
| static std::string | fieldIdToString (const std::string &id) |
| Returns the string representation for the specified id. | |
| static void | normalizeId (std::string &id) |
| Ensures the specified id is upper-case as recommended by the Matroska spec. | |
Friends | |
| class | TagField< MatroskaTagField > |
Additional Inherited Members | |
| Public Types inherited from TagParser::TagField< MatroskaTagField > | |
| using | IdentifierType |
| using | TypeInfoType |
| Protected Member Functions inherited from TagParser::TagField< MatroskaTagField > | |
| void | internallyClearValue () |
| Clears the assigned value; called via clearValue() and clear(). | |
| void | internallyClearFurtherData () |
| Clears further data; called via clear(). | |
The MatroskaTagField class is used by MatroskaTag to store the fields.
Definition at line 67 of file matroskatagfield.h.
| TagParser::MatroskaTagField::MatroskaTagField | ( | ) |
Constructs a new MatroskaTagField.
Definition at line 25 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 32 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 184 of file matroskatagfield.cpp.
|
static |
Ensures the specified id is upper-case as recommended by the Matroska spec.
Definition at line 193 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 162 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 47 of file matroskatagfield.cpp.
|
inline |
Returns whether nested fields are supported.
Definition at line 96 of file matroskatagfield.h.
|
friend |
Definition at line 48 of file matroskatagfield.h.