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);
int32 ID3_IsTagHeader(const uchar data[ID3_TAGHEADERSIZE])
static size_t IsV2Tag(const uchar *)
Analyses a buffer to determine if we have a valid ID3v2 tag header.
dami::String GetFileName() const
ID3_TagType
The various types of tags that id3lib can handle.
bool SetExperimental(bool)
The representative class of an id3 tag.
ID3_V2Spec GetSpec() const
Deprecated.
bool SetPadding(bool)
Turns padding on or off, dependant on the value of the boolean parameter.
virtual const ID3_Frame * GetNext()=0
size_t GetFileSize() const
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...
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 GetExperimental() const
size_t NumFrames() const
Returns the number of frames present in the tag object.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
virtual pos_type getCur()
Return the current position in the reader.
size_t GetPrependedBytes() const
bool HasTagType(ID3_TagType tt) const
Deprecated.
void render(ID3_Writer &, const ID3_TagImpl &)
bool SetExperimental(bool)
ID3_Frame * Find(ID3_FrameID id) const
void SetCompression(bool)
Deprecated.
virtual ID3_Frame * GetNext()=0
void AddFrames(const ID3_Frame *, size_t)
Copies an array of frames to the tag.
flags_t Update(flags_t=(flags_t) ID3TT_ALL)
bool HasV1Tag() const
Deprecated.
void AddFrame(const ID3_Frame &)
bool GetExtendedHeader() const
bool parse(ID3_TagImpl &, ID3_Reader &)
size_t GetFileSize() const
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.
size_t ID3_C_EXPORT ucslen(const unicode_t *unicode)
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 GetPrependedBytes() const
bool HasChanged() const
Indicates whether the tag has been altered since the last parse, render, or update.
Iterator * CreateIterator()
ID3_Tag & operator<<(const ID3_Frame &)
virtual pos_type getEnd()
Return the ending position in the reader.
const Mp3_Headerinfo * GetMp3HeaderInfo() const
ID3_V2Spec GetSpec() const
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 *)
Frames::iterator iterator
bool HasV2Tag() const
Deprecated.
size_t GetAppendedBytes() const
bool HasLyrics() const
Deprecated.
bool SetSpec(ID3_V2Spec)
Deprecated.
WString ID3_C_EXPORT toWString(const unicode_t[], size_t)
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.
bool GetExperimental() 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...
#define ID3_TAGHEADERSIZE
ID3_Frame * Find(ID3_FrameID) const
Finds frame with given frame id, fld id, and integer data.
size_t Size() const
Returns an over estimate of the number of bytes required to store a binary version of a tag...
Represents an id3v1 or id3v1.1 tag.
ID3_FieldID
Enumeration of the different types of fields in a frame.
const Mp3_Headerinfo * GetMp3HeaderInfo() const
Get's the mp3 Info like bitrate, mpeg version, etc.
size_t GetAppendedBytes() const
flags_t Strip(flags_t=(flags_t) ID3TT_ALL)