JUCE: dsp::Oscillator< SampleType > Class Template Reference

JUCE

- Main Page
- Related Pages
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
dsp::Oscillator< SampleType > Class Template Reference
juce_dsp » widgets

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

Sets the frequency of the oscillator.

References SmoothedValueBase< SmoothedValueType >::setCurrentAndTargetValue(), and SmoothedValue< FloatType, SmoothingType >::setTargetValue().

## ◆ 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

Called before processing starts.

References dsp::Oscillator< SampleType >::reset(), and Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::resize().

## ◆ 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

Returns the result of processing a single sample.

References dsp::Phase< Type >::advance(), SmoothedValue< FloatType, SmoothingType >::getNextValue(), dsp::Oscillator< SampleType >::isInitialised(), and jassert.

## ◆ process()

template<typename SampleType >
template<typename ProcessContext >

void dsp::Oscillator< SampleType >::process | ( | const ProcessContext & | context | ) |
| noexcept

Processes the input and output buffers supplied in the processing context.

References dsp::Phase< Type >::advance(), SmoothedValue< FloatType, SmoothingType >::getNextValue(), Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::getRawDataPointer(), dsp::Oscillator< SampleType >::isInitialised(), SmoothedValueBase< SmoothedValueType >::isSmoothing(), jassert, jmin(), Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::size(), and SmoothedValue< FloatType, SmoothingType >::skip().

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

- juce_Oscillator.h