Vst::kDistributable - remote processing

SDK for VST 3 audio plug-in and host development.
jeroen
Posts: 2
Joined: Wed Nov 28, 2018 11:15 pm

Vst::kDistributable - remote processing

Postby jeroen » Thu Nov 29, 2018 5:02 pm

Hello,

In the vst3sdk docs it is mentioned that the Vst::kDistributable flag allows for separation of processor and edit controller.
And also: "It can even run them on different computers".
Another vst3sdk code comment, behind kDistributable: "Component can be run on remote computer".

So i'm wondering if this VST3 feature is being applied like this in the field. Are there any hosts that allow a plugin to run the VST3 processor on another (slave) computer, while keeping the GUI on the master computer? (I couldn't find any examples of this so far)
Or did I interpret these comments plain wrong?

If anyone has some more information about this, that would be great.

Thanks,
Jeroen

Arne Scheffler
Posts: 212
Joined: Mon Jun 20, 2016 7:53 am

Re: Vst::kDistributable - remote processing

Postby Arne Scheffler » Fri Nov 30, 2018 8:48 am

Hi Jeroen,
there's currently no host I know of using this. I once (10 years ago) had a prototype on macOS working, but at that time all non Steinberg VST3 plugins were not able to do this (because they implemented IEditController and IAudioProcessor in the same object, or much worse communicated a pointer address to the other part and used that directly). But with the few plug-ins with a clean separation between controller and processor it worked.

Cheers,
Arne

pongasoft
Posts: 50
Joined: Sun Mar 11, 2018 5:57 pm

Re: Vst::kDistributable - remote processing

Postby pongasoft » Fri Nov 30, 2018 2:08 pm

Based on this, isn't it fair to say that this feature should simply be deprecated? Clearly nobody has implemented it (on the host side) and I am not really expecting it to be implemented: I fail to see the use case frankly.

Related to this, the communication between the UI and the RT via the Messaging system is certainly very clean (for decoupling purposes) and is clearly a requirement for the "remote processing" to be able to work. But if "remote processing" is not being used, having to use the Messaging system is overkill. If you think about it, what you do when you communicate is serialize/deserialize the data (via the IStreamer interface) which is very heavy and requires memory allocation and data conversion when in fact you could just be exchanging memory pointers...

jeroen
Posts: 2
Joined: Wed Nov 28, 2018 11:15 pm

Re: Vst::kDistributable - remote processing

Postby jeroen » Fri Nov 30, 2018 3:12 pm

Thanks to shed some light on this!

The use case i had in mind was offloading of processing to another computer. A common complaint i see is that mix engineers/producers run out of cpu resources when they run plugin-heavy sessions. There are some options out there that let you run vst's on different devices, but that is still an additional layer of software. So when i saw this flag i got curious whether this could be a solution.
Of course, if no hosts support this, then it won't fly. A chicken/egg problem, i guess.

Keeping the general idea of separating UI and processing completely does seem right. For example, with the recent announcement of SOUL, it could become more common to run processing elsewhere. But there again the same goes: sufficient market adoption will be needed.


Return to “VST 3 SDK”

Who is online

Users browsing this forum: No registered users and 1 guest