OpenShot Audio Library | OpenShotAudio 0.4.0
juce::ADSR Class Reference

#include <juce_ADSR.h>

Classes

struct  Parameters
 

Public Member Functions

void setParameters (const Parameters &newParameters)
 
const ParametersgetParameters () const noexcept
 
bool isActive () const noexcept
 
void setSampleRate (double newSampleRate) noexcept
 
void reset () noexcept
 
void noteOn () noexcept
 
void noteOff () noexcept
 
float getNextSample () noexcept
 
template<typename FloatType >
void applyEnvelopeToBuffer (AudioBuffer< FloatType > &buffer, int startSample, int numSamples)
 

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().

Definition at line 40 of file juce_ADSR.h.

Constructor & Destructor Documentation

◆ ADSR()

juce::ADSR::ADSR ( )
inline

Definition at line 44 of file juce_ADSR.h.

Member Function Documentation

◆ applyEnvelopeToBuffer()

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

This method will conveniently apply the next numSamples number of envelope values to an AudioBuffer.

See also
getNextSample

Definition at line 219 of file juce_ADSR.h.

◆ getNextSample()

float juce::ADSR::getNextSample ( )
inlinenoexcept

Returns the next sample value for an ADSR object.

See also
applyEnvelopeToBuffer

Definition at line 158 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::renderNextBlock().

◆ getParameters()

const Parameters & juce::ADSR::getParameters ( ) const
inlinenoexcept

Returns the parameters currently being used by an ADSR object.

See also
setParameters

Definition at line 93 of file juce_ADSR.h.

◆ isActive()

bool juce::ADSR::isActive ( ) const
inlinenoexcept

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

Definition at line 96 of file juce_ADSR.h.

◆ noteOff()

void juce::ADSR::noteOff ( )
inlinenoexcept

Starts the release phase of the envelope.

Definition at line 137 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::stopNote().

◆ noteOn()

void juce::ADSR::noteOn ( )
inlinenoexcept

Starts the attack phase of the envelope.

Definition at line 118 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::startNote().

◆ reset()

void juce::ADSR::reset ( )
inlinenoexcept

Resets the envelope to an idle state.

Definition at line 111 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::stopNote().

◆ setParameters()

void juce::ADSR::setParameters ( const Parameters newParameters)
inline

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

Definition at line 80 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::startNote().

◆ setSampleRate()

void juce::ADSR::setSampleRate ( double  newSampleRate)
inlinenoexcept

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

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

Definition at line 103 of file juce_ADSR.h.

Referenced by juce::SamplerVoice::startNote().


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