| JUCE
    | 
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. | |
Generates a signal based on a user-supplied function.
| using juce::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)
| 
 | default | 
Creates an uninitialised oscillator.
Call initialise before first use.
| juce::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 juce::dsp::Oscillator< SampleType >::initialise().
| 
 | noexcept | 
Returns true if the Oscillator has been initialised.
Referenced by juce::dsp::Oscillator< SampleType >::process(), and juce::dsp::Oscillator< SampleType >::processSample().
| void juce::dsp::Oscillator< SampleType >::initialise | ( | const std::function< NumericType(NumericType)> & | function, | 
| size_t | lookupTableNumPoints = 0 ) | 
Initialises the oscillator with a waveform.
Referenced by juce::dsp::Oscillator< SampleType >::Oscillator().
| 
 | noexcept | 
Sets the frequency of the oscillator.
References SmoothedValueBase< SmoothedValueType >::setCurrentAndTargetValue(), and SmoothedValue< FloatType, SmoothingType >::setTargetValue().
| 
 | noexcept | 
Returns the current frequency of the oscillator.
References SmoothedValueBase< SmoothedValueType >::getTargetValue().
| 
 | noexcept | 
Called before processing starts.
References juce::dsp::Oscillator< SampleType >::reset(), and Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::resize().
| 
 | noexcept | 
Resets the internal state of the oscillator.
References juce::dsp::Phase< Type >::reset(), and SmoothedValue< FloatType, SmoothingType >::reset().
Referenced by juce::dsp::Oscillator< SampleType >::prepare().
| 
 | noexcept | 
Returns the result of processing a single sample.
References juce::dsp::Phase< Type >::advance(), SmoothedValue< FloatType, SmoothingType >::getNextValue(), juce::dsp::Oscillator< SampleType >::isInitialised(), and jassert.
| 
 | noexcept | 
Processes the input and output buffers supplied in the processing context.
References juce::dsp::Phase< Type >::advance(), SmoothedValue< FloatType, SmoothingType >::getNextValue(), Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::getRawDataPointer(), juce::dsp::Oscillator< SampleType >::isInitialised(), SmoothedValueBase< SmoothedValueType >::isSmoothing(), jassert, jmin(), Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::size(), and SmoothedValue< FloatType, SmoothingType >::skip().