Skip to content

Commit

Permalink
Fix VST3 parameter offset for plugins with midi input
Browse files Browse the repository at this point in the history
Signed-off-by: falkTX <[email protected]>
  • Loading branch information
falkTX committed Oct 6, 2024
1 parent 7cd4819 commit 6b04262
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
3 changes: 1 addition & 2 deletions distrho/src/DistrhoPluginVST.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions distrho/src/DistrhoPluginVST3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1573,7 +1573,7 @@ class PluginVst3
{
#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)
{
Expand Down Expand Up @@ -2008,7 +2008,7 @@ class PluginVst3
#if !DPF_VST3_PURE_MIDI_INTERNAL_PARAMETERS
rindex >= kVst3InternalParameterMidiCC_start &&
#endif
rindex <= kVst3InternalParameterMidiCC_end)
rindex < kVst3InternalParameterCount)
return 0.0;
#endif

Expand Down Expand Up @@ -2045,7 +2045,7 @@ class PluginVst3
#if !DPF_VST3_PURE_MIDI_INTERNAL_PARAMETERS
rindex >= kVst3InternalParameterMidiCC_start &&
#endif
rindex <= kVst3InternalParameterMidiCC_end)
rindex < kVst3InternalParameterCount)
return V3_INVALID_ARG;
#endif

Expand Down

0 comments on commit 6b04262

Please sign in to comment.