|
|
@@ -906,9 +906,22 @@ public: |
|
|
|
return ranges.getNormalizedValue(fPlugin.getParameterValue(index)); |
|
|
|
} |
|
|
|
|
|
|
|
void vst_setParameter(const int32_t index, const float value) |
|
|
|
void vst_setParameter(const int32_t index, float value) |
|
|
|
{ |
|
|
|
const uint32_t hints(fPlugin.getParameterHints(index)); |
|
|
|
const ParameterRanges& ranges(fPlugin.getParameterRanges(index)); |
|
|
|
|
|
|
|
if (hints & kParameterIsBoolean) |
|
|
|
{ |
|
|
|
const float midRange = ranges.min + (ranges.max - ranges.min) / 2.0f; |
|
|
|
|
|
|
|
value = value > midRange ? ranges.max : ranges.min; |
|
|
|
} |
|
|
|
else if (hints & kParameterIsInteger) |
|
|
|
{ |
|
|
|
value = std::round(value); |
|
|
|
} |
|
|
|
|
|
|
|
const float realValue(ranges.getUnnormalizedValue(value)); |
|
|
|
fPlugin.setParameterValue(index, realValue); |
|
|
|
|
|
|
|