Loading...
Searching...
No Matches
ADSR Class Reference

A very simple ADSR envelope class. More...

#include <juce_ADSR.h>

Classes

struct  Parameters
 Holds the parameters being used by an ADSR object. More...
 

Public Member Functions

 ADSR ()
 
void setParameters (const Parameters &newParameters)
 Sets the parameters that will be used by an ADSR object.
 
const ParametersgetParameters () const noexcept
 Returns the parameters currently being used by an ADSR object.
 
bool isActive () const noexcept
 Returns true if the envelope is in its attack, decay, sustain or release stage.
 
void setSampleRate (double newSampleRate) noexcept
 Sets the sample rate that will be used for the envelope.
 
void reset () noexcept
 Resets the envelope to an idle state.
 
void noteOn () noexcept
 Starts the attack phase of the envelope.
 
void noteOff () noexcept
 Starts the release phase of the envelope.
 
float getNextSample () noexcept
 Returns the next sample value for an ADSR object.
 
template<typename FloatType >
void applyEnvelopeToBuffer (AudioBuffer< FloatType > &buffer, int startSample, int numSamples)
 This method will conveniently apply the next numSamples number of envelope values to an AudioBuffer.
 

Detailed Description

A very simple ADSR envelope class.

To use it, call setSampleRate() with the current sample rate and give it some parameters with setParameters() then call getNextSample() to get the envelope value to be applied to each audio sample or applyEnvelopeToBuffer() to apply the envelope to a whole buffer.

Do not change the parameters during playback. If you change the parameters before the release stage has completed then you must call reset() before the next call to noteOn().

Constructor & Destructor Documentation

◆ ADSR()

ADSR::ADSR ( )

Member Function Documentation

◆ setParameters()

void ADSR::setParameters ( const Parameters & newParameters)

Sets the parameters that will be used by an ADSR object.

You must have called setSampleRate() with the correct sample rate before this otherwise the values may be incorrect!

See also
getParameters

References jassert.

◆ getParameters()

const Parameters & ADSR::getParameters ( ) const
noexcept

Returns the parameters currently being used by an ADSR object.

See also
setParameters

◆ isActive()

bool ADSR::isActive ( ) const
noexcept

Returns true if the envelope is in its attack, decay, sustain or release stage.

◆ setSampleRate()

void ADSR::setSampleRate ( double newSampleRate)
noexcept

Sets the sample rate that will be used for the envelope.

This must be called before the getNextSample() or setParameters() methods.

References jassert.

◆ reset()

void ADSR::reset ( )
noexcept

Resets the envelope to an idle state.

◆ noteOn()

void ADSR::noteOn ( )
noexcept

Starts the attack phase of the envelope.

◆ noteOff()

void ADSR::noteOff ( )
noexcept

Starts the release phase of the envelope.

◆ getNextSample()

float ADSR::getNextSample ( )
noexcept

Returns the next sample value for an ADSR object.

See also
applyEnvelopeToBuffer

◆ applyEnvelopeToBuffer()

template<typename FloatType >
void ADSR::applyEnvelopeToBuffer ( AudioBuffer< FloatType > & buffer,
int startSample,
int numSamples )

The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram