VST3 plugin and mutli ports

I am in progress of developing my plugin.
And I need several MIDI ports from VST3 plugin. E.g. as it is implemented in the screenshot from VSL plugin (16 ports and 16 MIDI channels in each):

How do I do that?

And second question: how do I rename MIDI channels, if I want to have their names similar to the VSL plugin.

Thank you in advance.

This is not currently possible with JUCE.

Thank you for your reply.
Is it somewhere in agenda?

And if it is not going to be in the nearest future, can I simulate this? E.g. I can provide parameter VST_NUM_MIDI_INS = 64 and will think that first 16 Ins are the 1st port, next 16 (up to 32) is the 2nd port, etc. And I just need to rename MIDI Input N in juce_VST_Wrapper.cpp somehow…

Or this is a bad idea?

It’s not on the backlog, no. It might be possible by forking and modifying the VST3 wrapper, but you’d have to modify the AudioProcessor processBlock interface too. I’d say this is possible, but will require quite deep knowledge of the JUCE VST3 implementation, and knowledge of the VST3 API itself. You’d also have to maintain your own JUCE fork, and deal with any conflicts from future changes to the VST3 wrapper yourself.

1 Like

VST3 wrapper could convert the incoming MIDI from different devices to MIDI 2.0 which provides 16 banks of 16 MIDI channels.

1 Like

Thanks! So, the plan is: create additional virtual devices, study and modify VST3Wrapper. Looks like I need to investigate how to convert device MIDI to MIDI 2.0.