Krotos Modules 3
Loading...
Searching...
No Matches
CustomParameter.cpp
Go to the documentation of this file.
1namespace krotos
2{
3 CustomParameter::CustomParameter() : m_parameterTree(), m_property(), m_undoManager(nullptr) {}
4
5 CustomParameter::CustomParameter(const ValueTree& parameterTree, const Identifier& property,
6 UndoManager* undoManager)
7 : m_parameterTree(parameterTree), m_property(property), m_undoManager(undoManager)
8 {
9 m_parameterTree.addListener(this);
10 }
11
13 : CustomParameter(p.getParameterTree(), p.getProperty(), p.getUndoManager())
14 {
15 }
16
18 {
19 m_parameterTree.removeListener(this);
20
24
25 m_parameterTree.addListener(this);
26
27 return *this;
28 }
29
31 {
32 return m_parameterTree == other.getParameterTree() && m_property == other.getProperty();
33 }
34
36
37 bool CustomParameter::isValid() const { return m_parameterTree.isValid() && m_property.isValid(); }
38
39 const var& CustomParameter::getValue() const
40 {
41 jassert(isValid());
42
44 }
45
46 void CustomParameter::setValue(const var& newValue, bool selfUpdate)
47 {
48 jassert(isValid());
49
50 auto exclude = selfUpdate ? nullptr : this;
51 m_parameterTree.setPropertyExcludingListener(exclude, m_property, newValue, m_undoManager);
52 }
53
54 void CustomParameter::valueTreePropertyChanged(ValueTree& tree, const Identifier& property)
55 {
56 if (property == m_property)
57 {
58 if (valueChanged)
59 {
60 valueChanged(tree[property]);
61 }
62 }
63 }
64} // namespace krotos
A wrapper around juce::ValueTree designed to store custom plugin state (strings, arrays,...
Definition CustomParameter.h:9
CustomParameter()
Definition CustomParameter.cpp:3
Identifier m_property
Definition CustomParameter.h:66
ValueTree m_parameterTree
Definition CustomParameter.h:65
UndoManager * m_undoManager
Definition CustomParameter.h:67
bool isValid() const
Definition CustomParameter.cpp:37
std::function< void(const var &)> valueChanged
Definition CustomParameter.h:60
CustomParameter & operator=(const CustomParameter &other)
Definition CustomParameter.cpp:17
void valueTreePropertyChanged(ValueTree &tree, const Identifier &property) override
Definition CustomParameter.cpp:54
const Identifier & getProperty() const
Definition CustomParameter.h:57
const var & getValue() const
Definition CustomParameter.cpp:39
~CustomParameter() override
Definition CustomParameter.cpp:35
bool operator==(const CustomParameter &other) const
Definition CustomParameter.cpp:30
UndoManager * getUndoManager() const
Definition CustomParameter.h:51
const ValueTree & getParameterTree() const
Definition CustomParameter.h:54
void setValue(const var &newValue, bool selfUpdate=false)
Definition CustomParameter.cpp:46
Definition AirAbsorptionFilter.cpp:2