OpenWareLaboratory
ExponentialDecayEnvelope Class Reference
Inheritance diagram for ExponentialDecayEnvelope:
Collaboration diagram for ExponentialDecayEnvelope:

Public Member Functions

 ExponentialDecayEnvelope (float sr=48000)
 
virtual void gate (bool state)
 
virtual void gate (bool state)
 
virtual void gate (bool state, int gateDelay)
 
void gate (bool state, int triggerDelay)
 
virtual float generate ()
 Produce the next consecutive sample. More...
 
float generate ()
 Produce the next envelope sample. More...
 
virtual void generate (FloatArray output)
 Produce a block of samples. More...
 
virtual void generate (FloatArray output)
 Produce a block of samples. More...
 
float getLevel ()
 
float getNextSample ()
 
virtual float process (float input)
 
virtual float process (float input)
 
virtual void process (FloatArray input, FloatArray output)
 Attenuate samples in. More...
 
virtual void process (FloatArray input, FloatArray output)
 Attenuate samples in. More...
 
void setDecay (float sec)
 
void setDecaySamples (float samples)
 
void setLevel (float level)
 
void setSampleRate (float sampleRate)
 
virtual void trigger ()
 
virtual void trigger (bool state)
 
virtual void trigger (bool state)
 
void trigger (bool state, int triggerDelay)
 
virtual void trigger (bool state, int triggerDelay)=0
 

Static Public Member Functions

static ExponentialDecayEnvelopecreate (float sr)
 
static void destroy (ExponentialDecayEnvelope *env)
 

Protected Member Functions

float calculateMultiplier (float startLevel, float endLevel, size_t lengthInSamples)
 

Protected Attributes

float incr
 
float sr
 
float value
 

Detailed Description

Definition at line 6 of file ExponentialDecayEnvelope.h.

Constructor & Destructor Documentation

◆ ExponentialDecayEnvelope()

ExponentialDecayEnvelope::ExponentialDecayEnvelope ( float  sr = 48000)
inline

Definition at line 16 of file ExponentialDecayEnvelope.h.

Referenced by create().

Member Function Documentation

◆ calculateMultiplier()

float ExponentialDecayEnvelope::calculateMultiplier ( float  startLevel,
float  endLevel,
size_t  lengthInSamples 
)
inlineprotected

Definition at line 11 of file ExponentialDecayEnvelope.h.

Referenced by setDecay(), and setDecaySamples().

◆ create()

static ExponentialDecayEnvelope* ExponentialDecayEnvelope::create ( float  sr)
inlinestatic

Definition at line 55 of file ExponentialDecayEnvelope.h.

References ExponentialDecayEnvelope(), and sr.

◆ destroy()

static void ExponentialDecayEnvelope::destroy ( ExponentialDecayEnvelope env)
inlinestatic

Definition at line 58 of file ExponentialDecayEnvelope.h.

◆ gate() [1/4]

virtual void Envelope::gate ( bool  state)
inlinevirtualinherited

Reimplemented in AdsrEnvelope< linear >.

Definition at line 18 of file Envelope.h.

◆ gate() [2/4]

virtual void Envelope::gate
inline

Definition at line 18 of file Envelope.h.

◆ gate() [3/4]

virtual void Envelope::gate
inline

Definition at line 21 of file Envelope.h.

◆ gate() [4/4]

void ExponentialDecayEnvelope::gate ( bool  state,
int  triggerDelay 
)
inlinevirtual

Reimplemented from Envelope.

Definition at line 34 of file ExponentialDecayEnvelope.h.

References value.

◆ generate() [1/4]

virtual float SignalGenerator::generate
inlinevirtual

Produce the next consecutive sample.

Reimplemented from Envelope.

Definition at line 19 of file SignalGenerator.h.

◆ generate() [2/4]

float ExponentialDecayEnvelope::generate ( )
inlinevirtual

Produce the next envelope sample.

