Loading...
Searching...
No Matches
dsp::Oscillator< SampleType > Class Template Reference

Generates a signal based on a user-supplied function. More...

#include <juce_Oscillator.h>

Public Types

using NumericType = typename SampleTypeHelpers::ElementType<SampleType>::Type
 The NumericType is the underlying primitive type used by the SampleType (which could be either a primitive or vector)
 

Public Member Functions

 Oscillator ()=default
 Creates an uninitialised oscillator.
 
 Oscillator (const std::function< NumericType(NumericType)> &function, size_t lookupTableNumPoints=0)
 Creates an oscillator with a periodic input function (-pi..pi).
 
bool isInitialised () const noexcept
 Returns true if the Oscillator has been initialised.
 
void initialise (const std::function< NumericType(NumericType)> &function, size_t lookupTableNumPoints=0)
 Initialises the oscillator with a waveform.
 
void setFrequency (NumericType newFrequency, bool force=false) noexcept
 Sets the frequency of the oscillator.
 
NumericType getFrequency () const noexcept
 Returns the current frequency of the oscillator.
 
void prepare (const ProcessSpec &spec) noexcept
 Called before processing starts.
 
void reset () noexcept
 Resets the internal state of the oscillator.
 
SampleType JUCE_VECTOR_CALLTYPE processSample (SampleType input) noexcept
 Returns the result of processing a single sample.
 
template<typename ProcessContext >
void process (const ProcessContext &context) noexcept
 Processes the input and output buffers supplied in the processing context.
 

Detailed Description

template<typename SampleType>
class dsp::Oscillator< SampleType >

Generates a signal based on a user-supplied function.

Member Typedef Documentation

◆ NumericType

template<typename SampleType >
using dsp::Oscillator< SampleType >::NumericType = typename SampleTypeHelpers::ElementType<SampleType>::Type

The NumericType is the underlying primitive type used by the SampleType (which could be either a primitive or vector)

Constructor & Destructor Documentation

◆ Oscillator() [1/2]

template<typename SampleType >
dsp::Oscillator< SampleType >::Oscillator ( )
default

Creates an uninitialised oscillator.

Call initialise before first use.

◆ Oscillator() [2/2]

template<typename SampleType >
dsp::Oscillator< SampleType >::Oscillator ( const std::function< NumericType(NumericType)> & function,
size_t lookupTableNumPoints = 0 )

Creates an oscillator with a periodic input function (-pi..pi).

If lookup table is not zero, then the function will be approximated with a lookup table.

References dsp::Oscillator< SampleType >::initialise().

Member Function Documentation

◆ isInitialised()

template<typename SampleType >
bool dsp::Oscillator< SampleType >::isInitialised ( ) const
noexcept

Returns true if the Oscillator has been initialised.

Referenced by dsp::Oscillator< SampleType >::process(), and dsp::Oscillator< SampleType >::processSample().

◆ initialise()

template<typename SampleType >
void dsp::Oscillator< SampleType >::initialise ( const std::function< NumericType(NumericType)> & function,
size_t lookupTableNumPoints = 0 )

Initialises the oscillator with a waveform.

References table, and x.

Referenced by dsp::Oscillator< SampleType >::Oscillator().

◆ setFrequency()

template<typename SampleType >
void dsp::Oscillator< SampleType >::setFrequency ( NumericType newFrequency,
bool force = false )
noexcept

◆ getFrequency()

template<typename SampleType >
NumericType dsp::Oscillator< SampleType >::getFrequency ( ) const
noexcept

Returns the current frequency of the oscillator.

References SmoothedValueBase< SmoothedValueType >::getTargetValue().

◆ prepare()

template<typename SampleType >
void dsp::Oscillator< SampleType >::prepare ( const ProcessSpec & spec)
noexcept

◆ reset()

template<typename SampleType >
void dsp::Oscillator< SampleType >::reset ( )
noexcept

Resets the internal state of the oscillator.

References dsp::Phase< Type >::reset(), and SmoothedValue< FloatType, SmoothingType >::reset().

Referenced by dsp::Oscillator< SampleType >::prepare().

◆ processSample()

template<typename SampleType >
SampleType JUCE_VECTOR_CALLTYPE dsp::Oscillator< SampleType >::processSample ( SampleType input)
noexcept

◆ process()


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram