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:
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);