Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
quantiser.hpp File Reference

Library functions to support the formation of grid-aligned time values. More...

Go to the source code of this file.

Description

Library functions to support the formation of grid-aligned time values.

This is a crucial part of Lumiera's time and time handling framework; it serves as link between the precise internal time representation and various grid-aligned external standard time representations. The underlying theme is, by forcing all conversions to go through this central set of library functions, the notorious act of frame-aligning / grid-aligning time values, which can not be avoided, will at least be performed in a reproducible and predictable way. Moreover, the time handling library was built in a way such as to encourage use of the internal, abstracted yet precise time entities, so that the inevitable conversion to the imprecise but well-established external entities (frame numbers, SMPTE, drop frame, HMS) happens as late as possible.

Definition in file quantiser.hpp.

#include "lib/error.hpp"
#include "lib/time/grid.hpp"
#include "lib/time/formats.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/iter-adapter.hpp"
#include <vector>
#include <string>
#include <cmath>

Namespaces

namespace  lib
 Implementation namespace for support and library code.
 
namespace  lib::time
 
namespace  lib::time::anonymous_namespace{quantiser.hpp}
 

Classes

struct  ValTrait< int >
 
struct  ValTrait< double >
 
class  Quantiser
 Facility to create grid-aligned time values. More...
 
class  FixedFrameQuantiser
 Simple stand-alone Quantiser implementation based on a constant sized gird. More...
 

Functions

 LUMIERA_ERROR_DECLARE (UNKNOWN_GRID)
 referring to an undefined grid or scale in value quantisation
 
PQuant getDefaultGridFallback ()