1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00

VST3: Wrap program parameter changes in begin/endEdit() calls to ensure that automation data is recorded correctly

This commit is contained in:
ed 2021-01-05 12:13:07 +00:00
parent 3ff966603e
commit 0715b7ebdd

View file

@ -594,19 +594,13 @@ public:
bool setNormalized (Vst::ParamValue v) override
{
Vst::ParamValue program = v * info.stepCount;
if (! isPositiveAndBelow ((int) program, owner.getNumPrograms()))
if (! isPositiveAndBelow ((int) toPlain (v), owner.getNumPrograms())
|| v == valueNormalized)
return false;
if (valueNormalized != v)
{
valueNormalized = v;
changed();
return true;
}
return false;
valueNormalized = v;
changed();
return true;
}
void toString (Vst::ParamValue value, Vst::String128 result) const override
@ -954,7 +948,10 @@ public:
if (paramValue != EditController::getParamNormalized (JuceAudioProcessor::paramPreset))
{
EditController::setParamNormalized (JuceAudioProcessor::paramPreset, paramValue);
beginEdit (JuceAudioProcessor::paramPreset);
paramChanged (JuceAudioProcessor::paramPreset, (float) paramValue);
endEdit (JuceAudioProcessor::paramPreset);
flags |= Vst::kParamValuesChanged;
}
}