Krotos Modules 3
Loading...
Searching...
No Matches
krotos::KwidgetProcessor_Adsr Class Reference

#include <KwidgetProcessor_Adsr.h>

Inheritance diagram for krotos::KwidgetProcessor_Adsr:
krotos::KwidgetProcessor

Public Types

using Parameters = Kwidget_Adsr::Parameters
 

Public Member Functions

 KwidgetProcessor_Adsr (Kwidget &owner)
 
void prepare (double sampleRate, int samplesPerBlock) override
 
void process (AudioBuffer< float > &buffer) override
 
void noteOn (int midiNoteNumber, float velocity, int) override
 
void noteOff (float velocity) override
 
bool isActive () override
 
void noteCleared () override
 
void reset () override
 
void setAttack (float attack)
 
void setDecay (float decay)
 
void setSustain (float sustain)
 
void setRelease (float release)
 
- Public Member Functions inherited from krotos::KwidgetProcessor
 KwidgetProcessor (Kwidget &owner)
 
 ~KwidgetProcessor () override=default
 
void prepareToPlay (double, int) override final
 
void processBlock (AudioBuffer< float > &buffer, MidiBuffer &) override final
 
std::shared_ptr< KAttachmentgetAttachment (const String &paramID)
 
int getNumModulators () const
 
ModulatorgetModulator (int index)
 
const String & getKwidgetType () const
 
const String & getKwidgetID () const
 
void updateAttachments ()
 

Private Member Functions

void updateParams ()
 

Private Attributes

bool m_hasBeenReset {false}
 
bool m_noteIsOn {false}
 
juce::ADSR m_adsr
 
juce::ADSR::Parameters m_parameters
 
AudioBuffer< float > m_buffer
 
bool m_isDrone {false}
 

Additional Inherited Members

- Protected Member Functions inherited from krotos::KwidgetProcessor
void nextBlock (int numSamples)
 
void nextSample ()
 
void addModulator (bool useAudioRate)
 
void addParameterAttachments (std::vector< AttachmentInfo >)
 
void addParameterCallback (const String &paramID, std::function< void(float)> callback)
 
KwidgetgetOwner () const
 

Member Typedef Documentation

◆ Parameters

Constructor & Destructor Documentation

◆ KwidgetProcessor_Adsr()

krotos::KwidgetProcessor_Adsr::KwidgetProcessor_Adsr ( Kwidget & owner)

Member Function Documentation

◆ isActive()

bool krotos::KwidgetProcessor_Adsr::isActive ( )
overridevirtual

Reimplemented from krotos::KwidgetProcessor.

◆ noteCleared()

void krotos::KwidgetProcessor_Adsr::noteCleared ( )
overridevirtual

Override this method to perform any necessary cleanup when a voice is cleared.

Reimplemented from krotos::KwidgetProcessor.

◆ noteOff()

void krotos::KwidgetProcessor_Adsr::noteOff ( float velocity)
overridevirtual

Override this method to process a note off event, if necessary.

Parameters
velocityThe relative velocity of the note event (between 0 and 1).

Reimplemented from krotos::KwidgetProcessor.

◆ noteOn()

void krotos::KwidgetProcessor_Adsr::noteOn ( int midiNoteNumber,
float velocity,
int voiceIndex )
overridevirtual

Override this method to process a note on event, if necessary.

Parameters
midiNoteNumberThe integer value of the MIDI note.
See also
juce::MidiMessage::getMidiNoteInHertz()

velocity The relative velocity of the note event (between 0 and 1). voiceIndex Optionally pass in a voice index, used ultimately to identify the voice associated with a playing note Defaults to -1 if unused

Reimplemented from krotos::KwidgetProcessor.

◆ prepare()

void krotos::KwidgetProcessor_Adsr::prepare ( double sampleRate,
int samplesPerBlock )
overridevirtual

Override this method to inform your processor of the sample rate and maximum block size.

Implements krotos::KwidgetProcessor.

◆ process()

void krotos::krotos::KwidgetProcessor_Adsr::process ( AudioBuffer< float > & buffer)
overridevirtual

Outputs the ADSR modulation signal, also applies it to the incoming audio buffer as an effect

See also
applyEnvelopeToBuffer

Implements krotos::KwidgetProcessor.

◆ reset()

void krotos::KwidgetProcessor_Adsr::reset ( )
override

◆ setAttack()

void krotos::KwidgetProcessor_Adsr::setAttack ( float attack)

◆ setDecay()

void krotos::KwidgetProcessor_Adsr::setDecay ( float decay)

◆ setRelease()

void krotos::KwidgetProcessor_Adsr::setRelease ( float release)

◆ setSustain()

void krotos::KwidgetProcessor_Adsr::setSustain ( float sustain)

◆ updateParams()

void krotos::KwidgetProcessor_Adsr::updateParams ( )
private

Member Data Documentation

◆ m_adsr

juce::ADSR krotos::KwidgetProcessor_Adsr::m_adsr
private

Contains the processor for the ADSR.

◆ m_buffer

AudioBuffer<float> krotos::KwidgetProcessor_Adsr::m_buffer
private

◆ m_hasBeenReset

bool krotos::KwidgetProcessor_Adsr::m_hasBeenReset {false}
private

◆ m_isDrone

bool krotos::KwidgetProcessor_Adsr::m_isDrone {false}
private

◆ m_noteIsOn

bool krotos::KwidgetProcessor_Adsr::m_noteIsOn {false}
private

◆ m_parameters

juce::ADSR::Parameters krotos::KwidgetProcessor_Adsr::m_parameters
private

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