OpenWareLaboratory
Oscillator Class Referenceabstract

An Oscillator is a SignalGenerator that operates at a given frequency and that can be frequency modulated. More...

Inheritance diagram for Oscillator:
Collaboration diagram for Oscillator:

Public Member Functions

virtual float generate ()
 Produce the next consecutive sample. More...
 
virtual float generate (float fm)=0
 Produce a sample with frequency modulation. More...
 
virtual void generate (FloatArray output)
 Produce a block of samples. 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...
 
virtual float getFrequency ()=0
 Get oscillator frequency in Hertz. More...
 
float getNextSample ()
 
float getNextSample (float fm)
 
virtual float getPhase ()=0
 Get current oscillator phase in radians. More...
 
void getSamples (FloatArray output)
 
void getSamples (FloatArray output, FloatArray fm)
 
 Oscillator ()
 
virtual void reset ()=0
 Reset oscillator (typically resets phase) More...
 
virtual void setFrequency (float value)=0
 Set oscillator frequency in Hertz. More...
 
virtual void setPhase (float phase)=0
 Set current oscillator phase in radians. More...
 
virtual void setSampleRate (float value)
 Set oscillator sample rate. More...
 
virtual ~Oscillator ()
 

Detailed Description

An Oscillator is a SignalGenerator that operates at a given frequency and that can be frequency modulated.

Definition at line 12 of file Oscillator.h.

Constructor & Destructor Documentation

◆ Oscillator()

Oscillator::Oscillator ( )
inline

Definition at line 14 of file Oscillator.h.

◆ ~Oscillator()

virtual Oscillator::~Oscillator ( )
inlinevirtual

Definition at line 15 of file Oscillator.h.

Member Function Documentation

◆ generate() [1/5]

◆ generate() [2/5]

◆ generate() [3/5]

◆ generate() [4/5]

◆ generate() [5/5]

virtual void Oscillator::generate ( FloatArray  output,
FloatArray  fm 
)
inlinevirtual

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 generate(), and SimpleArray< T >::getSize().

◆ getFrequency()

◆ getNextSample() [1/2]

float Oscillator::getNextSample ( )
inline

Definition at line 55 of file Oscillator.h.

References generate().

◆ getNextSample() [2/2]

float Oscillator::getNextSample ( float  fm)
inline

Definition at line 57 of file Oscillator.h.

References generate().

◆ getPhase()

◆ getSamples() [1/2]

void Oscillator::getSamples ( FloatArray  output)
inline

Definition at line 59 of file Oscillator.h.

References generate().

◆ getSamples() [2/2]

void Oscillator::getSamples ( FloatArray  output,
FloatArray  fm 
)
inline

Definition at line 63 of file Oscillator.h.

References generate().

◆ reset()

◆ setFrequency()

◆ setPhase()

◆ setSampleRate()


The documentation for this class was generated from the following file: