Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
TimeFormats_test Class Reference

Description

Test:
verify handling of grid aligned timecode values.
  • full cycle from parsing to formatting
  • mutating the components of timecode
  • some formatting corner cases
  • formatting in various formats

Definition at line 67 of file time-formats-test.cpp.

Private Member Functions

virtual void run (Arg)
 
void checkTimecodeUsageCycle ()
 
template<class TC >
void showTimeCode (TC timecode)
 
void checkFrames ()
 
void checkSeconds ()
 
void checkHms ()
 
void checkSmpte ()
 
void checkDropFrame ()
 
void checkCopyAssignments ()
 

Member Function Documentation

◆ run()

virtual void run ( Arg  )
inlineprivatevirtual

Definition at line 70 of file time-formats-test.cpp.

References TimeGrid::build(), TimeFormats_test::checkSmpte(), TimeFormats_test::checkTimecodeUsageCycle(), and FrameRate::PAL.

+ Here is the call graph for this function:

◆ checkTimecodeUsageCycle()

void checkTimecodeUsageCycle ( )
inlineprivate
Test:
demonstrate a full usage cycle of timecode and time values. Starting with a textual representation according to a specific timecode format, and based on the knowledge of the implicit underlying time grid (coordinate system, here with origin=0 and framerate=25fps), this timecode string may be parsed. This brings us (back) to the very origin, which is a raw TimeValue (internal time). Now, this time value might be manipulated, compared to other values etc. Anyway, at some point these time values need to be related to some time scale again, leading to quantised time values, which — finally — can be cast into a timecode format for external representation again, thus closing the circle.

Definition at line 96 of file time-formats-test.cpp.

References QuTime::accept(), Mutation::changeTime(), QuTime::formatAs(), Mutation::nudge(), Frames::parse(), Quantiser::retrieve(), and TimeFormats_test::showTimeCode().

Referenced by TimeFormats_test::run().

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

◆ showTimeCode()

template<class TC >
void showTimeCode ( TC  timecode)
inlineprivate

Definition at line 138 of file time-formats-test.cpp.

Referenced by TimeFormats_test::checkSmpte(), and TimeFormats_test::checkTimecodeUsageCycle().

+ Here is the caller graph for this function:

◆ checkFrames()

void checkFrames ( )
inlineprivate

Definition at line 144 of file time-formats-test.cpp.

◆ checkSeconds()

void checkSeconds ( )
inlineprivate

Definition at line 151 of file time-formats-test.cpp.

◆ checkHms()

void checkHms ( )
inlineprivate

Definition at line 158 of file time-formats-test.cpp.

◆ checkSmpte()

void checkSmpte ( )
inlineprivate
Test:
detailed coverage of SMPTE timecode representation. Using a scale grid with PAL framerate; this test doesn't cover the handling of drop-frame timecode.
  • creating a timecode representation causes frame quantisation
  • the components of SMPTE timecode can be accessed and manipulated
  • timecode can be incremented/decremented as a whole
  • we allow extension of the scale towards negative values
  • for these, the representation is flipped and the negative orientation only indicated through the sign field.

Definition at line 175 of file time-formats-test.cpp.

References TCode::describe(), SmpteTC::frames, TCode::getTime(), SmpteTC::hours, SmpteTC::invertOrientation(), SmpteTC::mins, SmpteTC::rebuild(), SmpteTC::secs, Digxel< NUM, FMT >::setValueRaw(), SmpteTC::sgn, and TimeFormats_test::showTimeCode().

Referenced by TimeFormats_test::run().

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

◆ checkDropFrame()

void checkDropFrame ( )
inlineprivate

Definition at line 274 of file time-formats-test.cpp.

◆ checkCopyAssignments()

void checkCopyAssignments ( )
inlineprivate

Definition at line 281 of file time-formats-test.cpp.

+ Inheritance diagram for TimeFormats_test:
+ Collaboration diagram for TimeFormats_test:

The documentation for this class was generated from the following file: