id3lib 3.8.3
|
The representative class of an id3v2 frame. More...
#include <id3lib_frame.h>
Classes | |
class | ConstIterator |
class | Iterator |
Public Member Functions | |
ID3_Frame (ID3_FrameID id=ID3FID_NOFRAME) | |
Default constructor; accepts as a default parameter the type of frame to create. | |
ID3_Frame (const ID3_Frame &) | |
virtual | ~ID3_Frame () |
void | Clear () |
Clears the frame of all data and resets the frame such that it can take on the form of any id3v2 frame that id3lib supports. | |
bool | SetID (ID3_FrameID id) |
Establishes the internal structure of an ID3_FrameImpl object so that it represents the id3v2 frame indicated by the parameter. | |
ID3_FrameID | GetID () const |
Returns the type of frame that the object represents. | |
ID3_Field * | GetField (ID3_FieldID name) const |
size_t | NumFields () const |
const char * | GetDescription () const |
const char * | GetTextID () const |
ID3_Frame & | operator= (const ID3_Frame &) |
bool | HasChanged () const |
bool | Parse (ID3_Reader &) |
void | Render (ID3_Writer &) const |
size_t | Size () |
bool | Contains (ID3_FieldID fld) const |
bool | SetSpec (ID3_V2Spec) |
ID3_V2Spec | GetSpec () const |
bool | SetCompression (bool b) |
Sets the compression flag within the frame. | |
bool | GetCompression () const |
Returns whether or not the compression flag is set. | |
size_t | GetDataSize () const |
bool | SetEncryptionID (uchar id) |
uchar | GetEncryptionID () const |
bool | SetGroupingID (uchar id) |
uchar | GetGroupingID () const |
Iterator * | CreateIterator () |
ConstIterator * | CreateIterator () const |
ID3_Field & | Field (ID3_FieldID name) const |
Returns a pointer to the frame's internal field indicated by the parameter. | |
Static Public Member Functions | |
static const char * | GetDescription (ID3_FrameID) |
The representative class of an id3v2 frame.
id3lib defines frames in a funny way. Using some nice c++ conventions, ID3_FrameImpl class objects appear to be quite polymorphic; that is, they can take on many forms. The same ID3_FrameImpl class provides the facilities for the implementation of a complex APIC frame and for a simple text frame.
Definition at line 38 of file id3lib_frame.h.
ID3_Frame::ID3_Frame | ( | ID3_FrameID | id = ID3FID_NOFRAME | ) |
Default constructor; accepts as a default parameter the type of frame to create.
The parameter which will internally set the frame's structure. See SetID() for more details.
id | The type of frame to create |
void ID3_Frame::Clear | ( | ) |
Clears the frame of all data and resets the frame such that it can take on the form of any id3v2 frame that id3lib supports.
bool ID3_Frame::Contains | ( | ID3_FieldID | fld | ) | const |
ID3_Frame::Iterator * ID3_Frame::CreateIterator | ( | ) |
ID3_Frame::ConstIterator * ID3_Frame::CreateIterator | ( | ) | const |
ID3_Field & ID3_Frame::Field | ( | ID3_FieldID | fieldName | ) | const |
Returns a pointer to the frame's internal field indicated by the parameter.
name | The name of the field to be retrieved |
bool ID3_Frame::GetCompression | ( | ) | const |
Returns whether or not the compression flag is set.
After parsing a tag, this will indicate whether or not the frame was compressed. After rendering a tag, however, it does not actually indicate if the frame is compressed rendering. It only indicates whether or not compression was attempted. A frame will not be compressed, even whent the compression flag is set, if the "compressed" data is no smaller than the "uncompressed" data.
|
static |
ID3_Field * ID3_Frame::GetField | ( | ID3_FieldID | name | ) | const |
ID3_FrameID ID3_Frame::GetID | ( | ) | const |
Returns the type of frame that the object represents.
Useful in conjunction with ID3_Tag::Find() method
ID3_V2Spec ID3_Frame::GetSpec | ( | ) | const |
bool ID3_Frame::Parse | ( | ID3_Reader & | reader | ) |
void ID3_Frame::Render | ( | ID3_Writer & | writer | ) | const |
bool ID3_Frame::SetCompression | ( | bool | b | ) |
bool ID3_Frame::SetID | ( | ID3_FrameID | id | ) |
Establishes the internal structure of an ID3_FrameImpl object so that it represents the id3v2 frame indicated by the parameter.
Given an ID3_FrameID (a list of which is found in <id3/field.h>), SetID() will structure the object according to the frame you wish to implement.
Either using this call or via the constructor, this must be the first command performed on an ID3_FrameImpl object.
id | The type of frame this frame should be set to |
bool ID3_Frame::SetSpec | ( | ID3_V2Spec | spec | ) |