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 4ae6eb671c67e4fa53dacdcf6641f25f021686ca
parent 5ed431b67e090c0af877855c890fd4283d5c7241
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Tue, 18 Jan 2022 19:36:06 +0100

fix parameter default value not being normalized

Diffstat:
Msource/jucePlugin/VirusParameter.h | 23+++++++++++------------
Msource/jucePlugin/VirusParameterBinding.cpp | 2+-
2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/source/jucePlugin/VirusParameter.h b/source/jucePlugin/VirusParameter.h @@ -59,18 +59,17 @@ namespace Virus void setValueFromSynth(int newValue, bool notifyHost = true); float getDefaultValue() const override { // default value should probably be in description instead of hardcoded like this. - if (m_desc.index == 21 || m_desc.index == 31) { // osc keyfollows - return 64+32; - } - else if (m_desc.index == 36) // osc vol / saturation - return 64; - else if (m_desc.index == 40) // filter1 cutoffs - return 127; - else if(m_desc.index == 41) //filter 2 - return 64; - else if(m_desc.index == 91) // patch volume - return 100; - return m_desc.isBipolar ? 64.0f : 0.0f; /* maybe return from ROM state? */ + if (m_desc.index == 21 || m_desc.index == 31) // osc keyfollows + return (64.0f + 32.0f) / 127.0f; + if (m_desc.index == 36) // osc vol / saturation + return 0.5f; + if (m_desc.index == 40) // filter1 cutoffs + return 1.0f; + if(m_desc.index == 41) //filter 2 + return 0.5f; + if(m_desc.index == 91) // patch volume + return 100.0f / 127.0f; + return m_desc.isBipolar ? 0.5f : 0.0f; /* maybe return from ROM state? */ } bool isDiscrete() const override { return m_desc.isDiscrete; } bool isBoolean() const override { return m_desc.isBool; } diff --git a/source/jucePlugin/VirusParameterBinding.cpp b/source/jucePlugin/VirusParameterBinding.cpp @@ -34,7 +34,7 @@ void VirusParameterBinding::bind(juce::Slider &_slider, Virus::ParameterType _pa _slider.addMouseListener(new VirusParameterBindingMouseListener(v, _slider), false); const auto range = v->getNormalisableRange(); _slider.setRange(range.start, range.end, range.interval); - _slider.setDoubleClickReturnValue(true, v->getDefaultValue()); + _slider.setDoubleClickReturnValue(true, v->convertFrom0to1(v->getDefaultValue())); _slider.getValueObject().referTo(v->getValueObject()); _slider.getProperties().set("type", "slider"); _slider.getProperties().set("name", v->getDescription().name);