iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
LFO< T > Class Template Reference
Inheritance diagram for LFO< T >:
[legend]

Public Types

enum  ETempoDivison {
  k64th = 0 , k32nd , k16thT , k16th ,
  k16thD , k8thT , k8th , k8thD ,
  k4th , k4thD , k2th , k1 ,
  k2 , k4 , k8 , kNumDivisions
}
 
enum  EShape {
  kTriangle , kSquare , kRampUp , kRampDown ,
  kSine , kNumShapes
}
 
enum class  EPolarity { kUnipolar , kBipolar }
 
enum class  ERateMode { kHz , kBPM }
 

Public Member Functions

Process (double freqHz) override
 Per sample process function, updating frequency per sample. More...
 
void ProcessBlock (T *pOutput, int nFrames, double qnPos=0., bool transportIsRunning=false, double tempo=120.)
 
void SetShape (int lfoShape)
 
void SetPolarity (bool bipolar)
 
void SetScalar (T scalar)
 
void SetQNScalar (T scalar)
 
void SetQNScalarFromDivision (int division)
 
void SetRateMode (bool sync)
 
GetLastOutput () const
 
- Public Member Functions inherited from IOscillator< T >
 IOscillator (double startPhase=0., double startFreq=1.)
 
virtual T Process (double freqHz)=0
 
void SetFreqCPS (double freqHz)
 
void SetSampleRate (double sampleRate)
 
void Reset ()
 
void SetPhase (double phase)
 

Static Public Member Functions

static T GetQNScalar (ETempoDivison division)
 Get the scalar factor to convert a ramp at the host BPM to tempo division value. More...
 
static const char * GetQNDisplay (ETempoDivison division)
 Get a CString to display the divisor as text. More...
 

Additional Inherited Members

- Protected Attributes inherited from IOscillator< T >
double mPhase = 0.
 
double mPhaseIncr = 0.
 
double mSampleRate = 44100.
 
double mStartPhase
 

Detailed Description

template<typename T = double>
class LFO< T >

Definition at line 27 of file LFO.h.

Member Enumeration Documentation

◆ EPolarity

template<typename T = double>
enum class LFO::EPolarity
strong

Definition at line 60 of file LFO.h.

◆ ERateMode

template<typename T = double>
enum class LFO::ERateMode
strong

Definition at line 66 of file LFO.h.

◆ EShape

template<typename T = double>
enum LFO::EShape

Definition at line 50 of file LFO.h.

◆ ETempoDivison

template<typename T = double>
enum LFO::ETempoDivison

Definition at line 30 of file LFO.h.

Member Function Documentation

◆ GetLastOutput()

template<typename T = double>
T LFO< T >::GetLastOutput ( ) const
inline

Definition at line 175 of file LFO.h.

◆ GetQNDisplay()

template<typename T = double>
static const char * LFO< T >::GetQNDisplay ( ETempoDivison  division)
inlinestatic

Get a CString to display the divisor as text.

Definition at line 97 of file LFO.h.

◆ GetQNScalar()

template<typename T = double>
static T LFO< T >::GetQNScalar ( ETempoDivison  division)
inlinestatic

Get the scalar factor to convert a ramp at the host BPM to tempo division value.

Definition at line 73 of file LFO.h.

◆ Process()

template<typename T = double>
T LFO< T >::Process ( double  freqHz)
inlineoverridevirtual

Per sample process function, updating frequency per sample.

Implements IOscillator< T >.

Definition at line 104 of file LFO.h.

◆ ProcessBlock()

template<typename T = double>
void LFO< T >::ProcessBlock ( T *  pOutput,
int  nFrames,
double  qnPos = 0.,
bool  transportIsRunning = false,
double  tempo = 120. 
)
inline

Definition at line 113 of file LFO.h.

◆ SetPolarity()

template<typename T = double>
void LFO< T >::SetPolarity ( bool  bipolar)
inline

Definition at line 150 of file LFO.h.

◆ SetQNScalar()

template<typename T = double>
void LFO< T >::SetQNScalar ( scalar)
inline

Definition at line 160 of file LFO.h.

◆ SetQNScalarFromDivision()

template<typename T = double>
void LFO< T >::SetQNScalarFromDivision ( int  division)
inline

Definition at line 165 of file LFO.h.

◆ SetRateMode()

template<typename T = double>
void LFO< T >::SetRateMode ( bool  sync)
inline

Definition at line 170 of file LFO.h.

◆ SetScalar()

template<typename T = double>
void LFO< T >::SetScalar ( scalar)
inline

Definition at line 155 of file LFO.h.

◆ SetShape()

template<typename T = double>
void LFO< T >::SetShape ( int  lfoShape)
inline

Definition at line 145 of file LFO.h.


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