Home Doc API Examples GitHub

Example Timing Converter (multi-device)

Timing Converters provide new representations of a timing object, by converting some aspect of its behavior. Timing converters slave after a timing object or another timing converter.

Demo Tips

  • open this page on multiple devices (or at least multiple browser tabs) (simultaneously) to verify multi-device timing.
  • the timing provider is shared globally, so others might be playing with demo too…
  • try reloading the demo on one device/tab while the demo is running on others.


Controls for root timing object

Root Timing Object

Skew Converter
Skews source timing object timeline with 2 units

Scale Converter
Scales source timing object timeline with factor 2

Delay Converter
Echo source timing object, delayed by 1 second.

Timeshift Converter
Timeshifts source timing object by -1 second

Loop Converter
Loops source timing object in the interval [0,10]

Range Converter
Enforces range [10,15] on source timing object

Derivative Converter
Derivative of source timing object.


var to = new TIMINGSRC.TimingObject({provider:timingProvier});
var toSkew = new TIMINGSRC.SkewConverter(to, 2);
var toDelay = new TIMINGSRC.DelayConverter(to, 1.0);
var toTimeshift = new TIMINGSRC.TimeShiftConverter(to, -1.0);
var toScale = new TIMINGSRC.ScaleConverter(to, 2);
var toLoop = new TIMINGSRC.LoopConverter(to, [0, 10]);
var toRange = new TIMINGSRC.RangeConverter(to, [10,15]);
var toDerivative = new TIMINGSRC.DerivativeConverter(to);