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 9b6e27e5efd01161114c8e1c3358e4298903db18
parent 42670efbd642f92105a1e2552fb6acf2de7680a4
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sat, 17 Aug 2024 11:29:36 +0200

focused parameter shouldn't display soft knob name/value but the target parameter name/value while being dragged

Diffstat:
Msource/jucePluginEditorLib/focusedParameter.cpp | 14++++++++++----
Msource/jucePluginEditorLib/focusedParameter.h | 3+++
2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/source/jucePluginEditorLib/focusedParameter.cpp b/source/jucePluginEditorLib/focusedParameter.cpp @@ -143,6 +143,8 @@ namespace jucePluginEditorLib stopTimer(); + _param = resolveSoftKnob(_param); + if(!_param || !_component) { m_currentPriority = Priority::None; @@ -181,13 +183,17 @@ namespace jucePluginEditorLib const auto* param = m_controller.getParameter(paramIdx, static_cast<uint8_t>(part)); - // do not show soft knob parameter if the softknob is bound to another parameter - if(param && param->getDescription().isSoftKnob()) + return param; + } + + const pluginLib::Parameter* FocusedParameter::resolveSoftKnob(const pluginLib::Parameter* _sourceParam) const + { + if(_sourceParam && _sourceParam->getDescription().isSoftKnob()) { - const auto* softKnob = m_controller.getSoftknob(param); + const auto* softKnob = m_controller.getSoftknob(_sourceParam); if(softKnob && softKnob->isBound()) return softKnob->getTargetParameter(); } - return param; + return _sourceParam; } } diff --git a/source/jucePluginEditorLib/focusedParameter.h b/source/jucePluginEditorLib/focusedParameter.h @@ -48,8 +48,11 @@ namespace jucePluginEditorLib void updateControlLabel(juce::Component* _component, Priority _prio); void updateControlLabel(juce::Component* _component, const pluginLib::Parameter* _param); void updateControlLabel(juce::Component* _component, const pluginLib::Parameter* _param, Priority _priority); + const pluginLib::Parameter* getParameterFromComponent(juce::Component* _component) const; + const pluginLib::Parameter* resolveSoftKnob(const pluginLib::Parameter* _sourceParam) const; + const pluginLib::ParameterBinding& m_parameterBinding; const pluginLib::Controller& m_controller;