29 #ifndef _ID3LIB_TAG_IMPL_H_ 30 #define _ID3LIB_TAG_IMPL_H_ 75 typedef std::list<ID3_Frame *> Frames;
85 bool HasChanged()
const;
90 bool SetExtended(
bool);
91 bool SetExperimental(
bool);
92 bool SetPadding(
bool);
94 bool GetUnsync()
const;
95 bool GetExtended()
const;
96 bool GetExperimental()
const;
97 bool GetFooter()
const;
99 size_t GetExtendedBytes()
const;
132 iterator
begin() {
return _frames.begin(); }
133 iterator
end() {
return _frames.end(); }
134 const_iterator
begin()
const {
return _frames.begin(); }
135 const_iterator
end()
const {
return _frames.end(); }
139 size_t Link(
const char *fileInfo,
bool parseID3v1,
bool parseLyrics3);
141 void AddFrames(
const ID3_Frame *,
size_t);
145 size_t PaddingSize(
size_t)
const;
148 const_iterator Find(
const ID3_Frame *)
const;
151 void RenderExtHeader(
uchar *);
162 mutable const_iterator _cursor;
163 mutable bool _changed;
166 dami::String _file_name;
168 size_t _prepended_bytes;
169 size_t _appended_bytes;
170 bool _is_file_writable;
dami::String GetFileName() const
void SetCompression(bool)
ID3_TagType
The various types of tags that id3lib can handle.
The representative class of an id3 tag.
const_iterator begin() const
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
size_t GetPrependedBytes() const
Represents all possible types of tags.
void render(ID3_Writer &, const ID3_TagImpl &)
bool parse(ID3_TagImpl &, ID3_Reader &)
size_t GetFileSize() const
const Mp3_Headerinfo * GetMp3HeaderInfo() const
The representative class of an id3v2 frame.
size_t ID3_GetDataSize(const ID3_TagImpl &)
Frames::const_iterator const_iterator
Frames::iterator iterator
const_iterator end() const
size_t GetAppendedBytes() const
void AddNewFrame(ID3_Frame *f)
bool HasTagType(ID3_TagType tt) const
Represents an id3v1 or id3v1.1 tag.
ID3_FieldID
Enumeration of the different types of fields in a frame.