36 #ifndef LIB_TIME_TIMECODE_H 37 #define LIB_TIME_TIMECODE_H 44 #include <boost/operators.hpp> 45 #include <boost/lexical_cast.hpp> 54 using boost::lexical_cast;
71 operator string()
const {
return show(); }
72 string describe()
const {
return string(tcID()); }
73 Time getTime()
const {
return Time(value()); }
80 virtual string show()
const =0;
81 virtual Literal tcID()
const =0;
110 string show()
const {
return string(CountVal::show())+
"#"; }
111 Literal tcID()
const {
return "Framecount"; }
112 TimeValue value()
const {
return Format::evaluate (*
this, *quantiser_); }
119 using TCode::operator string;
152 , boost::unit_steppable<SmpteTC>
154 uint effectiveFramerate_;
156 virtual string show()
const ;
157 virtual Literal tcID()
const {
return "SMPTE"; }
158 virtual TimeValue value()
const {
return Format::evaluate (*
this, *quantiser_); }
172 void invertOrientation();
195 virtual string show()
const {
return string(tpoint_); }
196 virtual Literal tcID()
const {
return "Timecode"; }
197 virtual TimeValue value()
const {
return tpoint_; }
204 double getMillis ()
const;
205 int getSecs ()
const;
206 int getMins ()
const;
207 int getHours ()
const;
220 virtual string show()
const {
return string(
Time(sec_)); }
221 virtual Literal tcID()
const {
return "Seconds"; }
229 operator FSecs()
const;
a mutable time value, behaving like a plain number, allowing copy and re-accessing ...
A self-contained numeric element for building structured numeric displays.
Classical Timecode value reminiscent to SMPTE format.
inline string literal This is a marker type to indicate that
Implementation namespace for support and library code.
Lumiera's internal time value datatype.
Marker types to indicate a literal string and a Symbol.
A number element for building structured numeric displays.
boost::rational< int64_t > FSecs
rational representation of fractional seconds
special Digxel to show a sign.
Interface: fixed format timecode specification.
A frame counting timecode value.
a family of time value like entities and their relationships.
basic constant internal time value.
grid aligned time specification, referring to a specific scale.