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);
764 memset((
char *)_tmp_filename, 0, ID3_PATH_LENGTH);
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);
857 WString str = toWString(data, ucslen(data));
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);
int32 ID3_IsTagHeader(const uchar data[ID3_TAGHEADERSIZE])
ID3_Frame * Find(ID3_FrameID id) const
static size_t IsV2Tag(const uchar *)
Analyses a buffer to determine if we have a valid ID3v2 tag header.
bool HasChanged() const
Indicates whether the tag has been altered since the last parse, render, or update.
size_t Size() const
Returns an over estimate of the number of bytes required to store a binary version of a tag.
ID3_TagType
The various types of tags that id3lib can handle.
bool SetExperimental(bool)
ID3_V2Spec GetSpec() const
The representative class of an id3 tag.
bool SetPadding(bool)
Turns padding on or off, dependant on the value of the boolean parameter.
bool HasV1Tag() const
Deprecated.
virtual const ID3_Frame * GetNext()=0
dami::String GetFileName() const
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...
ID3_Frame * Find(ID3_FrameID) const
Finds frame with given frame id, fld id, and integer data.
size_t Link(const char *fileInfo, flags_t=(flags_t) ID3TT_ALL)
const char * GetFileName() const
bool AttachFrame(ID3_Frame *)
Attaches a frame to the tag; the tag takes responsibility for releasing the frame's memory when tag g...
const Mp3_Headerinfo * GetMp3HeaderInfo() const
bool SetUnsync(bool)
Turns unsynchronization on or off, dependant on the value of the boolean parameter.
flags_t Update(flags_t=(flags_t) ID3TT_ALL)
void AddFrame(const ID3_Frame &)
bool HasV2Tag() const
Deprecated.
size_t GetPrependedBytes() const
bool GetExperimental() const
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
size_t GetFileSize() const
virtual pos_type getCur()
Return the current position in the reader.
size_t GetAppendedBytes() const
void render(ID3_Writer &, const ID3_TagImpl &)
bool SetExperimental(bool)
void SetCompression(bool)
Deprecated.
size_t NumFrames() const
Returns the number of frames present in the tag object.
virtual ID3_Frame * GetNext()=0
void AddFrames(const ID3_Frame *, size_t)
Copies an array of frames to the tag.
bool GetExperimental() const
flags_t Update(flags_t=(flags_t) ID3TT_ALL)
void AddFrame(const ID3_Frame &)
bool parse(ID3_TagImpl &, ID3_Reader &)
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...
size_t Parse(const uchar *, size_t)
bool SetExtendedHeader(bool)
Turns extended header rendering on or off, dependant on the value of the boolean parameter.
ID3_Frame * RemoveFrame(const ID3_Frame *)
Removes a frame from the tag.
bool AttachFrame(ID3_Frame *)
ID3_Tag & operator=(const ID3_Tag &)
Deprecated.
size_t GetFileSize() const
bool GetExtendedHeader() const
bool HasLyrics() const
Deprecated.
Iterator * CreateIterator()
ID3_Tag & operator<<(const ID3_Frame &)
virtual pos_type getEnd()
Return the ending position in the reader.
The representative class of an id3v2 frame.
flags_t Strip(flags_t=(flags_t) ID3TT_ALL)
Strips the tag(s) from the attached file.
Frames::const_iterator const_iterator
void Clear()
Clears the object and disassociates it from any files.
static size_t IsV2Tag(ID3_Reader &)
ID3_Frame * RemoveFrame(const ID3_Frame *)
bool HasTagType(ID3_TagType tt) const
Deprecated.
size_t GetAppendedBytes() const
Frames::iterator iterator
const Mp3_Headerinfo * GetMp3HeaderInfo() const
Get's the mp3 Info like bitrate, mpeg version, etc.
ID3_V2Spec GetSpec() const
Deprecated.
bool SetSpec(ID3_V2Spec)
Deprecated.
bool HasTagType(ID3_TagType tt) const
void AddNewFrame(ID3_Frame *f)
Deprecated.
virtual pos_type getCur()=0
Return the next position that will be written to.
ID3_Tag(const char *name=NULL)
Default constructor; it can accept an optional filename as a parameter.
#define ID3_TAGHEADERSIZE
size_t GetPrependedBytes() const
Represents an id3v1 or id3v1.1 tag.
ID3_FieldID
Enumeration of the different types of fields in a frame.
flags_t Strip(flags_t=(flags_t) ID3TT_ALL)