Lumiera  0.pre.03
»edityourfreedom«
lib::time Namespace Reference

Namespaces

 digxel
 
 format
 
 mutation
 
 test
 

Typedefs

typedef lib::polyvalue::CloneValueSupport< MutationClonableMutation
 
typedef Digxel< FrameCnt, digxel::CountFormatterCountVal
 for displaying a counter More...
 
typedef lib::PolymorphicValue< Mutation, MUTATION_IMPL_SIZE, ClonableMutationEncapsulatedMutation
 
typedef int64_t FrameCnt
 relative framecount or frame number. More...
 
typedef boost::rational< long > FSecs
 rational representation of fractional seconds More...
 
typedef Digxel< uint, digxel::HexaFormatterHexaDigit
 for displaying a hex byte More...
 
typedef Digxel< int, digxel::HourFormatterHourDigit
 for displaying hours in H:M.S More...
 
typedef std::shared_ptr< const GridPGrid
 
typedef std::shared_ptr< const QuantiserPQuant
 
typedef Quantiser const & QuantR
 
typedef Digxel< int, digxel::SexaFormatterSexaDigit
 for displaying time components (sexagesimal) More...
 

Enumerations

enum  { MUTATION_IMPL_SIZE }
 

Classes

class  Control
 Frontend/Interface: controller-element to retrieve and change running time values. More...
 
class  Digxel
 A number element for building structured numeric displays. More...
 
class  Duration
 Duration is the internal Lumiera time metric. More...
 
class  FixedFrameQuantiser
 Simple stand-alone Quantiser implementation based on a constant sized gird. More...
 
class  FrameNr
 A frame counting timecode value. More...
 
class  FrameRate
 Framerate specified as frames per second. More...
 
class  Grid
 Abstraction of a value alignment grid. More...
 
class  HmsTC
 
class  ImposeOffsetMutation
 concrete time value mutation: adjust the given time entity by an offset amount. More...
 
class  MaterialiseIntoTarget
 concrete time value mutation: make the grid aligned time value explicit, and impose the resulting value to the given time points (or start points). More...
 
class  Mutation
 Interface: an opaque change imposed onto some time value. More...
 
class  NaturalNudgeMutation
 concrete time value mutation: nudge based on a implicit grid, which is either a quantised target value's own grid, or a natural grid. More...
 
class  NudgeMutation
 concrete time value mutation: nudge target value by the given number of 'steps', relative to the given grid. More...
 
class  Offset
 Offset measures a distance in time. More...
 
class  Quantiser
 Facility to create grid-aligned time values. More...
 
class  QuTime
 grid aligned time specification, referring to a specific scale. More...
 
class  Secs
 
class  SetNewDuration
 concrete time value mutation: set a new overall duration for an extended timespan. More...
 
class  SetNewStartTimeMutation
 concrete time value mutation: impose fixed new start time. More...
 
class  Signum
 special Digxel to show a sign. More...
 
class  SmpteTC
 Classical Timecode value reminiscent to SMPTE format. More...
 
class  TCode
 Interface: fixed format timecode specification. More...
 
class  Time
 Lumiera's internal time value datatype. More...
 
class  TimeSpan
 A time interval anchored at a specific point in time. More...
 
class  TimeValue
 basic constant internal time value. More...
 
class  TimeVar
 a mutable time value, behaving like a plain number, allowing copy and re-accessing More...
 

Functions

PQuant getDefaultGridFallback ()
 
int getHours (TimeValue const &t)
 
int getMillis (TimeValue t)
 
int getMins (TimeValue const &t)
 
int getSecs (TimeValue const &t)
 
 LUMIERA_ERROR_DECLARE (UNKNOWN_GRID)
 referring to an undefined grid or scale in value quantisation More...
 
 LUMIERA_ERROR_DECLARE (INVALID_MUTATION)
 Changing a time value in this way was not designated. More...
 
 LUMIERA_ERROR_DEFINE (INVALID_MUTATION, "Changing a time value in this way was not designated")
 
 LUMIERA_ERROR_DEFINE (UNKNOWN_GRID, "referring to an undefined grid or scale in value quantisation")
 
template<typename INT >
Offset operator* (Offset const &distance, INT factor)
 
template<typename INT >
Offset operator* (INT factor, Offset const &o)
 
template<typename INTX >
Offset operator* (boost::rational< INTX > factor, Offset const &offset)
 
template<typename INT >
Offset operator* (INT factor, Duration const &dur)
 
template<typename INT >
Offset operator* (Duration const &dur, INT factor)
 
Offset operator+ (Offset const &start, Offset const &toChain)
 
Duration operator+ (Duration const &base, Duration const &toAdd)
 

Typedef Documentation

◆ SexaDigit

for displaying time components (sexagesimal)

Definition at line 317 of file digxel.hpp.

◆ HexaDigit

for displaying a hex byte

Definition at line 318 of file digxel.hpp.

◆ HourDigit

for displaying hours in H:M.S

Definition at line 319 of file digxel.hpp.

◆ FrameCnt

typedef int64_t FrameCnt

relative framecount or frame number.

Used within the engine at places where the underlying grid and origin is obvious from the call context.

Warning
do not mix up gavl_time_t and FrameCnt.
use 64bit consistently. beware: long is 32bit on i386
Note
any conversion to frame numbers should go through time quantisation followed by conversion to FrameNr

Definition at line 321 of file digxel.hpp.

◆ CountVal

for displaying a counter

Definition at line 322 of file digxel.hpp.

◆ QuantR

typedef Quantiser const& QuantR

Definition at line 60 of file formats.hpp.

◆ PQuant

typedef std::shared_ptr< const Quantiser > PQuant

Definition at line 62 of file formats.hpp.

◆ PGrid

typedef std::shared_ptr<const Grid> PGrid

Definition at line 78 of file grid.hpp.

◆ ClonableMutation

◆ EncapsulatedMutation

◆ FSecs

typedef boost::rational<long> FSecs

rational representation of fractional seconds

Warning
do not mix up gavl_time_t and FSecs

Definition at line 205 of file timevalue.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MUTATION_IMPL_SIZE 

Definition at line 88 of file mutation.hpp.

Function Documentation

◆ getHours()

int lib::time::getHours ( TimeValue const &  t)
inline

Definition at line 61 of file lib/time/diagnostics.hpp.

References lumiera_time_hours().

Referenced by TimeBasics_test::checkComponentDiagnostics(), TimeCode::set_minsec(), and TimeCode::set_smpte().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMins()

int lib::time::getMins ( TimeValue const &  t)
inline

Definition at line 67 of file lib/time/diagnostics.hpp.

References lumiera_time_minutes().

Referenced by TimeBasics_test::checkComponentDiagnostics(), TimeCode::set_minsec(), and TimeCode::set_smpte().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSecs()

int lib::time::getSecs ( TimeValue const &  t)
inline

Definition at line 73 of file lib/time/diagnostics.hpp.

References lumiera_time_seconds().

Referenced by TimeBasics_test::checkComponentDiagnostics(), TimeCode::set_minsec(), and TimeCode::set_smpte().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMillis()

int lib::time::getMillis ( TimeValue  t)
inline

Definition at line 79 of file lib/time/diagnostics.hpp.

References lumiera_time_millis().

Referenced by TimeBasics_test::checkComponentDiagnostics().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LUMIERA_ERROR_DEFINE() [1/2]

lib::time::LUMIERA_ERROR_DEFINE ( INVALID_MUTATION  ,
"Changing a time value in this way was not designated"   
)

Referenced by FixedFrameQuantiser::timeOf().

+ Here is the caller graph for this function:

◆ LUMIERA_ERROR_DECLARE() [1/2]

lib::time::LUMIERA_ERROR_DECLARE ( INVALID_MUTATION  )

Changing a time value in this way was not designated.

◆ getDefaultGridFallback()

PQuant getDefaultGridFallback ( )
Todo:
placeholder for accessing a current or default session grid.

To be implemented later.

Definition at line 47 of file quantiser.cpp.

Referenced by Builder< TimeSpan, TimeSpan >::buildChangedValue().

+ Here is the caller graph for this function:

◆ LUMIERA_ERROR_DEFINE() [2/2]

lib::time::LUMIERA_ERROR_DEFINE ( UNKNOWN_GRID  ,
"referring to an undefined grid or scale in value quantisation"   
)

◆ LUMIERA_ERROR_DECLARE() [2/2]

lib::time::LUMIERA_ERROR_DECLARE ( UNKNOWN_GRID  )

referring to an undefined grid or scale in value quantisation

◆ operator+() [1/2]

Offset lib::time::operator+ ( Offset const &  start,
Offset const &  toChain 
)
inline

Definition at line 332 of file timevalue.hpp.

◆ operator*() [1/5]

Offset lib::time::operator* ( Offset const &  distance,
INT  factor 
)
inline

Definition at line 341 of file timevalue.hpp.

◆ operator*() [2/5]

Offset lib::time::operator* ( INT  factor,
Offset const &  o 
)
inline

Definition at line 348 of file timevalue.hpp.

◆ operator*() [3/5]

Offset lib::time::operator* ( boost::rational< INTX >  factor,
Offset const &  offset 
)
inline

Definition at line 357 of file timevalue.hpp.

References Offset::stretchedByRationalFactor().

+ Here is the call graph for this function:

◆ operator+() [2/2]

Duration lib::time::operator+ ( Duration const &  base,
Duration const &  toAdd 
)
inline

Definition at line 424 of file timevalue.hpp.

◆ operator*() [4/5]

Offset lib::time::operator* ( INT  factor,
Duration const &  dur 
)
inline

Definition at line 431 of file timevalue.hpp.

◆ operator*() [5/5]

Offset lib::time::operator* ( Duration const &  dur,
INT  factor 
)
inline

Definition at line 438 of file timevalue.hpp.