|
Tag Parser 12.5.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
Implementation of TagParser::Tag for ID3v1 tags. More...
#include <id3v1tag.h>
Public Member Functions | |
| Id3v1Tag () | |
| Constructs a new tag. | |
| TagType | type () const override |
| Returns the type of the tag as TagParser::TagType. | |
| std::string_view | typeName () const override |
| Returns the type name of the tag as C-style string. | |
| bool | canEncodingBeUsed (TagTextEncoding encoding) const override |
| Returns only true for TagTextEncoding::Latin1. | |
| const TagValue & | value (KnownField value) const override |
| Returns the value of the specified field. | |
| bool | setValue (KnownField field, const TagValue &value) override |
| Assigns the given value to the specified field. | |
| bool | setValueConsideringTypeInfo (KnownField field, const TagValue &value, const std::string &typeInfo) |
| bool | hasField (KnownField field) const override |
| Returns an indication whether the specified field is present. | |
| void | removeAllFields () override |
| Removes all fields from the tag. | |
| std::size_t | fieldCount () const override |
| Returns the number of present fields. | |
| bool | supportsField (KnownField field) const override |
| Returns an indication whether the specified field is supported by the tag. | |
| void | ensureTextValuesAreProperlyEncoded () override |
| Ensures the encoding of all assigned text values is supported by the tag by converting the character set if necessary. | |
| void | parse (std::istream &sourceStream, Diagnostics &diag) |
| Parses tag information from the specified stream. | |
| void | make (std::ostream &targetStream, Diagnostics &diag) |
| Writes tag information to the specified stream. | |
| Public Member Functions inherited from TagParser::Tag | |
| virtual | ~Tag () |
| Destroys the Tag. | |
| std::string | toString () const |
| Returns a string representation of the tag. | |
| virtual TagTextEncoding | proposedTextEncoding () const |
| Returns the proposed text encoding. | |
| virtual std::vector< const TagValue * > | values (KnownField field) const |
| Returns the values of the specified field. | |
| virtual bool | setValues (KnownField field, const std::vector< TagValue > &values) |
| Assigns the given values to the specified field. | |
| const std::string & | version () const |
| Returns the version of the tag as std::string. | |
| std::uint64_t | size () const |
| Returns the size the tag within the file it is parsed from in bytes. | |
| virtual bool | supportsTarget () const |
| Returns an indication whether a target is supported by the tag. | |
| const TagTarget & | target () const |
| TagTarget & | target () |
| Returns the target of tag. | |
| void | setTarget (const TagTarget &target) |
| Sets the target of tag. | |
| virtual TagTargetLevel | targetLevel () const |
| Returns the name of the current tag target level. | |
| std::string_view | targetLevelName () const |
| Returns the name of the current target level. | |
| bool | isTargetingLevel (TagTargetLevel tagTargetLevel) const |
| Returns whether the tag is targeting the specified tagTargetLevel. | |
| std::string | targetString () const |
| Returns the string representation for the assigned tag target. | |
| virtual TagDataType | proposedDataType (KnownField field) const |
| Returns the proposed data type for the specified field as TagDataType. | |
| virtual bool | supportsDescription (KnownField field) const |
| Returns an indications whether the specified field supports descriptions. | |
| virtual bool | supportsMimeType (KnownField field) const |
| Returns an indications whether the specified field supports mime types. | |
| virtual bool | supportsMultipleValues (KnownField field) const |
| Returns an indications whether the specified field supports multiple values. | |
| virtual std::size_t | insertValues (const Tag &from, bool overwrite) |
| Inserts all compatible values from another Tag. | |
Static Public Attributes | |
| static constexpr TagType | tagType = TagType::Id3v1Tag |
| static constexpr std::string_view | tagName = "ID3v1 tag" |
Additional Inherited Members | |
| Protected Member Functions inherited from TagParser::Tag | |
| Tag () | |
| Constructs a new Tag. | |
| Protected Attributes inherited from TagParser::Tag | |
| std::string | m_version |
| std::uint64_t | m_size |
| std::unique_ptr< TagPrivate > | m_p |
| TagTarget | m_target |
Implementation of TagParser::Tag for ID3v1 tags.
Definition at line 10 of file id3v1tag.h.
| TagParser::Id3v1Tag::Id3v1Tag | ( | ) |
Constructs a new tag.
Definition at line 25 of file id3v1tag.cpp.
|
overridevirtual |
Returns only true for TagTextEncoding::Latin1.
Reimplemented from TagParser::Tag.
Definition at line 47 of file id3v1tag.cpp.
|
overridevirtual |
Ensures the encoding of all assigned text values is supported by the tag by converting the character set if necessary.
Implements TagParser::Tag.
Definition at line 260 of file id3v1tag.cpp.
|
overridevirtual |
Returns the number of present fields.
Implements TagParser::Tag.
Definition at line 233 of file id3v1tag.cpp.
|
overridevirtual |
Returns an indication whether the specified field is present.
Implements TagParser::Tag.
Definition at line 201 of file id3v1tag.cpp.
| void TagParser::Id3v1Tag::make | ( | std::ostream & | targetStream, |
| Diagnostics & | diag ) |
Writes tag information to the specified stream.
| 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 93 of file id3v1tag.cpp.
| void TagParser::Id3v1Tag::parse | ( | std::istream & | stream, |
| Diagnostics & | diag ) |
Parses tag information from the specified stream.
| 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 58 of file id3v1tag.cpp.
|
overridevirtual |
Removes all fields from the tag.
Implements TagParser::Tag.
Definition at line 222 of file id3v1tag.cpp.
|
overridevirtual |
Assigns the given value to the specified field.
Implements TagParser::Tag.
Definition at line 166 of file id3v1tag.cpp.
| bool TagParser::Id3v1Tag::setValueConsideringTypeInfo | ( | KnownField | field, |
| const TagValue & | value, | ||
| const std::string & | typeInfo ) |
Definition at line 196 of file id3v1tag.cpp.
|
overridevirtual |
Returns an indication whether the specified field is supported by the tag.
Implements TagParser::Tag.
Definition at line 244 of file id3v1tag.cpp.
|
overridevirtual |
Returns the type of the tag as TagParser::TagType.
This is TagType::Unspecified by default and might be overwritten when subclassing.
Reimplemented from TagParser::Tag.
Definition at line 29 of file id3v1tag.cpp.
|
overridevirtual |
Returns the type name of the tag as C-style string.
This is "unspecified" by default and might be overwritten when subclassing.
Reimplemented from TagParser::Tag.
Definition at line 34 of file id3v1tag.cpp.
|
overridevirtual |
Returns the value of the specified field.
Implements TagParser::Tag.
Definition at line 144 of file id3v1tag.cpp.
|
staticconstexpr |
Definition at line 15 of file id3v1tag.h.
|
staticconstexpr |
Definition at line 14 of file id3v1tag.h.