Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
lib::time Namespace Reference

Namespaces

 digxel
 
 format
 
 mutation
 
 test
 

Typedefs

typedef
lib::polyvalue::CloneValueSupport
< Mutation
ClonableMutation
 
typedef Digxel< FrameCnt,
digxel::CountFormatter
CountVal
 for displaying a counter More...
 
typedef lib::PolymorphicValue
< Mutation, MUTATION_IMPL_SIZE,
ClonableMutation
EncapsulatedMutation
 
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::HexaFormatter
HexaDigit
 for displaying a hex byte More...
 
typedef Digxel< int,
digxel::HourFormatter
HourDigit
 for displaying hours in H:M.S More...
 
typedef std::shared_ptr< const
Grid
PGrid
 
typedef std::shared_ptr< const
Quantiser
PQuant
 
typedef Quantiser const & QuantR
 
typedef Digxel< int,
digxel::SexaFormatter
SexaDigit
 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")
 
Offset operator* (boost::rational< int64_t > factor, Offset const &o)
 stretch offset by a possibly fractional factor More...
 
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 &o)
 
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

for displaying time components (sexagesimal)

Definition at line 317 of file digxel.hpp.

for displaying a hex byte

Definition at line 318 of file digxel.hpp.

for displaying hours in H:M.S

Definition at line 319 of file digxel.hpp.

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.

for displaying a counter

Definition at line 322 of file digxel.hpp.

typedef Quantiser const& QuantR

Definition at line 60 of file formats.hpp.

typedef std::shared_ptr< const Quantiser > PQuant

Definition at line 62 of file formats.hpp.

typedef std::shared_ptr<const Grid> PGrid

Definition at line 78 of file grid.hpp.

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
Enumerator
MUTATION_IMPL_SIZE 

Definition at line 88 of file mutation.hpp.

Function Documentation

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:

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:

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:

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:

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

Changing a time value in this way was not designated.

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

Definition at line 47 of file quantiser.cpp.

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

referring to an undefined grid or scale in value quantisation

Offset operator* ( boost::rational< int64_t >  factor,
Offset const &  o 
)

stretch offset by a possibly fractional factor

Definition at line 217 of file time.cpp.

References util::floordiv().

+ Here is the call graph for this function:

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

Definition at line 328 of file timevalue.hpp.

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

Definition at line 337 of file timevalue.hpp.

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

Definition at line 344 of file timevalue.hpp.

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

Definition at line 353 of file timevalue.hpp.

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

Definition at line 424 of file timevalue.hpp.

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

Definition at line 431 of file timevalue.hpp.

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

Definition at line 438 of file timevalue.hpp.