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.