OpenWareLaboratory
|
Public Member Functions | |
float | generate () |
Produce the next consecutive sample. More... | |
float | generate (float fm) |
Produce a sample with frequency modulation. More... | |
virtual void | generate (FloatArray output) |
Produce a block of samples. More... | |
virtual 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... | |
float | getSample () |
float | getSampleRate () |
void | getSamples (FloatArray output) |
void | getSamples (FloatArray output, FloatArray fm) |
FloatArray | getWavetable () |
InterpolatingWavetableOscillator () | |
InterpolatingWavetableOscillator (float sr) | |
InterpolatingWavetableOscillator (float sr, FloatArray data) | |
void | reset () |
Reset oscillator (typically resets phase) More... | |
void | setFrequency (float freq) |
Set oscillator frequency in Hertz. More... | |
void | setPhase (float ph) |
Set current oscillator phase in radians. More... | |
void | setSampleRate (float sr) |
Set oscillator sample rate. More... | |
void | setWavetable (FloatArray wavetable) |
Static Public Member Functions | |
static InterpolatingWavetableOscillator< LINEAR_INTERPOLATION > * | create (float sr) |
static InterpolatingWavetableOscillator< im > * | create (float sr, size_t length) |
static void | destroy (InterpolatingWavetableOscillator< im > *obj) |
static void | destroy (InterpolatingWavetableOscillator< LINEAR_INTERPOLATION > *osc) |
Static Public Attributes | |
static constexpr float | begin_phase = 0 |
static constexpr float | end_phase = 1 |
Static Protected Member Functions | |
static float | polyblep (float t, float dt) |
Calculate poly blep antialiasing compensation on normalised (to range [0, 1]) phase and phase increment (angular rate) values. More... | |
Protected Attributes | |
float | incr |
float | mul |
float | phase |
Definition at line 53 of file WavetableOscillator.h.
|
inline |
Definition at line 59 of file WavetableOscillator.h.
|
inline |
Definition at line 60 of file WavetableOscillator.h.
References OscillatorTemplate< InterpolatingWavetableOscillator< LINEAR_INTERPOLATION > >::setSampleRate().
|
inline |
Definition at line 63 of file WavetableOscillator.h.
References OscillatorTemplate< InterpolatingWavetableOscillator< LINEAR_INTERPOLATION > >::setSampleRate().
|
inlinestaticinherited |
Definition at line 115 of file Oscillator.h.
|
inlinestatic |
Definition at line 77 of file WavetableOscillator.h.
References FloatArray::create().
|
inlinestatic |
Definition at line 80 of file WavetableOscillator.h.
References FloatArray::destroy(), and InterpolatingWavetableOscillator< im >::getWavetable().
|
inlinestaticinherited |
Definition at line 120 of file Oscillator.h.
|
inlinevirtualinherited |
Produce the next consecutive sample.
Reimplemented from Oscillator.
Definition at line 99 of file Oscillator.h.
|
inlinevirtualinherited |
Produce a sample with frequency modulation.
Implements Oscillator.
Definition at line 106 of file Oscillator.h.
|
inlinevirtualinherited |
Produce a block of samples.
Reimplemented in VosimOscillator, VoiceAllocatorSignalGenerator< Allocator, SynthVoice, VOICES >, AntialiasedSquareWaveOscillator, SineOscillator, SampleOscillator< im >, AntialiasedRampOscillator, PolyBlepOscillator, and MorphingOscillator.
Definition at line 25 of file SignalGenerator.h.
References SignalGenerator::generate(), and SimpleArray< T >::getSize().
|
inlinevirtualinherited |
Produce a block of samples with frequency modulation.
Reimplemented in VosimOscillator, SineOscillator, SampleOscillator< im >, PolyBlepOscillator, and MorphingOscillator.
Definition at line 50 of file Oscillator.h.
References Oscillator::generate(), and SimpleArray< T >::getSize().
|
inlinevirtualinherited |
Get oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 86 of file Oscillator.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().
|
inlinevirtualinherited |
Get current oscillator phase in radians.
Implements Oscillator.
Definition at line 92 of file Oscillator.h.
|
inline |
|
inlineinherited |
Definition at line 80 of file Oscillator.h.
|
inlineinherited |
Definition at line 59 of file Oscillator.h.
References Oscillator::generate().
|
inlineinherited |
Definition at line 63 of file Oscillator.h.
References Oscillator::generate().
|
inline |
Definition at line 67 of file WavetableOscillator.h.
References CircularBuffer< DataType, IndexType >::getData(), and CircularBuffer< DataType, IndexType >::getSize().
Referenced by InterpolatingWavetableOscillator< im >::destroy().
|
inlinestaticprotectedinherited |
Calculate poly blep antialiasing compensation on normalised (to range [0, 1]) phase and phase increment (angular rate) values.
Definition at line 128 of file Oscillator.h.
|
inlinevirtualinherited |
Reset oscillator (typically resets phase)
Implements Oscillator.
Definition at line 96 of file Oscillator.h.
|
inlinevirtualinherited |
Set oscillator frequency in Hertz.
Implements Oscillator.
Definition at line 83 of file Oscillator.h.
|
inlinevirtualinherited |
Set current oscillator phase in radians.
phase | a value between 0 and 2*pi |
Implements Oscillator.
Definition at line 89 of file Oscillator.h.
|
inlinevirtualinherited |
Set oscillator sample rate.
Reimplemented from Oscillator.
Definition at line 75 of file Oscillator.h.
|
inline |
Definition at line 70 of file WavetableOscillator.h.
References SimpleArray< T >::getData(), SimpleArray< T >::getSize(), and CircularBuffer< DataType, IndexType >::setData().
|
staticconstexpr |
Definition at line 57 of file WavetableOscillator.h.
|
staticconstexpr |
Definition at line 58 of file WavetableOscillator.h.
|
protectedinherited |
Definition at line 73 of file Oscillator.h.
|
protectedinherited |
Definition at line 71 of file Oscillator.h.
|
protectedinherited |
Definition at line 72 of file Oscillator.h.