TagLib
2.1
|
ID3v2 frame header implementation. More...
#include <id3v2frame.h>
Public Member Functions | |
Header (const ByteVector &data, unsigned int version=4) | |
virtual | ~Header () |
Header (const Header &)=delete | |
Header & | operator= (const Header &)=delete |
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) |
unsigned int | size () const |
bool | tagAlterPreservation () const |
void | setTagAlterPreservation (bool preserve) |
bool | fileAlterPreservation () const |
bool | readOnly () const |
bool | groupingIdentity () const |
bool | compression () const |
bool | encryption () const |
bool | unsynchronisation () const |
bool | dataLengthIndicator () const |
ByteVector | render () const |
ID3v2 frame header implementation.
The ID3v2 Frame Header (id3v2.4.0-structure.txt, 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.
|
explicit |
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.
version should be the ID3v2 version of the tag.
References version().
Referenced by Header(), and operator=().
|
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.
ByteVector TagLib::ID3v2::Frame::Header::frameID | ( | ) | const |
Returns the Frame ID (id3v2.4.0-structure.txt, 4) (id3v2.4.0-frames.txt, 4)
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.
References TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.
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.
References size().
void TagLib::ID3v2::Frame::Header::setTagAlterPreservation | ( | bool | preserve | ) |
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 | ) |
unsigned int TagLib::ID3v2::Frame::Header::size | ( | ) | const |
Returns the size of the frame header in bytes.
Referenced by setFrameSize().
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().
Referenced by Header(), setData(), and setVersion().