Browse Source

Fix vst3 build with instance access

Signed-off-by: falkTX <falktx@falktx.com>
pull/357/head
falkTX 3 years ago
parent
commit
0452b25ff0
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 8 additions and 2 deletions
  1. +6
    -2
      distrho/src/DistrhoPluginVST3.cpp
  2. +2
    -0
      distrho/src/DistrhoUIVST3.cpp

+ 6
- 2
distrho/src/DistrhoPluginVST3.cpp View File

@@ -1029,16 +1029,16 @@ public:
fPlugin.setSampleRate(setup->sample_rate, true);
fPlugin.setBufferSize(setup->max_block_size, true);

#if DPF_VST3_USES_SEPARATE_CONTROLLER
#if DPF_VST3_USES_SEPARATE_CONTROLLER
fCachedParameterValues[kVst3InternalParameterBufferSize] = setup->max_block_size;
fParameterValuesChangedDuringProcessing[kVst3InternalParameterBufferSize] = true;

fCachedParameterValues[kVst3InternalParameterSampleRate] = setup->sample_rate;
fParameterValuesChangedDuringProcessing[kVst3InternalParameterSampleRate] = true;
#endif
#if DISTRHO_PLUGIN_HAS_UI
fParameterValueChangesForUI[kVst3InternalParameterSampleRate] = true;
#endif
#endif

if (active)
fPlugin.activate();
@@ -1874,9 +1874,11 @@ public:
{
fConnectedToUI = true;

#if DPF_VST3_USES_SEPARATE_CONTROLLER
fParameterValueChangesForUI[kVst3InternalParameterSampleRate] = false;
sendParameterSetToUI(kVst3InternalParameterSampleRate,
fCachedParameterValues[kVst3InternalParameterSampleRate]);
#endif

#if DISTRHO_PLUGIN_WANT_PROGRAMS
fParameterValueChangesForUI[kVst3InternalParameterProgram] = false;
@@ -1921,12 +1923,14 @@ public:

if (std::strcmp(msgid, "idle") == 0)
{
#if DPF_VST3_USES_SEPARATE_CONTROLLER
if (fParameterValueChangesForUI[kVst3InternalParameterSampleRate])
{
fParameterValueChangesForUI[kVst3InternalParameterSampleRate] = false;
sendParameterSetToUI(kVst3InternalParameterSampleRate,
fCachedParameterValues[kVst3InternalParameterSampleRate]);
}
#endif

#if DISTRHO_PLUGIN_WANT_PROGRAMS
if (fParameterValueChangesForUI[kVst3InternalParameterProgram])


+ 2
- 0
distrho/src/DistrhoUIVST3.cpp View File

@@ -379,10 +379,12 @@ public:
{
switch (rindex)
{
#if DPF_VST3_USES_SEPARATE_CONTROLLER
case kVst3InternalParameterSampleRate:
DISTRHO_SAFE_ASSERT_RETURN(value >= 0.0, V3_INVALID_ARG);
fUI.setSampleRate(value, true);
break;
#endif
#if DISTRHO_PLUGIN_WANT_PROGRAMS
case kVst3InternalParameterProgram:
DISTRHO_SAFE_ASSERT_RETURN(value >= 0.0, V3_INVALID_ARG);


Loading…
Cancel
Save