@vncvr now maybe understand what I was talking about on that other thread.
I will just say that you can MOSTLY still make midi plugins with VST3, Steinberg is simply saying, they don’t intend for midi plugins to be a valid use case of VST, but just something that some people have done with VST2 on their own and perhaps some people will continue to do with VST3 if they can get away with it, but its not their intention to provide support for midi plugins in VST.
VST2 was more capable for this purpose in some ways because you had a simple raw midi buffer of all midi events in exactly the order they are provided by the host in the buffer, and you can in a plugin modify the buffer with the exact order of any midi events you see fit.
VST3 has attempted to abstract things so that theoretically inside a VST3 plugins there is no notion of a midi event, but rather other kinds of abstracted data, that more or less represent midi data…but these abstracted data are not limited by midiV1 byte sizes, among other things…so there are advantages of this.
VST3 also abstracted certain concepts that Steinberg found useful such as NoteExpressions, etc…
now the bad news, because the data is not provided in a single buffer, the exact ordering between various midi events that happen to have the same timestamp cannot be determined nor specified by a VST3 plugin. This is a problem for midi plugins related to, for example, articulation management.
Originally, there were problems related to ProgramChange messages and also no ability to output CC messages from a plugin…though Steinberg did later add a special function for that, but unfortunately not all hosts recognize it…so its still problematic.
Also, its not possible in a VST3 to easily setup midi learn type features, etc.
There are many simple midi plugins that can be handled by VST3. If you just want to make an arpeggiator for example, that is perfectly well possible, since at least VST3 will give you a buffer full of note events…and you can work with that to create an arp. For example. Its just that if you get into certain situations where it will be problematic as is.
Steinberg’s official stance has been, they never intended VST to be used for midi this way, so you’re on your own, and unfortunately VST3 has made this difficult to provide certain midi solutions that were previously possible with VST2.
And the problem is further complicated by the fact that certain MIDI plugin scenarios would only be possible if and when the host is using 100% all features of VST3, including NoteExpressions, articulation mapping, etc…which is simply not the case in 2021 that most hosts are. Most are not. So any intention to have everyone follow VST3 completely is simply not current reality, this heavily affects midi oriented plugins.