by DarkStar » Tue Jun 18, 2019 2:50 pm
Didn't the MIDI CC handling change in VST3?
I found this:
Max M. on KvR Audio wrote:In VST3 they decided you don't have direct access to CC messages. Instead you can only map a controller to a plugin parameter.
You'll find the answer in the docs FAQ (also as comment in "pluginterfaces\vst\ivsteditcontroller.h"):
Q. How receive MIDI Controllers from the host?
A. MIDI controllers are not transmitted directly to a VST component. MIDI as hardware protocol has restrictions that can be avoided in software. Controller data in particular come along with unclear and often ignored semantics. On top of this they can interfere with regular parameter automation and the host is unaware of what happens in the Plug-in when passing MIDI controllers directly.
So any functionality that is to be controlled by MIDI controllers must be exported as regular parameter. The host will transform incoming MIDI controller data using this interface and transmit them as normal parameter change. This allows the host to automate them in the same way as other parameters.
To inform the host about this MIDI CCs to Plug-in parameters mapping, the Plug-in should implement the IMidiMapping interface.
If the mapping has changed, the Plug-in should call IComponentHandler::restartComponent (kMidiCCAssignmentChanged) to inform the host about this change.
https://www.kvraudio.com/forum/viewtopic.php?f=33&t=442470