Krotos Modules 3
Loading...
Searching...
No Matches
Kwidget_Filter.cpp
Go to the documentation of this file.
1namespace krotos
2{
3 const String Kwidget_Filter::Parameters::Mode = "Mode";
4 const String Kwidget_Filter::Parameters::Cutoff = "Cutoff";
5 const String Kwidget_Filter::Parameters::Resonance = "Resonance";
6 const String Kwidget_Filter::Parameters::Drive = "Drive";
7 const String Kwidget_Filter::Parameters::Mix = "Mix";
8 const String Kwidget_Filter::Parameters::Bypass = "Bypass";
9
10 Kwidget_Filter::Kwidget_Filter(const String& kwidgetID) : Kwidget("Filter", kwidgetID)
11 {
12 init();
13
14 addParameterCallback(Parameters::Bypass, [this](float newValue) { byPassChange(newValue); });
15 }
16
17 std::vector<Kwidget::ParameterInfo> Kwidget_Filter::createParameters()
18 {
19 using P = Parameters;
20
21 return {
22 {P::Mode, P::Mode, {0.0f, 5.0f, 1.0f}, 0.0f},
23 {P::Cutoff, P::Cutoff, {20.0f, 20e3f, 1e-5f, 0.25f}, 20e3f},
24 {P::Resonance, P::Resonance, {0.0f, 1.0f}, 0.0f},
25 {P::Drive, P::Drive, {1.0f, 10.0f}, 1.0f},
26 {P::Mix, P::Mix, {0.0f, 1.0f}, 1.0f},
27 {P::Bypass, P::Bypass, {0.0f, 1.0f, 1.0f}, 0.0f},
28 };
29 }
30
31 std::unique_ptr<KwidgetProcessor> Kwidget_Filter::createProcessor()
32 {
33 return std::make_unique<KwidgetProcessor_Filter>(*this);
34 }
35
36 std::unique_ptr<KwidgetGUI> Kwidget_Filter::createGUI() { return std::make_unique<KwidgetGUI_Filter>(*this); }
37
38 void Kwidget_Filter::addListener(Listener* listenerToAdd) { m_listeners.add(listenerToAdd); }
39
41 {
42 jassert(m_listeners.contains(listenerToRemove));
43 m_listeners.remove(listenerToRemove);
44 }
45
46 void Kwidget_Filter::byPassChange(float newValue)
47 {
48 m_listeners.call([newValue](Listener& l) { l.bypassFilterChanged(newValue); });
49 }
50
51} // namespace krotos
Definition Kwidget_Filter.h:8
virtual void bypassFilterChanged(float newVal)=0
std::unique_ptr< KwidgetGUI > createGUI() override
Definition Kwidget_Filter.cpp:36
std::unique_ptr< KwidgetProcessor > createProcessor() override
Definition Kwidget_Filter.cpp:31
void removeListener(Listener *listenerToRemove)
Definition Kwidget_Filter.cpp:40
void byPassChange(float newValue)
Definition Kwidget_Filter.cpp:46
Kwidget_Filter(const String &kwidgetID)
Definition Kwidget_Filter.cpp:10
ListenerList< Listener > m_listeners
Definition Kwidget_Filter.h:40
void addListener(Listener *listenerToAdd)
Definition Kwidget_Filter.cpp:38
std::vector< ParameterInfo > createParameters() override
Definition Kwidget_Filter.cpp:17
Definition Kwidget.h:8
void init()
Definition Kwidget.cpp:27
void addParameterCallback(const String &paramID, std::function< void(float)> callback)
Definition Kwidget.cpp:458
Definition AirAbsorptionFilter.cpp:2
Kwidget_CoreEngine::Parameters Parameters
Definition KwidgetGUI_CoreEngine.cpp:42
static const String Mode
Definition Kwidget_CoreEngine.h:65