Interface DoubleClockedSignalSource

All Superinterfaces:
AbstractClockedSignalSource, AbstractSignalSource, CompilableControlFlow, CompilableDataFlow, Component, DoubleSignalSource, DoubleSupplier, Process
All Known Subinterfaces:
DoubleADSR
All Known Implementing Classes:
CompilableDoubleStoredSignalSource, DoubleClockedSignalSource.AbstractRandom, DoubleDelay, DoubleEnvelope, DoubleFMOsci, DoubleFractionalDelay, DoubleMultiDelay, DoubleOctaveRepeatingTabledTuning, DoubleProcessMux, DoubleSaH, DoubleStoredSignalSource, DoubleTableOscillator, DoubleUpsamplingSignalSource

public interface DoubleClockedSignalSource extends DoubleSignalSource, AbstractClockedSignalSource
Interface of a signal (time-dependent value) source of primitive type double whose observable state is driven by a clock.

This interface excludes signal sources whose state changes asynchronously, but is neutral with respect to whether values are computed on the fly when demanded, or stored when available and then just retrieved.

The operation of the driving clock works as specified by the Process superinterface. For example, a main loop may use the following pattern:

 RealtimeContext rc = ...;
 DoubleClockedSignalSource c = ...;
 c.setRealtimeContext(rc);
 c.init();
 while (...) {
   c.step();
   double v = c.getAsDouble();
   ...
 }
 

Every iteration of the main loop increases the clock index of the component c. The behavior of instances of this interface is typically specified in terms of the current clock index.

See Also: