Proposal: Extension for Native VST3 MIDI Support

At this moment AU can be used for Mac plugins but for Windows plugins only AAX and CLAP fully implement MIDI 1.0 and not all hosts are supporting those formats. As a result this is a great proposal but we would have to wait anyway until all hosts implement this (if they want to do so).

IMHO this is absolutely essential to live in the present and one thing that JUCE is missing is support for (multi-channel) Program Changes. The developers of the Vienna Symphonic Library and Blue Cat Audio were able to pull it out, so the JUCE team should also be able to do so if they can invest time in it.

Personally I didn’t have time to fully implement it so I just patched JUCE to accept program change messages in channel 1 which is enough for a basic operation of the plugins that I develop (see VST3, Programs and MIDI Program Changes) but this obviously not good enough.

For a discussion of how to support multi-channel program change messages in VST3 see: MIDI Program Change - VST 3 SDK - Steinberg Forums

When this is done, then we can wait until all hosts either adopt CLAP or implement this extension (having two options is always better than having only one). This would allow us (in Windows plugins) to get rid of those annoying 2048 automation parameters needed to support CC in VST3 and support MIDI 1.0 messages like AllNotesOff (unlike Program Changes those are more rare but since they are in the MIDI 1.0 spec some people do use them!).