Krotos Modules 3
Loading...
Searching...
No Matches
KwidgetProcessor_Scaledadsr.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
16 void reset() override;
17
18 void noteCleared() override;
19
20 void setAttack(float attack);
21 void setDecay(float decay);
22 void setSustain(float sustain);
23 void setRelease(float release);
24 void setAmount(float amount);
25
26 private:
27 bool m_hasBeenReset{false};
28 bool m_noteIsOn{false}; // Used to keep track of not on/off status and allow prevention of re-triggering
29 // in-progress release
30
31 void updateParams();
32
34 juce::ADSR m_adsr;
35 juce::ADSR::Parameters m_parameters;
36 float m_amount;
37
38 AudioBuffer<float> m_buffer;
39 bool m_isDrone{false};
40
41 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(KwidgetProcessor_Scaledadsr)
42 };
43} // namespace krotos
Definition Kwidget.h:8
Definition KwidgetProcessor_Scaledadsr.h:4
bool m_isDrone
Definition KwidgetProcessor_Scaledadsr.h:39
void setSustain(float sustain)
Definition KwidgetProcessor_Scaledadsr.cpp:126
juce::ADSR m_adsr
Definition KwidgetProcessor_Scaledadsr.h:34
void updateParams()
Definition KwidgetProcessor_Scaledadsr.cpp:138
void reset() override
Definition KwidgetProcessor_Scaledadsr.cpp:108
void setAttack(float attack)
Definition KwidgetProcessor_Scaledadsr.cpp:116
void noteCleared() override
Definition KwidgetProcessor_Scaledadsr.cpp:114
AudioBuffer< float > m_buffer
Definition KwidgetProcessor_Scaledadsr.h:38
void setAmount(float amount)
Definition KwidgetProcessor_Scaledadsr.cpp:136
bool m_hasBeenReset
Definition KwidgetProcessor_Scaledadsr.h:27
void prepare(double sampleRate, int samplesPerBlock) override
Definition KwidgetProcessor_Scaledadsr.cpp:16
KwidgetProcessor_Scaledadsr(Kwidget &owner)
Definition KwidgetProcessor_Scaledadsr.cpp:3
void process(AudioBuffer< float > &buffer) override
Definition KwidgetProcessor_Scaledadsr.cpp:25
void noteOn(int midiNoteNumber, float velocity, int) override
Definition KwidgetProcessor_Scaledadsr.cpp:75
float m_amount
Definition KwidgetProcessor_Scaledadsr.h:36
void setRelease(float release)
Definition KwidgetProcessor_Scaledadsr.cpp:131
bool m_noteIsOn
Definition KwidgetProcessor_Scaledadsr.h:28
juce::ADSR::Parameters m_parameters
Definition KwidgetProcessor_Scaledadsr.h:35
void setDecay(float decay)
Definition KwidgetProcessor_Scaledadsr.cpp:121
void noteOff(float velocity) override
Definition KwidgetProcessor_Scaledadsr.cpp:97
An interface for an audio processor designed for modular use.
Definition KwidgetProcessor.h:8
Definition AirAbsorptionFilter.cpp:2
Definition Kwidget_Scaledadsr.h:7