Direkt zum Inhalt

VST3 support

Posted

Hello, Andre,

do you have plans for supporting VST3 instruments in Synfire? I suppose that the possibility to use more than 1 MIDI I/O for an instrument would be really useful...

Thanks for the answer!

Miloslav


Mo., 13.02.2017 - 20:32 Permalink

VST3 support is planned. Whether that will bring more than 1 MIDI port per plug-in, I don't know. 

Fr., 29.11.2019 - 09:39 Permalink

Not yet. Unless unforseen issues arise, which I don't believe, VST3 support will be available with 2.0

So., 05.04.2020 - 15:26 Permalink

Our plan is to have VST3 Drones and VST3 hosting by the Audio Engine, but chances are it won't work well with many instrument plug-ins. VST3 has no support for MIDI controllers anymore. Steinberg dropped it and is not likely to support it in the future. According to Steinberg VST3 is an audio-only API. This will make things very difficult with respect to articulation switching, volume, pan, reverb control, etc. Drones are supposed to pass these on to the guest plug-in, which seems all but impossible at the moment.

If you want to learn about the debate, check out this.

I'm not going to engage in this debate at this time, but for obvious reasons we will need to continue support for VST2 for as long as possible.

So., 05.04.2020 - 15:34 Permalink

Oh dear! I wasn't aware of this debate.  Maybe need to think about beginning OSC support in the near future.

So., 05.04.2020 - 15:43 Permalink

Historically, MIDI has always been a mess and it's probably a great idea to overhaul it. There's MIDI 2.0 coming now and, yes, OSC is there, but putting decades worth of VST instruments in limbo by dropping backwards compatibility doesn't seem wise. I'm not holding my breath, but hope that maybe Steinberg will add backwards compatibility to the VST3 SDK to end this debate.

So., 05.04.2020 - 20:00 Permalink

Hello, Andre,

with all due respect, it is not true that VST3 is an audio-only API. Of course, VST3 does support the controlling events as well, however, they are handled differently, on a more abstract level than just as simple MIDI CC messages. As Arne Scheffler writes in the mentioned discussion:

in VST3 an instrument declares all its changeable properties via parameters. In your case, you create a parameter for the damper pedal and you can use IMidiMapping to tell the host that this parameter should map to the damper pedal MIDI control change message. The host will then translate the MIDI CC message to a parameter change and send it to your audio processor.

It means that when a DAW as well as a plugin both support VST3 properly, there is no piece of functionality lost. That said, you are right that the new VST3 format largely discards backward compatibility and that's the reason why its adoption is so slow among developers.

Miloslav

 

So., 05.04.2020 - 21:14 Permalink

There is no way for the Drone plug-in to register with a DAW the parameters of a guest plugin it has not (yet) loaded. Therefore it is impossible for the Drone to load abritrary plugins and still have the DAW know the parameters.

With MIDI this was not a problem, because any MIDI CC was just forwarded to the guest plugin.

As it looks now, VST3 will break the Drone's ability to send CC messages to its guest plugins. Controller data generated by Synfire will be useless for VST3 plugins.

This is pretty frustrating.

So., 05.04.2020 - 23:42 Permalink

The issue with outputting MIDI CC messages seems to be solved now since Steinberg added

LegacyMIDICCOutEvent

class that is capable of generating MIDI CC messages. Have you come across this discussion? Moreover, here is a working example of a VST3 plugin that produces MIDI CC via its MIDI output.

Di., 14.04.2020 - 19:22 Permalink

Thanks for the links, yes, I've seen this discussion before.

To which extent this will impact Drone function, we will see. Audio-wise there's no problem.