Reimplemented from SignalGenerator.

Definition at line 40 of file ExponentialDecayEnvelope.h.

References incr, and value.

Referenced by getNextSample().

◆ generate() [3/4]

virtual void SignalGenerator::generate
inlinevirtual

Produce a block of samples.

Reimplemented from Envelope.

Definition at line 25 of file SignalGenerator.h.

◆ generate() [4/4]

◆ getLevel()

float ExponentialDecayEnvelope::getLevel ( )
inline

Definition at line 45 of file ExponentialDecayEnvelope.h.

References value.

◆ getNextSample()

float ExponentialDecayEnvelope::getNextSample ( )
inline

Definition at line 52 of file ExponentialDecayEnvelope.h.

References generate().

◆ process() [1/4]

virtual float Envelope::process ( float  input)
inlinevirtualinherited

Reimplemented from SignalProcessor.

Definition at line 22 of file Envelope.h.

References Envelope::generate().

◆ process() [2/4]

virtual float Envelope::process
inline

Definition at line 22 of file Envelope.h.

◆ process() [3/4]

virtual void Envelope::process ( FloatArray  input,
FloatArray  output 
)
inlinevirtualinherited

Attenuate samples in.

Parameters
inputby envelope and place results in
output

Reimplemented from SignalProcessor.

Definition at line 28 of file Envelope.h.

References Envelope::generate(), and SimpleArray< T >::getSize().

◆ process() [4/4]

virtual void Envelope::process
inline

Attenuate samples in.

Parameters
inputby envelope and place results in
output

Definition at line 28 of file Envelope.h.

◆ setDecay()

void ExponentialDecayEnvelope::setDecay ( float  sec)
inline

Definition at line 27 of file ExponentialDecayEnvelope.h.

References calculateMultiplier(), incr, and sr.

◆ setDecaySamples()

void ExponentialDecayEnvelope::setDecaySamples ( float  samples)
inline

Definition at line 24 of file ExponentialDecayEnvelope.h.

References calculateMultiplier(), and incr.

◆ setLevel()

void ExponentialDecayEnvelope::setLevel ( float  level)
inline

Definition at line 48 of file ExponentialDecayEnvelope.h.

References value.

◆ setSampleRate()

void ExponentialDecayEnvelope::setSampleRate ( float  sampleRate)
inline

Definition at line 21 of file ExponentialDecayEnvelope.h.

References sr.

◆ trigger() [1/5]

virtual void Envelope::trigger
inlinevirtual

Reimplemented from Envelope.

Definition at line 11 of file Envelope.h.

◆ trigger() [2/5]

virtual void Envelope::trigger ( bool  state)
inlinevirtualinherited

Definition at line 14 of file Envelope.h.

References Envelope::trigger().

◆ trigger() [3/5]

virtual void Envelope::trigger
inlinevirtual

Reimplemented from Envelope.

Definition at line 14 of file Envelope.h.

◆ trigger() [4/5]

void ExponentialDecayEnvelope::trigger ( bool  state,
int  triggerDelay 
)
inlinevirtual

Implements Envelope.

Definition at line 30 of file ExponentialDecayEnvelope.h.

References value.

◆ trigger() [5/5]

virtual void Envelope::trigger
virtual

Reimplemented from Envelope.

Field Documentation

◆ incr

float ExponentialDecayEnvelope::incr
protected

Definition at line 10 of file ExponentialDecayEnvelope.h.

Referenced by generate(), setDecay(), and setDecaySamples().

◆ sr

float ExponentialDecayEnvelope::sr
protected

Definition at line 8 of file ExponentialDecayEnvelope.h.

Referenced by create(), setDecay(), and setSampleRate().

◆ value

float ExponentialDecayEnvelope::value
protected

Definition at line 9 of file ExponentialDecayEnvelope.h.

Referenced by gate(), generate(), getLevel(), setLevel(), and trigger().


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