All Classes Namespaces Functions Variables Enumerations Enumerator Modules Pages
Classes | List of all members
AhdsrEnvelope Class Reference
Inheritance diagram for AhdsrEnvelope:
EnvelopeModulator Modulator VoiceModulation TimeModulation Processor Modulation Modulation SafeChangeBroadcaster RestorableObject ControlledObject


struct  AhdsrEnvelopeState

Additional Inherited Members

- Public Types inherited from Processor
enum  SpecialParameters
enum  InternalChains
- Public Types inherited from Modulation
enum  Mode { GainMode = 0, PitchMode }
- Public Member Functions inherited from Modulator
 Modulator (MainController *m, const String &id)
virtual void setColour (Colour c)
void setPlotter (Plotter *targetPlotter)
void addValueToPlotter (float v) const
- Public Member Functions inherited from Processor
 Processor (MainController *m, const String &id_)
virtual ~Processor ()
virtual const Identifier getType () const =0
const Path getSymbol () const
void setSymbol (Path newSymbol)
void setAttribute (int parameterIndex, float newValue, juce::NotificationType notifyEditor)
void enableConsoleOutput (bool shouldBeEnabled)
const String & getId () const
virtual const String getName () const
virtual void setBypassed (bool shouldBeBypassed, NotificationType notifyChangeHandler=dontSendNotification) noexcept
bool isBypassed () const noexcept
double getSampleRate () const
int getBlockSize () const
float getOutputValue () const
float getInputValue () const
void setEditorState (int state, bool isOn, NotificationType notifyView=sendNotification)
bool getEditorState (int state) const
void restoreCompleteEditorState (const XmlElement *storedState)
const Identifier getIdentifierForParameterIndex (int parameterIndex) const
int getNumParameters () const
void setIsOnAir (bool isBeingProcessedInAudioThread)
const CriticalSection & getDummyLockWhenNotOnAir () const
- Public Member Functions inherited from SafeChangeBroadcaster
void sendSynchronousChangeMessage ()
void addChangeListener (SafeChangeListener *listener)
void removeChangeListener (SafeChangeListener *listener)
void removeAllChangeListeners ()
void sendChangeMessage (const String &=String())
void sendAllocationFreeChangeMessage ()
- Public Member Functions inherited from ControlledObject
 ControlledObject (MainController *m)
const MainControllergetMainController () const noexcept
MainControllergetMainController () noexcept
- Public Member Functions inherited from Modulation
Mode getMode () const noexcept
float calcIntensityValue (float calculatedModulationValue) const noexcept
void applyModulationValue (float calculatedModulationValue, float &destinationValue) const noexcept
void setIntensity (float newIntensity) noexcept
void setIntensityFromSlider (float sliderValue) noexcept
virtual float getIntensity () const noexcept
float getDisplayIntensity () const noexcept
- Public Member Functions inherited from TimeModulation
virtual void renderNextBlock (AudioSampleBuffer &buffer, int startSample, int numSamples)
virtual void applyTimeModulation (AudioSampleBuffer &buffer, int startIndex, int samplesToCopy)
virtual const float * getCalculatedValues (int)
- Protected Member Functions inherited from Processor
void setOutputValue (float newValue)
void setInputValue (float newValue, NotificationType notify=sendNotification)
- Protected Member Functions inherited from TimeModulation
virtual void prepareToModulate (double, int samplesPerBlock)
virtual bool isInitialized ()
void applyGainModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, int numValues) const noexcept
void applyGainModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, float *intensityValues, int numValues) const noexcept
void applyPitchModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, float *intensityValues, int numValues) const noexcept
void applyPitchModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, int numValues) const noexcept
- Protected Attributes inherited from EnvelopeModulator
OwnedArray< ModulatorStatestates

Detailed Description

A pretty common envelope type with 5 states. (Go to for a general description on how an envelope works)

The code is based on the example envelope code from

The Modulator has five states: Attack, Hold, Decay, Sustain and Release and allows modulation of the attack time and level, the decay time and the release time with VoiceStartModulators.

Unlike the SimpleEnvelope, this envelope has a exponential curve, so it sounds nicer (but is a little bit more resource-hungry).

ID Parameter Description
0 Attack the attack time in milliseconds
1 AttackLevel the attack level in decibel
2 Hold the hold time in milliseconds
3 Decay the decay time in milliseconds
4 Sustain the sustain level in decibel
5 Release the release time in milliseconds

©2017 HISE. This documentation is autogenerated from the HISE source code using Doxygen.