I am struggling to handle Midi events in processBlock of a VST3. The processBlock code executed without error, however, Ableton seems to bypass all the processing and just transfer the input midi messaged onto the output. After multiple attempts, I finally went back to basics.
-
I downloaded the demo source code for the Arppegiator tutorial from here - JUCE: Tutorial: Plugin examples
-
Compiled the code and tried to load it up as a VST3 in Abelton. Abelton gave an error
-
Updated the projucer project properties to set
Plugin is a synth
,Plugin MIDI Input
,Plugin Midi Output
and removedMidi Effect Plugin
. -
Now my plugin showed in Ableton, but it was not working
-
Ran the code in standalone mode. It was working !
-
Went back to VST3 plugin and In VS2022, put a debug point in
processBlock
. the line:jassert(buffer.getNumChannels() == 0)
was failing. I am assuming that since the plugin was marked as a synth, this behaviour should be expected. So I commented this line.
I am now stumped. I tied reading various posts on how to make a VST3 Midi plugin and believe the issue should be only with receiving MIDI CCs. Note messages should work fine. So I am no longer sure what is the correct way to create a Midi handling VST3 plug-in with JUCE. I am using JUCE 7.