Signed-off-by: falkTX <falktx@falktx.com>pull/443/head
@@ -1167,7 +1167,7 @@ private: | |||||
void updateParameterOutputsAndTriggers() | void updateParameterOutputsAndTriggers() | ||||
{ | { | ||||
float curValue; | |||||
float curValue, defValue; | |||||
for (uint32_t i=0, count=fPlugin.getParameterCount(); i < count; ++i) | for (uint32_t i=0, count=fPlugin.getParameterCount(); i < count; ++i) | ||||
{ | { | ||||
@@ -1193,17 +1193,18 @@ private: | |||||
} | } | ||||
else if ((fPlugin.getParameterHints(i) & kParameterIsTrigger) == kParameterIsTrigger) | else if ((fPlugin.getParameterHints(i) & kParameterIsTrigger) == kParameterIsTrigger) | ||||
{ | { | ||||
// NOTE: no trigger support in VST parameters, simulate it here | |||||
// NOTE: no trigger parameter support in VST2, simulate it here | |||||
defValue = fPlugin.getParameterDefault(i); | |||||
curValue = fPlugin.getParameterValue(i); | curValue = fPlugin.getParameterValue(i); | ||||
if (d_isEqual(curValue, fPlugin.getParameterRanges(i).def)) | |||||
if (d_isEqual(curValue, defValue)) | |||||
continue; | continue; | ||||
#if DISTRHO_PLUGIN_HAS_UI | #if DISTRHO_PLUGIN_HAS_UI | ||||
if (fVstUI != nullptr) | if (fVstUI != nullptr) | ||||
setParameterValueFromPlugin(i, curValue); | |||||
setParameterValueFromPlugin(i, defValue); | |||||
#endif | #endif | ||||
fPlugin.setParameterValue(i, curValue); | |||||
fPlugin.setParameterValue(i, defValue); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -2870,7 +2870,7 @@ private: | |||||
{ | { | ||||
DISTRHO_SAFE_ASSERT_RETURN(outparamsptr != nullptr,); | DISTRHO_SAFE_ASSERT_RETURN(outparamsptr != nullptr,); | ||||
float curValue; | |||||
float curValue, defValue; | |||||
double normalized; | double normalized; | ||||
#if DPF_VST3_USES_SEPARATE_CONTROLLER | #if DPF_VST3_USES_SEPARATE_CONTROLLER | ||||
@@ -2897,12 +2897,14 @@ private: | |||||
} | } | ||||
else if (fPlugin.isParameterTrigger(i)) | else if (fPlugin.isParameterTrigger(i)) | ||||
{ | { | ||||
// NOTE: no trigger support in VST3 parameters, simulate it here | |||||
// NOTE: no trigger parameter support in VST3, simulate it here | |||||
defValue = fPlugin.getParameterDefault(i); | |||||
curValue = fPlugin.getParameterValue(i); | curValue = fPlugin.getParameterValue(i); | ||||
if (d_isEqual(curValue, fPlugin.getParameterDefault(i))) | |||||
if (d_isEqual(curValue, defValue)) | |||||
continue; | continue; | ||||
curValue = defValue; | |||||
fPlugin.setParameterValue(i, curValue); | fPlugin.setParameterValue(i, curValue); | ||||
} | } | ||||
else if (fParameterValuesChangedDuringProcessing[kVst3InternalParameterBaseCount + i]) | else if (fParameterValuesChangedDuringProcessing[kVst3InternalParameterBaseCount + i]) | ||||