Krotos Modules 3
Loading...
Searching...
No Matches
Kwidget_XyPad.h
Go to the documentation of this file.
1namespace krotos
2{
3 class Kwidget_XyPad : public Kwidget
4 {
5 public:
6 class Listener
7 {
8 public:
9 virtual ~Listener() = default;
10 virtual void labelXChanged(Kwidget_XyPad* xyPad, const String& newLabel) = 0;
11 virtual void labelYChanged(Kwidget_XyPad* xyPad, const String& newLabel) = 0;
13 virtual void labelZChanged(Kwidget_XyPad* xyPad, const String& newLabel) = 0;
14 virtual void labelWChanged(Kwidget_XyPad* xyPad, const String& newLabel) = 0;
15 };
16 void addListener(Listener* listenerToAdd);
17 void removeListener(Listener* listenerToRemove);
18
28
29 static const StringArray modeStrings;
30
32 {
33 static const String posX;
34 static const String posY;
35 static const String onClick;
36 static const String toggleOn;
37 static const String editableLabelX;
38 static const String editableLabelY;
39 static const String editableLabelZ;
40 static const String editableLabelW;
41 static const String editableLabelV;
42 };
43
44 Kwidget_XyPad(const String& id, xyMode mode = xyMode::Simple);
45
46 bool isToggleOn() { return (m_toggle->getValue() > 0.5f); } // float value 0.0f or 1.0f
47 void setToggle(bool toggled) { m_toggle->set(toggled ? 1.0f : 0.0f); }
48
51
53
55
56 protected:
57 std::vector<ParameterInfo> createParameters() override;
58 std::unique_ptr<KwidgetProcessor> createProcessor() override;
59 std::unique_ptr<KwidgetGUI> createGUI() override;
60
61 private:
63
64 void labelXChange(const String& newLabelY);
65 void labelYChange(const String& newLabelX);
66 void labelZChange(const String& newLabelX);
67 void labelWChange(const String& newLabelX);
68
70 ListenerList<Listener> m_listeners;
72
73 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Kwidget_XyPad)
74 };
75} // namespace krotos
Internal Kwidget parameter that can receive changes from a GenericParameter.
Definition KParameter.h:17
float getValue() const override
Definition KParameter.cpp:181
void set(float newValue)
Definition KParameter.cpp:128
Definition Kwidget_XyPad.h:7
virtual void labelZChanged(Kwidget_XyPad *xyPad, const String &newLabel)=0
virtual void labelYChanged(Kwidget_XyPad *xyPad, const String &newLabel)=0
virtual void labelXChanged(Kwidget_XyPad *xyPad, const String &newLabel)=0
virtual void labelWChanged(Kwidget_XyPad *xyPad, const String &newLabel)=0
Definition Kwidget_XyPad.h:4
void setKwidgetAudioProcessorReference(KwidgetAudioProcessor *ref)
Definition Kwidget_XyPad.h:52
void removeListener(Listener *listenerToRemove)
Definition Kwidget_XyPad.cpp:94
void addListener(Listener *listenerToAdd)
Definition Kwidget_XyPad.cpp:92
KParameter * m_toggle
Definition Kwidget_XyPad.h:71
xyMode getCurrentMode()
Definition Kwidget_XyPad.h:50
std::vector< ParameterInfo > createParameters() override
Definition Kwidget_XyPad.cpp:77
void setToggle(bool toggled)
Definition Kwidget_XyPad.h:47
xyMode m_currentMode
Definition Kwidget_XyPad.h:69
ListenerList< Listener > m_listeners
Definition Kwidget_XyPad.h:70
std::unique_ptr< KwidgetGUI > createGUI() override
Definition Kwidget_XyPad.cpp:90
KwidgetAudioProcessor * getKwidgetAudioProcessorReference()
Definition Kwidget_XyPad.h:54
void labelWChange(const String &newLabelX)
Definition Kwidget_XyPad.cpp:115
Kwidget_XyPad(const String &id, xyMode mode=xyMode::Simple)
Definition Kwidget_XyPad.cpp:21
bool isToggleOn()
Definition Kwidget_XyPad.h:46
void labelYChange(const String &newLabelX)
Definition Kwidget_XyPad.cpp:105
void labelXChange(const String &newLabelY)
Definition Kwidget_XyPad.cpp:100
std::unique_ptr< KwidgetProcessor > createProcessor() override
Definition Kwidget_XyPad.cpp:85
KwidgetAudioProcessor * m_kwidgetAudioProcessorReference
Definition Kwidget_XyPad.h:62
static const StringArray modeStrings
Definition Kwidget_XyPad.h:29
void labelZChange(const String &newLabelX)
Definition Kwidget_XyPad.cpp:110
xyMode
Definition Kwidget_XyPad.h:21
@ Peak
Definition Kwidget_XyPad.h:23
@ Polar
Definition Kwidget_XyPad.h:26
@ FourZone
Definition Kwidget_XyPad.h:24
@ Simple
Definition Kwidget_XyPad.h:22
@ Distance
Definition Kwidget_XyPad.h:25
Definition KwidgetAudioProcessor.h:12
Definition Kwidget.h:8
Definition AirAbsorptionFilter.cpp:2
Definition Kwidget_XyPad.h:32
static const String editableLabelY
Definition Kwidget_XyPad.h:38
static const String editableLabelZ
Definition Kwidget_XyPad.h:39
static const String posX
Definition Kwidget_XyPad.h:33
static const String editableLabelV
Definition Kwidget_XyPad.h:41
static const String onClick
Definition Kwidget_XyPad.h:35
static const String toggleOn
Definition Kwidget_XyPad.h:36
static const String posY
Definition Kwidget_XyPad.h:34
static const String editableLabelX
Definition Kwidget_XyPad.h:37
static const String editableLabelW
Definition Kwidget_XyPad.h:40