21 #ifndef TAGLIB_MATROSKACUES_H 22 #define TAGLIB_MATROSKACUES_H 23 #ifndef DO_NOT_DOCUMENT 41 class Cues :
public Element
44 using CuePointList = std::list<std::unique_ptr<CuePoint>>;
45 explicit Cues(
offset_t segmentDataOffset);
48 void addCuePoint(std::unique_ptr<CuePoint> &&cuePoint);
49 const CuePointList &cuePointList();
50 bool sizeChanged(Element &caller,
offset_t delta)
override;
54 friend class EBML::MkCues;
55 ByteVector renderInternal()
override;
57 CuePointList cuePoints;
64 using CueTrackList = std::list<std::unique_ptr<CueTrack>>;
65 using Time =
unsigned long long;
69 void addCueTrack(std::unique_ptr<CueTrack> &&cueTrack);
70 const CueTrackList &cueTrackList()
const;
71 void setTime(Time timestamp);
76 CueTrackList cueTracks;
83 using ReferenceTimeList = List<unsigned long long>;
87 void setTrackNumber(
unsigned long long trackNr);
88 unsigned long long getTrackNumber()
const;
89 void setClusterPosition(
offset_t clusterPos);
91 void setRelativePosition(std::optional<offset_t> relativePos);
92 std::optional<offset_t> getRelativePosition()
const;
93 void setCodecState(std::optional<offset_t> codecStatePos);
94 std::optional<offset_t> getCodecState()
const;
95 void setBlockNumber(std::optional<unsigned long long> blockNr);
96 std::optional<unsigned long long> getBlockNumber()
const;
97 void setDuration(std::optional<unsigned long long> segmentTicks);
98 std::optional<unsigned long long> getDuration()
const;
99 void addReferenceTime(
unsigned long long refTime);
100 const ReferenceTimeList &referenceTimes()
const;
104 unsigned long long trackNumber = 0;
106 std::optional<offset_t> relativePosition;
107 std::optional<unsigned long long> blockNumber;
108 std::optional<unsigned long long> duration;
109 std::optional<offset_t> codecState;
110 ReferenceTimeList refTimes;
A file class with some useful methods for tag manipulation.
Definition: tfile.h:50
off_t offset_t
Definition: taglib.h:64
A namespace for all TagLib related classes and functions.
Definition: apefile.h:41