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 Outputand removed
Midi 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.