commit a7f2e214ca493fc3b28c92cc70ab8675d838ef67
parent 9ec818b2aee0abbf1d15ead8cbfae4c8e8b064e2
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Fri, 31 May 2024 15:45:09 +0200
get rid of old onValueChanged listener list
Diffstat:
7 files changed, 10 insertions(+), 39 deletions(-)
diff --git a/source/jucePluginEditorLib/focusedParameter.cpp b/source/jucePluginEditorLib/focusedParameter.cpp
@@ -27,7 +27,7 @@ namespace jucePluginEditorLib
{
for (const auto& param : params.second)
{
- m_boundParameters.insert({param, pluginLib::EventListener(param->evValueChanged, [this](const pluginLib::Parameter* _param)
+ m_boundParameters.insert({param, pluginLib::EventListener(param->onValueChanged, [this](const pluginLib::Parameter* _param)
{
if (_param->getChangeOrigin() == pluginLib::Parameter::ChangedBy::PresetChange ||
_param->getChangeOrigin() == pluginLib::Parameter::ChangedBy::Derived)
diff --git a/source/jucePluginLib/parameter.cpp b/source/jucePluginLib/parameter.cpp
@@ -17,11 +17,7 @@ namespace pluginLib
void Parameter::valueChanged(juce::Value &)
{
sendToSynth();
-
- for (const auto& func : onValueChanged)
- func.second();
-
- evValueChanged(this);
+ onValueChanged(this);
}
void Parameter::setDerivedValue(const int _value, ChangedBy _origin, bool _notifyHost)
@@ -196,24 +192,6 @@ namespace pluginLib
m_changingDerivedValues = false;
}
- bool Parameter::removeListener(const uint32_t _id)
- {
- bool res = false;
- for(auto it = onValueChanged.begin(); it !=onValueChanged.end();)
- {
- if(it->first == _id)
- {
- it = onValueChanged.erase(it);
- res = true;
- }
- else
- {
- ++it;
- }
- }
- return res;
- }
-
juce::String Parameter::genId(const Description& d, const int part, const int uniqueId)
{
if(uniqueId > 0)
diff --git a/source/jucePluginLib/parameter.h b/source/jucePluginLib/parameter.h
@@ -26,6 +26,7 @@ namespace pluginLib
};
Event<Parameter*, bool> onLockedChanged;
+ Event<Parameter*> onValueChanged;
Parameter(Controller& _controller, const Description& _desc, uint8_t _partNum, int _uniqueId);
@@ -73,20 +74,12 @@ namespace pluginLib
void setLocked(bool _locked);
bool isLocked() const { return m_isLocked; }
- // allow 'injecting' additional code for specific parameter.
- // eg. multi/single value change requires triggering more logic.
- std::list<std::pair<uint32_t, std::function<void()>>> onValueChanged;
-
- Event<Parameter*> evValueChanged;
-
void addDerivedParameter(Parameter* _param);
int getUniqueId() const { return m_uniqueId; }
const std::set<Parameter*>& getDerivedParameters() { return m_derivedParameters; }
- bool removeListener(uint32_t _id);
-
ChangedBy getChangeOrigin() const { return m_lastValueOrigin; }
void setValueNotifyingHost(float _value, ChangedBy _origin);
diff --git a/source/jucePluginLib/parameterbinding.cpp b/source/jucePluginLib/parameterbinding.cpp
@@ -171,7 +171,7 @@ namespace pluginLib
v->getValueObject().setValue(id - 1);
};
- const auto listenerId = v->evValueChanged.addListener([this, &_combo](pluginLib::Parameter* v)
+ const auto listenerId = v->onValueChanged.addListener([this, &_combo](pluginLib::Parameter* v)
{
const auto value = static_cast<int>(v->getValueObject().getValueSource().getValue());
_combo.setSelectedId(value + 1, juce::dontSendNotification);
@@ -291,7 +291,7 @@ namespace pluginLib
if(_b.onChangeListenerId != ParameterValueChangeListener::InvalidListenerId)
{
- _b.parameter->evValueChanged.removeListener(_b.onChangeListenerId);
+ _b.parameter->onValueChanged.removeListener(_b.onChangeListenerId);
_b.onChangeListenerId = ParameterValueChangeListener::InvalidListenerId;
}
}
diff --git a/source/jucePluginLib/softknob.cpp b/source/jucePluginLib/softknob.cpp
@@ -27,12 +27,12 @@ namespace pluginLib
m_targetSelect = _controller.getParameter(idxTargetSelect, _part);
assert(m_targetSelect);
- m_targetSelectListener.set(m_targetSelect->evValueChanged, [this](auto*)
+ m_targetSelectListener.set(m_targetSelect->onValueChanged, [this](auto*)
{
onTargetChanged();
});
- m_sourceParamListener.set(m_sourceParam->evValueChanged,[this](auto*)
+ m_sourceParamListener.set(m_sourceParam->onValueChanged,[this](auto*)
{
onSourceValueChanged();
});
@@ -95,7 +95,7 @@ namespace pluginLib
if(!m_targetParam)
return;
- m_targetParamListener.set(m_targetParam->evValueChanged, [this](pluginLib::Parameter*)
+ m_targetParamListener.set(m_targetParam->onValueChanged, [this](pluginLib::Parameter*)
{
onTargetValueChanged();
});
diff --git a/source/virusJucePlugin/ArpUserPattern.cpp b/source/virusJucePlugin/ArpUserPattern.cpp
@@ -107,7 +107,7 @@ namespace genericVirusUI
auto* p = m_controller.getParameter(idx, m_controller.getCurrentPart());
assert(p);
- return std::make_pair(p, pluginLib::ParameterValueChangeListener(p->evValueChanged, [this](pluginLib::Parameter*)
+ return std::make_pair(p, pluginLib::ParameterValueChangeListener(p->onValueChanged, [this](pluginLib::Parameter*)
{
onParameterChanged();
}));
diff --git a/source/virusJucePlugin/VirusController.cpp b/source/virusJucePlugin/VirusController.cpp
@@ -51,7 +51,7 @@ namespace Virus
auto* parameter = getParameter(paramIdx);
if(parameter)
{
- parameter->evValueChanged.addListener([this](pluginLib::Parameter*)
+ parameter->onValueChanged.addListener([this](pluginLib::Parameter*)
{
const uint8_t prg = isMultiMode() ? 0x0 : virusLib::SINGLE;
requestSingle(0, prg);