TagLib
2.1
|
An implementation of ID3v2 comments. More...
#include <commentsframe.h>
Public Member Functions | |
CommentsFrame (String::Type encoding=String::Latin1) | |
CommentsFrame (const ByteVector &data) | |
~CommentsFrame () override | |
CommentsFrame (const CommentsFrame &)=delete | |
CommentsFrame & | operator= (const CommentsFrame &)=delete |
String | toString () const override |
ByteVector | language () const |
String | description () const |
String | text () const |
void | setLanguage (const ByteVector &languageEncoding) |
void | setDescription (const String &s) |
void | setText (const String &s) override |
String::Type | textEncoding () const |
void | setTextEncoding (String::Type encoding) |
PropertyMap | asProperties () const override |
Public Member Functions inherited from TagLib::ID3v2::Frame | |
virtual | ~Frame () |
Frame (const Frame &)=delete | |
Frame & | operator= (const Frame &)=delete |
ByteVector | frameID () const |
unsigned int | size () const |
unsigned int | headerSize () const |
void | setData (const ByteVector &data) |
virtual StringList | toStringList () const |
ByteVector | render () const |
Header * | header () const |
Static Public Member Functions | |
static CommentsFrame * | findByDescription (const Tag *tag, const String &d) |
Static Public Member Functions inherited from TagLib::ID3v2::Frame | |
static ByteVector | textDelimiter (String::Type t) |
static ByteVector | keyToFrameID (const String &) |
static String | frameIDToKey (const ByteVector &) |
Protected Member Functions | |
void | parseFields (const ByteVector &data) override |
ByteVector | renderFields () const override |
Protected Member Functions inherited from TagLib::ID3v2::Frame | |
Frame (const ByteVector &data) | |
Frame (Header *h) | |
void | setHeader (Header *h, bool deleteCurrent=true) |
void | parse (const ByteVector &data) |
ByteVector | fieldData (const ByteVector &frameData) const |
String | readStringField (const ByteVector &data, String::Type encoding, int *position=nullptr) |
String::Type | checkTextEncoding (const StringList &fields, String::Type encoding) const |
Friends | |
class | FrameFactory |
Additional Inherited Members | |
Static Public Attributes inherited from TagLib::ID3v2::Frame | |
static const String | instrumentPrefix |
static const String | commentPrefix |
static const String | lyricsPrefix |
static const String | urlPrefix |
Static Protected Member Functions inherited from TagLib::ID3v2::Frame | |
static void | splitProperties (const PropertyMap &original, PropertyMap &singleFrameProperties, PropertyMap &tiplProperties, PropertyMap &tmclProperties) |
An implementation of ID3v2 comments.
This implements the ID3v2 comment format. An ID3v2 comment consists of a language encoding, a description and a single text field.
|
explicit |
Construct an empty comment frame that will use the text encoding encoding.
References TagLib::String::Latin1.
Referenced by CommentsFrame(), findByDescription(), operator=(), and renderFields().
|
explicit |
Construct a comment based on the data in data.
|
override |
Destroys this CommentFrame instance.
|
delete |
References CommentsFrame().
|
overridevirtual |
Parses this frame as PropertyMap with a single key.
Reimplemented from TagLib::ID3v2::Frame.
String TagLib::ID3v2::CommentsFrame::description | ( | ) | const |
Returns the description of this comment.
|
static |
Comments each have a unique description. This searches for a comment frame with the description d and returns a pointer to it. If no frame is found that matches the given description, null is returned.
References CommentsFrame(), and TagLib::ID3v2::Frame::Tag.
ByteVector TagLib::ID3v2::CommentsFrame::language | ( | ) | const |
Returns the language encoding as a 3 byte encoding as specified by ISO-639-2.
|
delete |
References CommentsFrame().
|
overrideprotectedvirtual |
Called by parse() to parse the field data. It makes this information available through the public API. This must be overridden by the subclasses.
Implements TagLib::ID3v2::Frame.
|
overrideprotectedvirtual |
Render the field data back to a binary format in a ByteVector. This must be overridden by subclasses.
Implements TagLib::ID3v2::Frame.
References CommentsFrame(), and TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.
void TagLib::ID3v2::CommentsFrame::setDescription | ( | const String & | s | ) |
Sets the description of the comment to s.
void TagLib::ID3v2::CommentsFrame::setLanguage | ( | const ByteVector & | languageEncoding | ) |
Set the language using the 3 byte language code from ISO-639-2 to languageEncoding.
|
overridevirtual |
void TagLib::ID3v2::CommentsFrame::setTextEncoding | ( | String::Type | encoding | ) |
Sets the text encoding to be used when rendering this frame to encoding.
String TagLib::ID3v2::CommentsFrame::text | ( | ) | const |
Returns the text of this comment.
String::Type TagLib::ID3v2::CommentsFrame::textEncoding | ( | ) | const |
Returns the text encoding that will be used in rendering this frame. This defaults to the type that was either specified in the constructor or read from the frame when parsed.
|
overridevirtual |
|
friend |
References FrameFactory.
Referenced by FrameFactory.