Multi-platform frameworks for VST/AU/AAX/etc.

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

In order to do plugins (using C++), here are the frameworks that I know:

* https://github.com/olilarkin/wdl-o: I've used it successfully for some projects, but wdl-ol is now discontinued

* https://github.com/iPlug2/iPlug2: only pre-release, probably not ready for productoin

* of course Juce (40$/mo or 800$ once minimum for a splash-screen-free version)

What are the other best frameworks allowing to code a VST / AU, etc. in C++? Are there open-source / free ones?

See you

Post

Rust port could be promising but no VST3 and not C++ ... https://crates.io/crates/vst

Post

As far as I know, Juce and iPlug (either version) are what the large majority of developers use if you ignore people with private frameworks.

Post

iPlug2 is not very far off "production ready" and several developers have released stuff with it. It's an absolutely massive project, and it's taken several years to make it at all competitive. I just say it's not production ready, because if you choose it for a project, you should be prepared for a bit of turbulence, i.e. renaming of methods/classes, whilst we finalise it. On that note: I am trying to raise sponsorship so I can dedicate more time to it, and hopefully "finish" it.

here is my awesome-musicdsp list which includes links to the various plug-in framework options i know about: https://github.com/olilarkin/awesome-musicdsp

Post

juha_p wrote: Tue Jun 30, 2020 9:21 am Rust port could be promising but no VST3 and not C++ ... https://crates.io/crates/vst
VST3 API bindings are being worked on
https://github.com/RustAudio/vst3-sys
but I think it's currently not much more than a proof of concept, requiring essentially the entire implementation to be wrapped in unsafe.
Also worth mentioning is this library
https://github.com/RustAudio/baseview
which attempts to provide a low-level abstraction of platform specific windowing APIs.

Post

hibrasil, what is the big picture of the history of these projects again? (i forgot)

Is the following chronology correct?

* Cockos WDL (https://www.cockos.com/wdl/): did it already support Mac and PC, VST/AudioUnit/etc.?

* Cockos iPlug: what did it do exactly?

* WDL-OL: what does it do that Cockos iPlug couldn't do?

* iPlug2: what does it add (compared to WDL-OL)?

thanks for the link of the "curated list of my favourite music DSP resources", it's useful indeed!

Post

Cockos iPlug (c. 2008 AD) - did VST2 and AU, bitmap graphics via LICE

WDL-OL (2011...) - added VST3, RTAS & AAX, build system, fixed bugs

iPlug2 (2018... hope to "finish" this year) - totally reworked the codebase to be much cleaner/more modular, much much better & modern. Resizable 60FPS vector graphics on the GPU, SVG, WebViews, better approach to multithreading, compile to webassembly, AUv3 / iOS support , Multitouch, controls library, loads more stuff...

Post

:tu: hibrasil for your answer.

Just to see the full picture, what did the initial "Cockos WDL" framework do, before iPlug arrived? Did it already allow you to create VST/AudioUnits?

About WDL-OL: I see it is discontinued, but it's still working fine, right? (I had started something with WDL-OL and would like to continue with this version).

Does it produce binaries ready for macOS 10.15 Catalina and its Notarization requirements (https://developer.apple.com/documentati ... stribution)? Do you think they will work on mac OS 11 Big Sur?

thanks

Post

WDL is a collection of utility classes by Cockos, it's not really a framework.

WDL-OL binaries should work on catalina, if you do the right code-signing/notarization

Post

If you are wanting to use C++ than I think JUCE or IPlug2 are the two most reasonable choices. (with Patreon ON)
Checkout our VST3/VST2/AU/AAX/LV2:
Inner Pitch | Lens | Couture | Panagement | Graillon

Post

Plug'n Script is not a typical framework, but it can export all plugin formats and you can write DSP code in C++.
https://pns.letimix.com

Post

For what it's worth - I just started using IPlug2 yesterday to port some Reaper-JS to native VST2/VST3/APP.

And it was so damn easy - took about 8 hours to get familiar with the framework and create a similar working UI. I love the fact that it uses the GPU for 60fps vector rendering - it's awesome.

For me the killer feature, apart from all the major SDK's being handled, is the IRECT functionality. Being able to chop the screen up with FracRectVertical, SubRectVertical, SubRectHorizontal and Alter - makes UI design so damn simple.

The only big issue I've found with it so far is it takes 5 secs to load up my very basic VST3 in reaper. I don't know why that is yet - GPU init code or some VST3 funk going on - I will found out later.

Post

GPU rendering hey? I'm guessing that uses OpenGL rather than DirectX or Metal?

Post

quikquak wrote: Sat Jul 04, 2020 9:38 am GPU rendering hey? I'm guessing that uses OpenGL rather than DirectX or Metal?
yeah!! There are 3 different backends:

https://github.com/iPlug2/iPlug2/wiki/0 ... g_graphics

Get ur shader magic on dude - u know u want to!!

I'm current writing a FabFilter clone (coz I can't afford it) and want ur fantastic landscape code running in the background :)

Post

shabby wrote: Fri Jul 03, 2020 8:42 pm The only big issue I've found with it so far is it takes 5 secs to load up my very basic VST3 in reaper. I don't know why that is yet - GPU init code or some VST3 funk going on - I will found out later.
On Windows using OpenGL can take a few seconds to load and there's not a whole lot you can do about it, though it's usually worse for the first OpenGL plugin you load and less of an issue after that.

Unfortunately Direct3D can cause some issues in some hosts (eg. at least older version of FL if the plugin windows isn't detached) as the GDI and Direct3D don't always synchronize properly. OpenGL seems to go through a different code-path and doesn't have this issue.

Post Reply

Return to “DSP and Plugin Development”