As i my peer Nonlinear, I recently got in the JUCE boat by downloading JUCE 5.3.2 to build the AudioPluginHost, but then downloading 5.4.1 “broke” the project: I could not load any VST2 plugin. The problem is I still want to be able to load VST2 plugins (lots of very good stuff in the nature, and I promise if I develop a VST plugin it will be VST3).
Here are the steps I followed:
JUCE 5.3.2
Downloaded
Downloaded Steinberg VST SDK 3.6.11 because of the following: does not seem like my JUCE 5.3.2 got the VST SDK:
Build
-> Everything works with VST2
JUCE 5.4.1
Downloaded
Merged folders with 5.3.2 (with Windows)
Found the trick to build with VST2 by uncommenting the VST format support in AppConfig.h
Fell on this:
But I never heard of such files: if I search for “aeffect.h” file in my 5.3.2/5.4.1 merged folders I find nothing about this.
Can somebody please enlight me about this sorcery? How could I load VST2 plugins on the 5.3.2 AudioPluginHost with only VST3 SDK?
What can I do now with 5.4.1? VST2 SDK does not seem to be available anywhere.
All the VST2 shenanigans concerns also hosting VST2 plugins. From the licensing agreement :
for the development of VST 2 Plug-Ins and/or for the development of an
application that can host VST 2 Plug-Ins
You will need the infamous VST2 SDK files (aeffect.h, aeffectx.h and vstfxstore.h) included in your project. You will need to have the signed VST2 agreement from Steinberg if you are going to distribute your host. If you haven’t already gotten the agreement back signed by them, it’s too late now. (If you still are interested about the needed VST2 SDK files, I think JUCE should have them in its git repo history.)
Thanks for the reply!
I guess I will keep it for myself then.
I will seek the JUCE git repo for those files but I still could not figure out why it worked without, and why I need these now.
JUCE used to have its own internal implementation of VST2 but Steinberg made them remove it. Then for a while after that, the Steinberg VST2 SDK files were included in the JUCE source code tree because Roli and Steinberg made a temporary agreement about that. But now they are gone from the latest JUCE versions.
Ok I see what you mean by own implementation:
In JUCE 5.3.2 when generating audio application with Projucer or in AudioPluginHost there is no object with vst::aeffect type (from VST2 SDK).
But in 5.4.1 there are vst::aeffect everywhere, hence Visual Studio asking me for aeffect.h (in AudioPluginHost and when generating with Projucer according to what is described here: Cannot build audiopluginhost on Windows)
Also I could not find copy of VST2 SDK from any version of JUCE (tried down to 1.x), am I doomed to stay at JUCE 5.3.2?
Yeeeeeeeeees! Thanks a lot guys fo your time, finally that was the only missing thing to build AudioPluginHost when uncommenting the following (after merge with my modifications on FilterGraph, …):
Please bear in mind that you can’t legally use those Steinberg VST2 SDK files unless you have a license from Steinberg that explicitly allows you to do so.
Yes @Xenakios mentionned that, then I will just throw my code. I definitely started with JUCE the worst possible moment. I hope Steinberg’s move for VST3 works out (could not even load my Equator with the AudioPluginHost ).
Anyway I still hope to share some code with you to serve the community, is it possible?