Browse Source

Fix VST3 parameter offset for plugins with midi input

Signed-off-by: falkTX <falktx@falktx.com>
pull/473/head
falkTX 7 months ago
parent
commit
6b04262893
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 4 additions and 5 deletions
  1. +1
    -2
      distrho/src/DistrhoPluginVST.hpp
  2. +3
    -3
      distrho/src/DistrhoPluginVST3.cpp

+ 1
- 2
distrho/src/DistrhoPluginVST.hpp View File

@@ -70,8 +70,7 @@ enum Vst3InternalParameters {
kVst3InternalParameterBaseCount,
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
kVst3InternalParameterMidiCC_start = kVst3InternalParameterBaseCount,
kVst3InternalParameterMidiCC_end = kVst3InternalParameterMidiCC_start + 130*16,
kVst3InternalParameterCount
kVst3InternalParameterCount = kVst3InternalParameterMidiCC_start + 130 * 16
#else
kVst3InternalParameterCount = kVst3InternalParameterBaseCount
#endif


+ 3
- 3
distrho/src/DistrhoPluginVST3.cpp View File

@@ -1573,7 +1573,7 @@ public:
{
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
// if there are any MIDI CC events as parameter changes, handle them here
if (canAppendMoreEvents && rindex >= kVst3InternalParameterMidiCC_start && rindex <= kVst3InternalParameterMidiCC_end)
if (canAppendMoreEvents && rindex >= kVst3InternalParameterMidiCC_start && rindex < kVst3InternalParameterCount)
{
for (int32_t j = 0, pcount = v3_cpp_obj(queue)->get_point_count(queue); j < pcount; ++j)
{
@@ -2008,7 +2008,7 @@ public:
#if !DPF_VST3_PURE_MIDI_INTERNAL_PARAMETERS
rindex >= kVst3InternalParameterMidiCC_start &&
#endif
rindex <= kVst3InternalParameterMidiCC_end)
rindex < kVst3InternalParameterCount)
return 0.0;
#endif

@@ -2045,7 +2045,7 @@ public:
#if !DPF_VST3_PURE_MIDI_INTERNAL_PARAMETERS
rindex >= kVst3InternalParameterMidiCC_start &&
#endif
rindex <= kVst3InternalParameterMidiCC_end)
rindex < kVst3InternalParameterCount)
return V3_INVALID_ARG;
#endif



Loading…
Cancel
Save