WE Core
Loading...
Searching...
No Matches
WECore::ModulationSource< SampleType > Class Template Referenceabstract

#include <ModulationSource.h>

Public Member Functions

 ModulationSource ()
 
virtual ~ModulationSource ()=default
 
SampleType getNextOutput (SampleType inSample)
 
virtual SampleType getLastOutput () const
 
void reset ()
 

Protected Member Functions

virtual SampleType _getNextOutputImpl (SampleType inSample)=0
 
virtual void _resetImpl ()=0
 

Protected Attributes

SampleType _cachedOutput
 

Detailed Description

template<typename SampleType>
class WECore::ModulationSource< SampleType >

Provides a standard interface for modulation sources such as LFOs and envelope followers to follow.

This interface only defines how to get output from the modulation source and reset it, and say nothing about setting its parameters, sample rate, etc as these will vary.

Definition at line 34 of file ModulationSource.h.

Constructor & Destructor Documentation

◆ ModulationSource()

template<typename SampleType >
WECore::ModulationSource< SampleType >::ModulationSource ( )
inline

Definition at line 39 of file ModulationSource.h.

◆ ~ModulationSource()

template<typename SampleType >
virtual WECore::ModulationSource< SampleType >::~ModulationSource ( )
virtualdefault

Member Function Documentation

◆ _getNextOutputImpl()

template<typename SampleType >
virtual SampleType WECore::ModulationSource< SampleType >::_getNextOutputImpl ( SampleType inSample)
protectedpure virtual

Must be overriden by the inheriting class to provide the specific implementation of this modulation source.

The implementation may or may not need to use the provided audio sample.

Implemented in WECore::AREnv::AREnvelopeFollowerBase, WECore::Perlin::PerlinSource, WECore::Richter::RichterLFO, and WECore::Richter::RichterLFOPair.

◆ _resetImpl()

template<typename SampleType >
virtual void WECore::ModulationSource< SampleType >::_resetImpl ( )
protectedpure virtual

Must be overriden by the inheriting class to reset the internat state as required.

Implemented in WECore::AREnv::AREnvelopeFollowerBase, WECore::Perlin::PerlinSource, WECore::Richter::RichterLFO, and WECore::Richter::RichterLFOPair.

◆ getLastOutput()

template<typename SampleType >
virtual SampleType WECore::ModulationSource< SampleType >::getLastOutput ( ) const
inlinevirtual

Returns the most recent output of getNextOutput without advancing the internal state.

Definition at line 51 of file ModulationSource.h.

References WECore::ModulationSource< SampleType >::_cachedOutput.

◆ getNextOutput()

template<typename SampleType >
SampleType WECore::ModulationSource< SampleType >::getNextOutput ( SampleType inSample)
inline

Given the provided audio sample, calculates the next output value and advances the internal state (if applicable).

Definition at line 76 of file ModulationSource.h.

Referenced by WECore::Richter::RichterLFOPair::_getNextOutputImpl().

◆ reset()

template<typename SampleType >
void WECore::ModulationSource< SampleType >::reset ( )
inline

Resets the internal state of the modulation source.

Definition at line 82 of file ModulationSource.h.

Referenced by WECore::Richter::RichterLFOPair::_resetImpl().

Member Data Documentation

◆ _cachedOutput

template<typename SampleType >
SampleType WECore::ModulationSource< SampleType >::_cachedOutput
protected

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