Go to the documentation of this file.
380 return _impl->
Size();
613 buf.append(
reinterpret_cast<const BString::value_type *
>(header),
615 buf.append(
reinterpret_cast<const BString::value_type *
>(buffer), size);
616 return this->
Parse(buf.data(), buf.size());
650 return this->
Render(mw, tt);
664 return writer.
getCur() - beg;
706 return _impl->
Link(fileInfo, flags);
714 return _impl->
Link(reader, flags);
719 return _impl->
Update(flags);
740 return _impl->
Strip(flags);
765 memmove((
char *)_tmp_filename, fn.c_str(), fn.size());
766 return _tmp_filename;
838 return _impl->
Find(
id);
844 return _impl->
Find(
id, fld, data);
851 return _impl->
Find(
id, fld, str);
858 return _impl->
Find(
id, fld, str);
990 for (
int i = numFrames - 1; i >= 0; i--)
996 size_t ID3_Tag::Link(
const char *fileInfo,
bool parseID3v1,
bool parseLyrics3)
998 return _impl->
Link(fileInfo, parseID3v1, parseLyrics3);
1075 : _cur(tag.begin()), _end(tag.end())
1082 while (next ==
NULL && _cur != _end)
1098 : _cur(tag.begin()), _end(tag.end())
1104 while (next ==
NULL && _cur != _end)
1117 return new IteratorImpl(*_impl);
1123 return new ConstIteratorImpl(*_impl);
Frames::const_iterator const_iterator
bool HasChanged() const
Indicates whether the tag has been altered since the last parse, render, or update.
bool AttachFrame(ID3_Frame *)
bool HasV1Tag() const
Deprecated.
static size_t IsV2Tag(const uchar *)
Analyses a buffer to determine if we have a valid ID3v2 tag header.
virtual const ID3_Frame * GetNext()=0
#define ID3_TAGHEADERSIZE
flags_t Update(flags_t=(flags_t) ID3TT_ALL)
size_t Size() const
Returns an over estimate of the number of bytes required to store a binary version of a tag.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
bool SetUnsync(bool)
Turns unsynchronization on or off, dependant on the value of the boolean parameter.
bool AttachFrame(ID3_Frame *)
Attaches a frame to the tag; the tag takes responsibility for releasing the frame's memory when tag g...
bool HasV2Tag() const
Deprecated.
int32 ID3_IsTagHeader(const uchar data[ID3_TAGHEADERSIZE])
bool SetPadding(bool)
Turns padding on or off, dependant on the value of the boolean parameter.
@ ID3TT_ID3V1
Represents an id3v1 or id3v1.1 tag.
size_t Render(uchar *, ID3_TagType=ID3TT_ID3V2) const
Renders the tag and writes it to the attached file; the type of tag rendered can be specified as a pa...
const char * GetFileName() const
ID3_FieldID
Enumeration of the different types of fields in a frame.
ID3_Frame * Find(ID3_FrameID) const
Finds frame with given frame id, fld id, and integer data.
bool SetExperimental(bool)
ID3_TagType
The various types of tags that id3lib can handle.
The representative class of an id3v2 frame.
ID3_Frame * Find(ID3_FrameID id) const
@ ID3TT_ID3V2
Represents an id3v2 tag.
size_t Link(const char *fileInfo, flags_t=(flags_t) ID3TT_ALL)
Attaches a file to the tag, parses the file, and adds any tag information found in the file to the ta...
virtual pos_type getCur()
Return the current position in the reader.
The representative class of an id3 tag.
bool GetExperimental() const
void AddFrames(const ID3_Frame *, size_t)
Copies an array of frames to the tag.
size_t Link(const char *fileInfo, flags_t=(flags_t) ID3TT_ALL)
size_t NumFrames() const
Returns the number of frames present in the tag object.
ID3_Frame * RemoveFrame(const ID3_Frame *)
bool GetExtendedHeader() const
void SetCompression(bool)
Deprecated.
bool SetExtendedHeader(bool)
Turns extended header rendering on or off, dependant on the value of the boolean parameter.
void render(ID3_Writer &, const ID3_TagImpl &)
void AddFrame(const ID3_Frame &)
size_t GetFileSize() const
bool parse(ID3_TagImpl &, ID3_Reader &)
ID3_Tag & operator=(const ID3_Tag &)
Deprecated.
size_t GetAppendedBytes() const
virtual pos_type getCur()=0
Return the next position that will be written to.
size_t Parse(const uchar *, size_t)
flags_t Strip(flags_t=(flags_t) ID3TT_ALL)
Iterator * CreateIterator()
bool GetExperimental() const
virtual pos_type getEnd()
Return the ending position in the reader.
ID3_Frame * RemoveFrame(const ID3_Frame *)
Removes a frame from the tag.
bool HasLyrics() const
Deprecated.
dami::String GetFileName() const
size_t GetPrependedBytes() const
void Clear()
Clears the object and disassociates it from any files.
ID3_V2Spec GetSpec() const
ID3_Tag & operator<<(const ID3_Frame &)
bool HasTagType(ID3_TagType tt) const
void AddFrame(const ID3_Frame &)
flags_t Strip(flags_t=(flags_t) ID3TT_ALL)
Strips the tag(s) from the attached file.
size_t GetAppendedBytes() const
bool HasTagType(ID3_TagType tt) const
Deprecated.
flags_t Update(flags_t=(flags_t) ID3TT_ALL)
void AddNewFrame(ID3_Frame *f)
Deprecated.
const Mp3_Headerinfo * GetMp3HeaderInfo() const
Get's the mp3 Info like bitrate, mpeg version, etc.
WString ID3_C_EXPORT toWString(const unicode_t[], size_t)
ID3_Tag(const char *name=NULL)
Default constructor; it can accept an optional filename as a parameter.
static size_t IsV2Tag(ID3_Reader &)
ID3_V2Spec GetSpec() const
Deprecated.
size_t GetPrependedBytes() const
virtual ID3_Frame * GetNext()=0
bool SetSpec(ID3_V2Spec)
Deprecated.
size_t GetFileSize() const
Frames::iterator iterator
size_t ID3_C_EXPORT ucslen(const unicode_t *unicode)
bool SetExperimental(bool)
const Mp3_Headerinfo * GetMp3HeaderInfo() const