Krotos Modules 3
Loading...
Searching...
No Matches
KwidgetProcessor_Adsr.h
Go to the documentation of this file.
1namespace krotos
2{
4 {
5 public:
7
9
10 void prepare(double sampleRate, int samplesPerBlock) override;
11 void process(AudioBuffer<float>& buffer) override;
12
13 void noteOn(int midiNoteNumber, float velocity, int) override;
14 void noteOff(float velocity) override;
15 bool isActive() override;
16 void noteCleared() override;
17 void reset() override;
18
19 void setAttack(float attack);
20 void setDecay(float decay);
21 void setSustain(float sustain);
22 void setRelease(float release);
23
24 private:
25 bool m_hasBeenReset{false};
26 bool m_noteIsOn{false}; // Used to keep track of not on/off status and allow prevention of re-triggering
27 // in-progress release
28
29 void updateParams();
30
32 juce::ADSR m_adsr;
33 juce::ADSR::Parameters m_parameters;
34
35 AudioBuffer<float> m_buffer;
36 bool m_isDrone{false};
37
38 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(KwidgetProcessor_Adsr)
39 };
40} // namespace krotos
Definition Kwidget.h:8
Definition KwidgetProcessor_Adsr.h:4
bool m_hasBeenReset
Definition KwidgetProcessor_Adsr.h:25
KwidgetProcessor_Adsr(Kwidget &owner)
Definition KwidgetProcessor_Adsr.cpp:3
void setSustain(float sustain)
Definition KwidgetProcessor_Adsr.cpp:113
bool isActive() override
Definition KwidgetProcessor_Adsr.cpp:93
juce::ADSR::Parameters m_parameters
Definition KwidgetProcessor_Adsr.h:33
void reset() override
Definition KwidgetProcessor_Adsr.cpp:97
void noteOff(float velocity) override
Definition KwidgetProcessor_Adsr.cpp:82
void setAttack(float attack)
Definition KwidgetProcessor_Adsr.cpp:103
void process(AudioBuffer< float > &buffer) override
Definition KwidgetProcessor_Adsr.cpp:29
void updateParams()
Definition KwidgetProcessor_Adsr.cpp:124
void noteCleared() override
Definition KwidgetProcessor_Adsr.cpp:95
bool m_noteIsOn
Definition KwidgetProcessor_Adsr.h:26
void prepare(double sampleRate, int samplesPerBlock) override
Definition KwidgetProcessor_Adsr.cpp:15
void noteOn(int midiNoteNumber, float velocity, int) override
Definition KwidgetProcessor_Adsr.cpp:60
juce::ADSR m_adsr
Definition KwidgetProcessor_Adsr.h:32
void setRelease(float release)
Definition KwidgetProcessor_Adsr.cpp:118
bool m_isDrone
Definition KwidgetProcessor_Adsr.h:36
void setDecay(float decay)
Definition KwidgetProcessor_Adsr.cpp:108
AudioBuffer< float > m_buffer
Definition KwidgetProcessor_Adsr.h:35
An interface for an audio processor designed for modular use.
Definition KwidgetProcessor.h:8
Definition AirAbsorptionFilter.cpp:2
Definition Kwidget_Adsr.h:7