tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower Class Reference

Envelope follower with adjustable attack/release parameters as well as several detection and time constant modes. More...

Public Types

enum  DetectionMode { peakMode , msMode , rmsMode }
 The available detection modes. More...
 
enum  TimeConstantMode { digitalTC , slowDigitalTC , analogTC }
 The available time constant modes modes. More...
 

Public Member Functions

 EnvelopeFollower ()=default
 Creates a default EnvelopeFollower.
 
void setSampleRate (float newSampleRate) noexcept
 Sets the sample rate to use.
 
void reset () noexcept
 Resets the detection and current envelope.
 
void setAttackTime (float attackMs)
 Sets the attack time.
 
void setHoldTime (float holdMs)
 Sets the hold time.
 
void setReleaseTime (float releaseMs)
 Sets the release time.
 
void setDetectMode (DetectionMode newDetectionMode)
 Sets the detection mode to use.
 
void setTimeConstantMode (TimeConstantMode newTC)
 Sets the time constant to be used.
 
float processSingleSample (float input)
 Returns the envelope for a new sample.
 

Protected Member Functions

float getDelta (float timeMs)
 
double msToSamples (double numMiliseconds, double sr)
 

Protected Attributes

float attackCoeff
 
float releaseCoeff
 
float envelope
 
float attackTimeMs
 
float holdTimeMs
 
float releaseTimeMs
 
float sampleRate
 
float timeConstant
 
int holdSamples
 
int holdSamplesLeft
 
DetectionMode detectMode
 
TimeConstantMode timeConstantMode
 
RunningRMS rms
 

Detailed Description

Envelope follower with adjustable attack/release parameters as well as several detection and time constant modes.

Definition at line 56 of file tracktion_EnvelopeFollowerModifier.cpp.

Member Enumeration Documentation

◆ DetectionMode

The available detection modes.

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ TimeConstantMode

The available time constant modes modes.

Definition at line 69 of file tracktion_EnvelopeFollowerModifier.cpp.

Member Function Documentation

◆ getDelta()

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::getDelta ( float  timeMs)
protected

Definition at line 204 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ msToSamples()

double tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::msToSamples ( double  numMiliseconds,
double  sr 
)
protected

Definition at line 209 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ processSingleSample()

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::processSingleSample ( float  input)

Returns the envelope for a new sample.

Definition at line 148 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ reset()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::reset ( )
noexcept

Resets the detection and current envelope.

Definition at line 96 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setAttackTime()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setAttackTime ( float  attackMs)

Sets the attack time.

Definition at line 103 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setDetectMode()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setDetectMode ( DetectionMode  newDetectionMode)

Sets the detection mode to use.

Definition at line 124 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setHoldTime()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setHoldTime ( float  holdMs)

Sets the hold time.

Definition at line 110 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setReleaseTime()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setReleaseTime ( float  releaseMs)

Sets the release time.

Definition at line 117 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setSampleRate()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setSampleRate ( float  newSampleRate)
noexcept

Sets the sample rate to use.

This should be called before any of the parameter methods.

Definition at line 83 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ setTimeConstantMode()

void tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::setTimeConstantMode ( TimeConstantMode  newTC)

Sets the time constant to be used.

Definition at line 130 of file tracktion_EnvelopeFollowerModifier.cpp.

Member Data Documentation

◆ attackCoeff

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::attackCoeff
protected

Definition at line 191 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ attackTimeMs

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::attackTimeMs
protected

Definition at line 194 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ detectMode

DetectionMode tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::detectMode
protected

Definition at line 200 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ envelope

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::envelope
protected

Definition at line 193 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ holdSamples

int tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::holdSamples
protected

Definition at line 199 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ holdSamplesLeft

int tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::holdSamplesLeft
protected

Definition at line 199 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ holdTimeMs

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::holdTimeMs
protected

Definition at line 195 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ releaseCoeff

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::releaseCoeff
protected

Definition at line 192 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ releaseTimeMs

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::releaseTimeMs
protected

Definition at line 196 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ rms

RunningRMS tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::rms
protected

Definition at line 202 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ sampleRate

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::sampleRate
protected

Definition at line 197 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ timeConstant

float tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::timeConstant
protected

Definition at line 198 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ timeConstantMode

TimeConstantMode tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollower::timeConstantMode
protected

Definition at line 201 of file tracktion_EnvelopeFollowerModifier.cpp.


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