|
OpenWareLaboratory
|


Public Types | |
| enum | RepeatMode { REPEAT_REVERSE = -1 , REPEAT_NONE = 0 , REPEAT_FORWARD = 1 } |
Public Member Functions | |
| size_t | findZeroCrossing (size_t index) |
| float | generate () |
| Produce the next consecutive sample. More... | |
| float | generate (float fm) |
| Produce a sample with frequency modulation. More... | |
| void | generate (FloatArray output) |
| Produce a block of samples. More... | |
| void | generate (FloatArray output, FloatArray fm) |
| Produce a block of samples with frequency modulation. More... | |
| float | getFrequency () |
| Get oscillator frequency in Hertz. More... | |
| float | getNextSample () |
| float | getNextSample (float fm) |
| float | getPhase () |
| Get current oscillator phase in radians. More... | |
| FloatArray | getSample () |
| size_t | getSampleLength () |
| void | getSamples (FloatArray output) |
| void | getSamples (FloatArray output, FloatArray fm) |
| float | interpolate (float index, FloatArray data) |
| float | interpolate (float index, FloatArray data) |
| float | interpolate (float index, FloatArray data) |
| void | reset () |
| Reset oscillator (typically resets phase) More... | |
| SampleOscillator (float sr, FloatArray sample) | |
| void | setDuration (float duration) |
| void | setFrequency (float freq) |
| Set oscillator frequency in Hertz. More... | |
| void | setPhase (float phase) |
| Set current oscillator phase in radians. More... | |
| void | setRepeatMode (RepeatMode mode) |
| void | setSample (FloatArray sample) |
| virtual void | setSampleRate (float value) |
| Set oscillator sample rate. More... | |
Static Public Member Functions | |
| static SampleOscillator * | create (float sr, FloatArray buf) |
| static void | destroy (SampleOscillator *obj) |
Definition at line 7 of file SampleOscillator.h.
| enum SampleOscillator::RepeatMode |
| Enumerator | |
|---|---|
| REPEAT_REVERSE | |
| REPEAT_NONE | |
| REPEAT_FORWARD | |
Definition at line 9 of file SampleOscillator.h.
|
inline |
Definition at line 24 of file SampleOscillator.h.
Referenced by SampleOscillator< im >::create().
|
inlinestatic |
Definition at line 144 of file SampleOscillator.h.
References SampleOscillator< im >::SampleOscillator().
|
inlinestatic |
Definition at line 147 of file SampleOscillator.h.
|
inline |
Definition at line 125 of file SampleOscillator.h.
References SimpleArray< T >::getSize(), and min.
Referenced by SampleOscillator< im >::setDuration().
|
inlinevirtual |
Produce the next consecutive sample.
Reimplemented from SignalGenerator.
Definition at line 57 of file SampleOscillator.h.
References SampleOscillator< im >::interpolate(), SampleOscillator< im >::REPEAT_FORWARD, and SampleOscillator< im >::REPEAT_REVERSE.
Referenced by SampleOscillator< im >::generate().
|
inlinevirtual |
Produce a sample with frequency modulation.
Implements Oscillator.
Definition at line 54 of file SampleOscillator.h.
References SampleOscillator< im >::generate().
|
inlinevirtual |
Produce a block of samples.
Reimplemented from SignalGenerator.
Definition at line 79 of file SampleOscillator.h.
References SimpleArray< T >::getSize(), SampleOscillator< im >::interpolate(), SampleOscillator< im >::REPEAT_FORWARD, and SampleOscillator< im >::REPEAT_REVERSE.
|
inlinevirtual |
Produce a block of samples with frequency modulation.
Reimplemented from Oscillator.
Definition at line 122 of file SampleOscillator.h.
References SampleOscillator< im >::generate().
|
inlinevirtual |
Get oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 30 of file SampleOscillator.h.
|
inlineinherited |
Definition at line 55 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 57 of file Oscillator.h.
References Oscillator::generate().
|
inlinevirtual |
Get current oscillator phase in radians.
Implements Oscillator.
Definition at line 51 of file SampleOscillator.h.
References M_PI.
|
inline |
Definition at line 38 of file SampleOscillator.h.
|
inline |
Definition at line 141 of file SampleOscillator.h.
References SimpleArray< T >::getSize().
Referenced by SampleOscillator< im >::setDuration().
|
inlineinherited |
Definition at line 59 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 63 of file Oscillator.h.
References Oscillator::generate().
| float SampleOscillator< im >::interpolate | ( | float | index, |
| FloatArray | data | ||
| ) |
Referenced by SampleOscillator< im >::generate().
| float SampleOscillator< LINEAR_INTERPOLATION >::interpolate | ( | float | index, |
| FloatArray | data | ||
| ) |
Definition at line 153 of file SampleOscillator.h.
References Interpolator::linear().
| float SampleOscillator< COSINE_INTERPOLATION >::interpolate | ( | float | index, |
| FloatArray | data | ||
| ) |
Definition at line 162 of file SampleOscillator.h.
References Interpolator::cosine().
|
inlinevirtual |
Reset oscillator (typically resets phase)
Implements Oscillator.
Definition at line 44 of file SampleOscillator.h.
|
inline |
Definition at line 136 of file SampleOscillator.h.
References SampleOscillator< im >::findZeroCrossing(), and SampleOscillator< im >::getSampleLength().
|
inlinevirtual |
Set oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 27 of file SampleOscillator.h.
|
inlinevirtual |
Set current oscillator phase in radians.
| phase | a value between 0 and 2*pi |
Implements Oscillator.
Definition at line 48 of file SampleOscillator.h.
References M_PI.
|
inline |
Definition at line 41 of file SampleOscillator.h.
|
inline |
Definition at line 33 of file SampleOscillator.h.
References SimpleArray< T >::getSize().
|
inlinevirtualinherited |
Set oscillator sample rate.
Reimplemented in PolyBlepOscillator, OscillatorTemplate< T, BaseOscillator, Sample >, OscillatorTemplate< VosimOscillator >, OscillatorTemplate< AntialiasedWavetableOscillator >, OscillatorTemplate< TriangleOscillator >, OscillatorTemplate< InvertedSquareWaveOscillator >, OscillatorTemplate< VariableShapeOscillator >, OscillatorTemplate< InterpolatingWavetableOscillator< LINEAR_INTERPOLATION > >, OscillatorTemplate< NoiseOscillator >, OscillatorTemplate< SquareWaveOscillator >, OscillatorTemplate< SineOscillator >, OscillatorTemplate< AntialiasedTriangleOscillator >, OscillatorTemplate< AntialiasedRampOscillator >, OscillatorTemplate< InvertedRampOscillator >, OscillatorTemplate< AntialiasedSquareWaveOscillator >, OscillatorTemplate< RampOscillator >, OscillatorTemplate< WavetableOscillator >, and ChirpOscillator.
Definition at line 20 of file Oscillator.h.