gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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:
Msource/jucePluginEditorLib/focusedParameter.cpp | 2+-
Msource/jucePluginLib/parameter.cpp | 24+-----------------------
Msource/jucePluginLib/parameter.h | 9+--------
Msource/jucePluginLib/parameterbinding.cpp | 4++--
Msource/jucePluginLib/softknob.cpp | 6+++---
Msource/virusJucePlugin/ArpUserPattern.cpp | 2+-
Msource/virusJucePlugin/VirusController.cpp | 2+-
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);