33 #ifndef STEAM_PLAY_TIMINGS_H 34 #define STEAM_PLAY_TIMINGS_H 46 #include <boost/rational.hpp> 69 enum PlaybackUrgency {
91 PlaybackUrgency playbackUrgency;
92 boost::rational<FrameCnt> playbackSpeed;
108 Time getOrigin()
const;
110 Time getFrameStartAt (FrameCnt frameNr)
const;
112 Duration getFrameDurationAt (FrameCnt refFrameNr)
const;
115 FrameCnt getBreakPointAfter (
TimeValue refPoint)
const;
133 Offset getRealOffset (FrameCnt frameOffset)
const;
146 Time getTimeDue(FrameCnt frameOffset)
const;
156 Duration getPlanningChunkDuration()
const;
165 FrameCnt establishNextPlanningChunkStart(FrameCnt anchorFrame)
const;
168 bool isOriginalSpeed()
const;
169 bool isTimebound()
const;
173 bool isValid()
const;
187 Timings::isOriginalSpeed()
const 189 return 1 == playbackSpeed;
193 Timings::isTimebound()
const 195 return play::TIMEBOUND == playbackUrgency;
Time scheduledDelivery
a wall clock time corresponding to the Grid's origin. Can be Time::Never (=not time bound) ...
Framerate specified as frames per second.
Generic frame timing specification.
Steam-Layer implementation namespace root.
Implementation namespace for support and library code.
Lumiera's internal time value datatype.
static Timings DISABLED
marker for halted output
Duration engineLatency
reasonable guess at the scheduling and dispatch-delay of the render engine
Lumiera error handling (C++ interface).
Offset measures a distance in time.
Duration is the internal Lumiera time metric.
int64_t FrameCnt
relative framecount or frame number.
a family of time value like entities and their relationships.
basic constant internal time value.