marvin 0.0.1
Pure C++ audio helper library
Loading...
Searching...
No Matches
marvin::dsp::oscillators::SineOscillator< SampleType > Class Template Referencefinal

A sine oscillator. More...

#include <marvin_Oscillator.h>

Inheritance diagram for marvin::dsp::oscillators::SineOscillator< SampleType >:
marvin::dsp::oscillators::OscillatorBase< SampleType >

Public Member Functions

 ~SineOscillator () noexcept override=default
SampleType operator() () noexcept override
SampleType operator() (SampleType phase) noexcept override
Public Member Functions inherited from marvin::dsp::oscillators::OscillatorBase< SampleType >
virtual ~OscillatorBase () noexcept=default
virtual void initialise (double sampleRate)
virtual void reset () noexcept
void setFrequency (SampleType newFrequency) noexcept
void setPhaseOffset (SampleType newPhaseOffset) noexcept

Additional Inherited Members

Protected Member Functions inherited from marvin::dsp::oscillators::OscillatorBase< SampleType >
void incrementPhase () noexcept
Protected Attributes inherited from marvin::dsp::oscillators::OscillatorBase< SampleType >
double m_sampleRate {}
SampleType m_phaseIncrement { static_cast<SampleType>(0.0) }
SampleType m_phase { static_cast<SampleType>(0.0) }
SampleType m_phaseOffset { static_cast<SampleType>(0.0) }

Detailed Description

template<FloatType SampleType>
class marvin::dsp::oscillators::SineOscillator< SampleType >

A sine oscillator.

Constructor & Destructor Documentation

◆ ~SineOscillator()

template<FloatType SampleType>
marvin::dsp::oscillators::SineOscillator< SampleType >::~SineOscillator ( )
overridedefaultnoexcept

Member Function Documentation

◆ operator()() [1/2]

template<FloatType SampleType>
SampleType marvin::dsp::oscillators::SineOscillator< SampleType >::operator() ( )
nodiscardoverridevirtualnoexcept

Processes the next sample of the wave, handling phase increments internally. Make sure to call prepareToPlay and setFrequency before calling this function!

Returns
The oscillator's output.

Implements marvin::dsp::oscillators::OscillatorBase< SampleType >.

◆ operator()() [2/2]

template<FloatType SampleType>
SampleType marvin::dsp::oscillators::SineOscillator< SampleType >::operator() ( SampleType phase)
nodiscardoverridevirtualnoexcept

Processes the next sample of the wave, using the provided phase - this overload will not update the internal phase of the oscillator, so the caller is entirely responsible for incrementing the phase according to frequency, etc. Does not require you to call initialise beforehand for this reason.

Parameters
phaseThe phase the oscillator should use, between 0 to 1.
Returns
The oscillator's output.

Implements marvin::dsp::oscillators::OscillatorBase< SampleType >.


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