26 #ifndef TAGLIB_CHAPTERFRAME
27 #define TAGLIB_CHAPTERFRAME
46 friend class FrameFactory;
53 ChapterFrame(
const ID3v2::Header *tagHeader,
const ByteVector &data);
64 ChapterFrame(
const ByteVector &elementID,
65 unsigned int startTime,
unsigned int endTime,
66 unsigned int startOffset,
unsigned int endOffset,
72 virtual ~ChapterFrame();
80 ByteVector elementID()
const;
87 unsigned int startTime()
const;
94 unsigned int endTime()
const;
103 unsigned int startOffset()
const;
112 unsigned int endOffset()
const;
120 void setElementID(
const ByteVector &eID);
127 void setStartTime(
const unsigned int &sT);
134 void setEndTime(
const unsigned int &eT);
142 void setStartOffset(
const unsigned int &sO);
150 void setEndOffset(
const unsigned int &eO);
179 const FrameList &embeddedFrameList()
const;
192 const FrameList &embeddedFrameList(
const ByteVector &frameID)
const;
201 void addEmbeddedFrame(Frame *frame);
210 void removeEmbeddedFrame(Frame *frame,
bool del =
true);
219 void removeEmbeddedFrames(
const ByteVector &
id);
221 virtual String toString()
const;
223 PropertyMap asProperties()
const;
232 static ChapterFrame *findByElementID(
const Tag *tag,
const ByteVector &eID);
235 virtual void parseFields(
const ByteVector &data);
236 virtual ByteVector renderFields()
const;
239 ChapterFrame(
const ID3v2::Header *tagHeader,
const ByteVector &data, Header *h);
240 ChapterFrame(
const ChapterFrame &);
241 ChapterFrame &operator=(
const ChapterFrame &);
243 class ChapterFramePrivate;
244 ChapterFramePrivate *d;