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(); }
63 string describe()
const {
return string(tcID()); }
64 Time getTime()
const {
return Time(value()); }
71 virtual string show()
const =0;
72 virtual Literal tcID()
const =0;
101 string show()
const {
return string(CountVal::show())+
"#"; }
102 Literal tcID()
const {
return "Framecount"; }
103 TimeValue value()
const {
return Format::evaluate (*
this, *quantiser_); }
110 using TCode::operator string;
143 , boost::unit_steppable<SmpteTC>
145 uint effectiveFramerate_;
147 virtual string show()
const ;
148 virtual Literal tcID()
const {
return "SMPTE"; }
149 virtual TimeValue value()
const {
return Format::evaluate (*
this, *quantiser_); }
163 void invertOrientation();
186 virtual string show()
const {
return string(tpoint_); }
187 virtual Literal tcID()
const {
return "Timecode"; }
188 virtual TimeValue value()
const {
return tpoint_; }
195 double getMillis ()
const;
196 int getSecs ()
const;
197 int getMins ()
const;
198 int getHours ()
const;
211 virtual string show()
const {
return string(
Time(sec_)); }
212 virtual Literal tcID()
const {
return "Seconds"; }
220 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.