Page 1 of 1

VST3 SDK C++ ABI vs Java, Rust, .Net, etc. libraries still rely on VST 2 API: solution?

Posted: Tue Feb 04, 2020 7:23 pm
by Mirko
Hi everyone!

The fact that exist many libraries and frameworks for different programming languages to develop VST plugins suggests that there is an underlying need from developers: the possibility to use their preferred languages for the task.

On the other hand, the VST3 SDK is strongly based on a C++ ABI and even though it's loosely based on COM, the way it's used is different from the common usage.
The documentation states: "VST-MA currently is provided in C++ only. Interfaces in C++ are expressed as pure virtual class (which is a class with nothing but abstract methods). Unlike COM there is no support for C or other languages yet - simply because there has been no need for this so far. But all VST-MA interfaces can be transformed into different representations in case this should be inevitable some day."

Well, the need is here and those libraries and frameworks are proof of it. There are many programming languages as performant as C++ or close, so stating that only C++ should be used for audio development is a weak argument (opinion of some developers, not suggesting that this is Steinberg's specific opinion). Developers should have some freedom of choice.

VST2 has been removed by force from everywhere to push VST3, so please, give developers some way to better integrate different programming languages to the VST3 protocol because right now there aren't many possibilities and there are even licensing issues to consider when using these libraries.

Thank you