39 void sync(TrackPosition trackPos = TrackPosition(0));
41 void sync(TimePoint tp, TrackPosition pos);
43 void syncSoft(TimePoint tp, TrackPosition pos,
57 TimePoint srcTimePoint;
58 TrackPosition srcPosition = 0;
59 TimePoint dstTimePoint;
60 TrackDuration srcPosOffest = 0;
61 TrackPosition dstPosition = 0;
65 SoftSyncData makeSoftSyncData(
const TimePoint &srcTp,
const TrackPosition &srcPos,
66 const TimePoint &dstTp)
const;
68 TrackPosition positionFromTimeInternal(
const TimePoint &tp)
const;
70 TimePoint timeFromPositionInternal(
const TrackPosition &pos)
const;
72 void scrollTimeTillNow();
74 static SteadyClock::duration toClockDuration(TrackDuration trackDuration,
77 static TrackDuration toTrackDuration(SteadyClock::duration clockDuration,
PlaybackRate rate);
82 TrackPosition m_position = 0;
83 TimePoint m_timePoint;
84 std::optional<SoftSyncData> m_softSyncData;