27#ifndef LIB_TIME_TIMECODE_H
28#define LIB_TIME_TIMECODE_H
35#include <boost/operators.hpp>
36#include <boost/lexical_cast.hpp>
45 using boost::lexical_cast;
62 operator string()
const {
return show(); }
71 virtual string show()
const =0;
113 using TCode::operator string;
146 , boost::unit_steppable<SmpteTC>
150 virtual string show()
const ;
Token or Atom with distinct identity.
A number element for building structured numeric displays.
digxel::CBuf show() const
A frame counting timecode value.
static FrameCnt quant(Time const &, Symbol gridID)
convenience shortcut: time grid to frame number
virtual string show() const
virtual TimeValue value() const
virtual Literal tcID() const
grid aligned time specification, referring to a specific scale.
virtual string show() const
virtual TimeValue value() const
virtual Literal tcID() const
special Digxel to show a sign.
Classical Timecode value reminiscent to SMPTE format.
virtual string show() const
void invertOrientation()
flip the orientation of min, sec, and frames.
virtual TimeValue value() const
virtual Literal tcID() const
SmpteTC & operator=(SmpteTC const &)
Interface: fixed format timecode specification.
virtual string show() const =0
virtual Literal tcID() const =0
TCode(PQuant const &quant)
virtual TimeValue value() const =0
basic constant internal time value.
a mutable time value, behaving like a plain number, allowing copy and re-accessing
Lumiera's internal time value datatype.
A self-contained numeric element for building structured numeric displays.
int64_t FrameCnt
relative framecount or frame number.
std::shared_ptr< const Quantiser > PQuant
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Implementation namespace for support and library code.
Marker types to indicate a literal string and a Symbol.
a family of time value like entities and their relationships.