LMMS
Loading...
Searching...
No Matches
zyncarla::Effect Class Referenceabstract

#include <Effect.h>

Inheritance diagram for zyncarla::Effect:
zyncarla::Alienwah zyncarla::Chorus zyncarla::Distorsion zyncarla::DynamicFilter zyncarla::EQ zyncarla::Echo zyncarla::Phaser zyncarla::Reverb

Public Member Functions

 Effect (EffectParams pars)
virtual ~Effect ()
virtual void setpreset (unsigned char npreset)=0
virtual void changepar (int npar, unsigned char value)=0
virtual unsigned char getpar (int npar) const =0
void out (float *const smpsl, float *const smpsr)
virtual void out (const Stereo< float * > &smp)=0
virtual void cleanup (void)
virtual float getfreqresponse (float freq)

Static Public Member Functions

static void crossover (float &a, float &b, float crossover)

Public Attributes

unsigned char Ppreset
float *const efxoutl
float *const efxoutr
float outvolume
float volume
FilterParamsfilterpars

Protected Member Functions

void setpanning (char Ppanning_)
void setlrcross (char Plrcross_)
void alias ()

Protected Attributes

const bool insertion
char Ppanning
float pangainL
float pangainR
char Plrcross
float lrcross
Allocatormemory
unsigned int samplerate
int buffersize
float samplerate_f
float halfsamplerate_f
float buffersize_f
int bufferbytes

Detailed Description

this class is inherited by the all effects(Reverb, Echo, ..)

Constructor & Destructor Documentation

◆ Effect()

Effect::Effect ( EffectParams pars)

◆ ~Effect()

virtual zyncarla::Effect::~Effect ( )
inlinevirtual

Member Function Documentation

◆ alias()

void zyncarla::Effect::alias ( )
inlineprotected

◆ changepar()

virtual void zyncarla::Effect::changepar ( int npar,
unsigned char value )
pure virtual

Change parameter npar to value

Parameters
nparchosen parameter
valuechosen new value

Implemented in zyncarla::Alienwah, zyncarla::Chorus, zyncarla::Distorsion, zyncarla::DynamicFilter, zyncarla::Echo, zyncarla::EQ, zyncarla::Phaser, and zyncarla::Reverb.

◆ cleanup()

virtual void zyncarla::Effect::cleanup ( void )
inlinevirtual

◆ crossover()

void Effect::crossover ( float & a,
float & b,
float crossover )
static

◆ getfreqresponse()

virtual float zyncarla::Effect::getfreqresponse ( float freq)
inlinevirtual

Reimplemented in zyncarla::EQ.

◆ getpar()

virtual unsigned char zyncarla::Effect::getpar ( int npar) const
pure virtual

Get the value of parameter npar

Parameters
nparchosen parameter
Returns
the value of the parameter in an unsigned char or 0 if it does not exist

Implemented in zyncarla::Alienwah, zyncarla::Chorus, zyncarla::Distorsion, zyncarla::DynamicFilter, zyncarla::Echo, zyncarla::EQ, zyncarla::Phaser, and zyncarla::Reverb.

◆ out() [1/2]

virtual void zyncarla::Effect::out ( const Stereo< float * > & smp)
pure virtual

◆ out() [2/2]

void Effect::out ( float *const smpsl,
float *const smpsr )

Output result of effect based on the given buffers

This method should result in the effect generating its results and placing them into the efxoutl and efxoutr buffers. Every Effect should overide this method.

Parameters
smpslInput buffer for the Left channel
smpsrInput buffer for the Right channel

◆ setlrcross()

void Effect::setlrcross ( char Plrcross_)
protected

◆ setpanning()

void Effect::setpanning ( char Ppanning_)
protected

◆ setpreset()

virtual void zyncarla::Effect::setpreset ( unsigned char npreset)
pure virtual

Choose a preset

Parameters
npresetnumber of chosen preset

Implemented in zyncarla::Alienwah, zyncarla::Chorus, zyncarla::Distorsion, zyncarla::DynamicFilter, zyncarla::Echo, zyncarla::EQ, zyncarla::Phaser, and zyncarla::Reverb.

Member Data Documentation

◆ bufferbytes

int zyncarla::Effect::bufferbytes
protected

◆ buffersize

int zyncarla::Effect::buffersize
protected

◆ buffersize_f

float zyncarla::Effect::buffersize_f
protected

◆ efxoutl

float* const zyncarla::Effect::efxoutl

Effect out Left Channel

◆ efxoutr

float* const zyncarla::Effect::efxoutr

Effect out Right Channel

◆ filterpars

FilterParams* zyncarla::Effect::filterpars

Parameters for filters used by Effect

◆ halfsamplerate_f

float zyncarla::Effect::halfsamplerate_f
protected

◆ insertion

const bool zyncarla::Effect::insertion
protected

◆ lrcross

float zyncarla::Effect::lrcross
protected

◆ memory

Allocator& zyncarla::Effect::memory
protected

◆ outvolume

float zyncarla::Effect::outvolume

This is the volume of effect and is public because it is needed in system effects. The out volume of such effects are always 1.0f, so this setting tells me how is the volume to the Master Output only.

◆ pangainL

float zyncarla::Effect::pangainL
protected

◆ pangainR

float zyncarla::Effect::pangainR
protected

◆ Plrcross

char zyncarla::Effect::Plrcross
protected

◆ Ppanning

char zyncarla::Effect::Ppanning
protected

◆ Ppreset

unsigned char zyncarla::Effect::Ppreset

Currently used preset

◆ samplerate

unsigned int zyncarla::Effect::samplerate
protected

◆ samplerate_f

float zyncarla::Effect::samplerate_f
protected

◆ volume

float zyncarla::Effect::volume

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