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;
68 bool isValid(
TagLib::File &file, offset_t segmentDataOffset)
const;
69 void addCueTrack(std::unique_ptr<CueTrack> &&cueTrack);
70 const CueTrackList &cueTrackList()
const;
71 void setTime(Time timestamp);
73 bool adjustOffset(offset_t offset, offset_t delta);
76 CueTrackList cueTracks;
83 using ReferenceTimeList = List<unsigned long long>;
86 bool isValid(
TagLib::File &file, offset_t segmentDataOffset)
const;
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;
101 bool adjustOffset(offset_t offset, offset_t delta);
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:51
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
off_t offset_t
Definition taglib.h:64