![]() |
Miam-Player
0.8.0
A nice music player
|
This is a specialization of text identification frames that allows for user defined entries. More...
#include <textidentificationframe.h>
Public Member Functions | |
UserTextIdentificationFrame (String::Type encoding=String::Latin1) | |
Constructs an empty user defined text identification frame. More... | |
UserTextIdentificationFrame (const ByteVector &data) | |
Creates a frame based on data. More... | |
UserTextIdentificationFrame (const String &description, const StringList &values, String::Type encoding=String::UTF8) | |
Creates a user defined text identification frame with the given description and values. More... | |
virtual String | toString () const |
This returns the textual representation of the data in the frame. More... | |
String | description () const |
Returns the description for this frame. More... | |
void | setDescription (const String &s) |
Sets the description of the frame to s. More... | |
StringList | fieldList () const |
void | setText (const String &text) |
Set the text of frame in the sanest way possible. More... | |
void | setText (const StringList &fields) |
PropertyMap | asProperties () const |
A UserTextIdentificationFrame is parsed into a PropertyMap as follows: More... | |
![]() | |
TextIdentificationFrame (const ByteVector &type, String::Type encoding) | |
Construct an empty frame of type type. More... | |
TextIdentificationFrame (const ByteVector &data) | |
This is a dual purpose constructor. More... | |
virtual | ~TextIdentificationFrame () |
Destroys this TextIdentificationFrame instance. More... | |
void | setText (const StringList &l) |
Text identification frames are a list of string fields. More... | |
String::Type | textEncoding () const |
Returns the text encoding that will be used in rendering this frame. More... | |
void | setTextEncoding (String::Type encoding) |
Sets the text encoding to be used when rendering this frame to encoding. More... | |
StringList | fieldList () const |
Returns a list of the strings in this frame. More... | |
PropertyMap | asProperties () const |
![]() | |
virtual | ~Frame () |
Destroys this Frame instance. More... | |
ByteVector | frameID () const |
Returns the Frame ID (Structure, 4) (Frames, 4) More... | |
unsigned int | size () const |
Returns the size of the frame. More... | |
void | setData (const ByteVector &data) |
Sets the data that will be used as the frame. More... | |
ByteVector | render () const |
Render the frame back to its binary format in a ByteVector. More... | |
Header (const ByteVector &data, bool synchSafeInts) | |
Construct a Frame Header based on data. More... | |
Header (const ByteVector &data, unsigned int version=4) | |
Construct a Frame Header based on data. More... | |
virtual | ~Header () |
Destroys this Header instance. More... | |
void | setData (const ByteVector &data, bool synchSafeInts) |
Sets the data for the Header. More... | |
void | setData (const ByteVector &data, unsigned int version=4) |
Sets the data for the Header. More... | |
ByteVector | frameID () const |
Returns the Frame ID (Structure, 4) (Frames, 4) More... | |
void | setFrameID (const ByteVector &id) |
Sets the frame's ID to id. More... | |
unsigned int | frameSize () const |
Returns the size of the frame data portion, as set when setData() was called or set explicitly via setFrameSize(). More... | |
void | setFrameSize (unsigned int size) |
Sets the size of the frame data portion. More... | |
unsigned int | version () const |
Returns the ID3v2 version of the header, as passed in from the construction of the header or set via setVersion(). More... | |
void | setVersion (unsigned int version) |
Sets the ID3v2 version of the header, changing has impact on the correct parsing/rendering of frame data. More... | |
bool | tagAlterPreservation () const |
Returns true if the flag for tag alter preservation is set. More... | |
void | setTagAlterPreservation (bool discard) |
Sets the flag for preservation of this frame if the tag is set. More... | |
bool | fileAlterPreservation () const |
Returns true if the flag for file alter preservation is set. More... | |
bool | readOnly () const |
Returns true if the frame is meant to be read only. More... | |
bool | groupingIdentity () const |
Returns true if the flag for the grouping identity is set. More... | |
bool | compression () const |
Returns true if compression is enabled for this frame. More... | |
bool | encryption () const |
Returns true if encryption is enabled for this frame. More... | |
bool | unsycronisation () const |
bool | unsynchronisation () const |
Returns true if unsynchronisation is enabled for this frame. More... | |
bool | dataLengthIndicator () const |
Returns true if the flag for a data length indicator is set. More... | |
ByteVector | render () const |
Render the Header back to binary format in a ByteVector. More... | |
bool | frameAlterPreservation () const |
Static Public Member Functions | |
static UserTextIdentificationFrame * | find (Tag *tag, const String &description) |
Searches for the user defined text frame with the description description in tag. More... | |
![]() | |
static TextIdentificationFrame * | createTIPLFrame (const PropertyMap &properties) |
This is a special factory method to create a TIPL (involved people list) frame from the given properties. More... | |
static TextIdentificationFrame * | createTMCLFrame (const PropertyMap &properties) |
This is a special factory method to create a TMCL (musician credits list) frame from the given properties. More... | |
static const KeyConversionMap & | involvedPeopleMap () |
Returns a KeyConversionMap mapping a role as it would be used in a PropertyMap to the corresponding key used in a TIPL ID3 frame to describe that role. More... | |
![]() | |
static Frame * | createTextualFrame (const String &key, const StringList &values) |
Creates a textual frame which corresponds to a single key in the PropertyMap interface. More... | |
static unsigned int | headerSize () |
Returns the size of the frame header. More... | |
static unsigned int | headerSize (unsigned int version) |
Returns the size of the frame header for the given ID3v2 version. More... | |
static ByteVector | textDelimiter (String::Type t) |
Returns the text delimiter that is used between fields for the string type t. More... | |
static unsigned int | size () |
Returns the size of the frame header in bytes. More... | |
static unsigned int | size (unsigned int version) |
Returns the size of the frame header in bytes for the ID3v2 version that's given. More... | |
Friends | |
class | FrameFactory |
Additional Inherited Members | |
![]() | |
static const String | instrumentPrefix |
The string with which an instrument name is prefixed to build a key in a PropertyMap; used to translate PropertyMaps to TMCL frames. More... | |
static const String | commentPrefix |
The PropertyMap key prefix which triggers the use of a COMM frame instead of a TXXX frame for a non-standard key. More... | |
static const String | lyricsPrefix |
The PropertyMap key prefix which triggers the use of a USLT frame instead of a TXXX frame for a non-standard key. More... | |
static const String | urlPrefix |
The PropertyMap key prefix which triggers the use of a WXXX frame instead of a TXX frame for a non-standard key. More... | |
![]() | |
virtual void | parseFields (const ByteVector &data) |
Called by parse() to parse the field data. More... | |
virtual ByteVector | renderFields () const |
Render the field data back to a binary format in a ByteVector. More... | |
TextIdentificationFrame (const ByteVector &data, Header *h) | |
The constructor used by the FrameFactory. More... | |
![]() | |
Frame (const ByteVector &data) | |
Constructs an ID3v2 frame using data to read the header information. More... | |
Frame (Header *h) | |
This creates an Frame using the header h. More... | |
Header * | header () const |
Returns a pointer to the frame header. More... | |
void | setHeader (Header *h, bool deleteCurrent=true) |
Sets the header to h. More... | |
void | parse (const ByteVector &data) |
Called by setData() to parse the frame data. More... | |
ByteVector | fieldData (const ByteVector &frameData) const |
Returns a ByteVector containing the field data given the frame data. More... | |
String | readStringField (const ByteVector &data, String::Type encoding, int *positon=0) |
Reads a String of type encoding from the ByteVector data. More... | |
String::Type | checkTextEncoding (const StringList &fields, String::Type encoding) const |
Checks a the list of string values to see if they can be used with the specified encoding and returns the recommended encoding. More... | |
PropertyMap | asProperties () const |
Parses the contents of this frame as PropertyMap. More... | |
![]() | |
static String::Type | checkEncoding (const StringList &fields, String::Type encoding) |
Checks a the list of string values to see if they can be used with the specified encoding and returns the recommended encoding. More... | |
static String::Type | checkEncoding (const StringList &fields, String::Type encoding, unsigned int version) |
Checks a the list of string values to see if they can be used with the specified encoding and returns the recommended encoding. More... | |
static ByteVector | keyToFrameID (const String &) |
Returns an appropriate ID3 frame ID for the given free-form tag key. More... | |
static String | frameIDToKey (const ByteVector &) |
Returns a free-form tag name for the given ID3 frame ID. More... | |
static String | keyToTXXX (const String &) |
Returns an appropriate TXXX frame description for the given free-form tag key. More... | |
static String | txxxToKey (const String &) |
Returns a free-form tag name for the given ID3 frame description. More... | |
static void | splitProperties (const PropertyMap &original, PropertyMap &singleFrameProperties, PropertyMap &tiplProperties, PropertyMap &tmclProperties) |
This helper function splits the PropertyMap original into three ProperytMaps singleFrameProperties, tiplProperties, and tmclProperties, such that: More... | |
This is a specialization of text identification frames that allows for user defined entries.
Each entry has a description in addition to the normal list of fields that a text identification frame has.
This description identifies the frame and must be unique.An ID3v2 custom text identification frame implementation
|
explicit |
Constructs an empty user defined text identification frame.
For this to be a useful frame both a description and text must be set.
|
explicit |
Creates a frame based on data.
TagLib::ID3v2::UserTextIdentificationFrame::UserTextIdentificationFrame | ( | const String & | description, |
const StringList & | values, | ||
String::Type | encoding = String::UTF8 |
||
) |
Creates a user defined text identification frame with the given description and values.
PropertyMap TagLib::ID3v2::UserTextIdentificationFrame::asProperties | ( | ) | const |
A UserTextIdentificationFrame is parsed into a PropertyMap as follows:
String TagLib::ID3v2::UserTextIdentificationFrame::description | ( | ) | const |
Returns the description for this frame.
StringList TagLib::ID3v2::UserTextIdentificationFrame::fieldList | ( | ) | const |
|
static |
Searches for the user defined text frame with the description description in tag.
This returns null if no matching frames were found.
void TagLib::ID3v2::UserTextIdentificationFrame::setDescription | ( | const String & | s | ) |
Sets the description of the frame to s.
s must be unique. You can check for the presence of another user defined text frame of the same type using find() and testing for null.
|
virtual |
Set the text of frame in the sanest way possible.
This should only be reimplemented in frames where there is some logical mapping to text.
Reimplemented from TagLib::ID3v2::TextIdentificationFrame.
void TagLib::ID3v2::UserTextIdentificationFrame::setText | ( | const StringList & | fields | ) |
|
virtual |
This returns the textual representation of the data in the frame.
Subclasses must reimplement this method to provide a string representation of the frame's data.
Reimplemented from TagLib::ID3v2::TextIdentificationFrame.
|
friend |