TagLib
1.13.1
|
ID3v2 frame header implementation. More...
#include <id3v2frame.h>
Public Member Functions | |
TAGLIB_DEPRECATED | Header (const ByteVector &data, bool synchSafeInts) |
Header (const ByteVector &data, unsigned int version=4) | |
virtual | ~Header () |
TAGLIB_DEPRECATED void | setData (const ByteVector &data, bool synchSafeInts) |
void | setData (const ByteVector &data, unsigned int version=4) |
ByteVector | frameID () const |
void | setFrameID (const ByteVector &id) |
unsigned int | frameSize () const |
void | setFrameSize (unsigned int size) |
unsigned int | version () const |
void | setVersion (unsigned int version) |
bool | tagAlterPreservation () const |
void | setTagAlterPreservation (bool discard) |
bool | fileAlterPreservation () const |
bool | readOnly () const |
bool | groupingIdentity () const |
bool | compression () const |
bool | encryption () const |
bool | unsynchronisation () const |
bool | dataLengthIndicator () const |
ByteVector | render () const |
TAGLIB_DEPRECATED bool | frameAlterPreservation () const |
Static Public Member Functions | |
static unsigned int | size () |
static unsigned int | size (unsigned int version) |
ID3v2 frame header implementation.
The ID3v2 Frame Header (Structure, 4)
Every ID3v2::Frame has an associated header that gives some general properties of the frame and also makes it possible to identify the frame type.
As such when reading an ID3v2 tag ID3v2::FrameFactory first creates the frame headers and then creates the appropriate Frame subclass based on the type and attaches the header.
TAGLIB_DEPRECATED TagLib::ID3v2::Frame::Header::Header | ( | const ByteVector & | data, |
bool | synchSafeInts ) |
Construct a Frame Header based on data. data must at least contain a 4 byte frame ID, and optionally can contain flag data and the frame size. i.e. Just the frame id – "TALB" – is a valid value.
|
explicit |
|
virtual |
Destroys this Header instance.
bool TagLib::ID3v2::Frame::Header::compression | ( | ) | const |
Returns true if compression is enabled for this frame.
bool TagLib::ID3v2::Frame::Header::dataLengthIndicator | ( | ) | const |
Returns true if the flag for a data length indicator is set.
bool TagLib::ID3v2::Frame::Header::encryption | ( | ) | const |
Returns true if encryption is enabled for this frame.
bool TagLib::ID3v2::Frame::Header::fileAlterPreservation | ( | ) | const |
Returns true if the flag for file alter preservation is set.
TAGLIB_DEPRECATED bool TagLib::ID3v2::Frame::Header::frameAlterPreservation | ( | ) | const |
ByteVector TagLib::ID3v2::Frame::Header::frameID | ( | ) | const |
unsigned int TagLib::ID3v2::Frame::Header::frameSize | ( | ) | const |
Returns the size of the frame data portion, as set when setData() was called or set explicitly via setFrameSize().
bool TagLib::ID3v2::Frame::Header::groupingIdentity | ( | ) | const |
Returns true if the flag for the grouping identity is set.
bool TagLib::ID3v2::Frame::Header::readOnly | ( | ) | const |
Returns true if the frame is meant to be read only.
ByteVector TagLib::ID3v2::Frame::Header::render | ( | ) | const |
Render the Header back to binary format in a ByteVector.
TAGLIB_DEPRECATED void TagLib::ID3v2::Frame::Header::setData | ( | const ByteVector & | data, |
bool | synchSafeInts ) |
Sets the data for the Header.
void TagLib::ID3v2::Frame::Header::setData | ( | const ByteVector & | data, |
unsigned int | version = 4 ) |
void TagLib::ID3v2::Frame::Header::setFrameID | ( | const ByteVector & | id | ) |
Sets the frame's ID to id. Only the first four bytes of id will be used.
void TagLib::ID3v2::Frame::Header::setFrameSize | ( | unsigned int | size | ) |
Sets the size of the frame data portion.
void TagLib::ID3v2::Frame::Header::setTagAlterPreservation | ( | bool | discard | ) |
Sets the flag for preservation of this frame if the tag is set. If this is set to true the frame will not be written when the tag is saved.
The semantics are a little backwards from what would seem natural (setting the preservation flag to throw away the frame), but this follows the ID3v2 standard.
void TagLib::ID3v2::Frame::Header::setVersion | ( | unsigned int | version | ) |
Sets the ID3v2 version of the header, changing has impact on the correct parsing/rendering of frame data.
|
static |
Returns the size of the frame header in bytes.
|
static |
Returns the size of the frame header in bytes for the ID3v2 version that's given.
bool TagLib::ID3v2::Frame::Header::tagAlterPreservation | ( | ) | const |
Returns true if the flag for tag alter preservation is set.
The semantics are a little backwards from what would seem natural (setting the preservation flag to throw away the frame), but this follows the ID3v2 standard.
bool TagLib::ID3v2::Frame::Header::unsynchronisation | ( | ) | const |
Returns true if unsynchronisation is enabled for this frame.
unsigned int TagLib::ID3v2::Frame::Header::version | ( | ) | const |
Returns the ID3v2 version of the header, as passed in from the construction of the header or set via setVersion().