Hosting VST2 with AudioPluginHost from JUCE 5.4.1

Dear everyone,

Sorry to come nagging for my first post but I have a problem with VST2 support and unfortunately, after reading The removal of JUCE’s embedded VST2 SDK and JUCE 5.4.0 - all kinds of problems
I could not grab a solution.

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:
    image
  • 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:
    image

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.

Thanks in advance and have a great evening,

Regards,

Jocelyn

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?

The files of interest were in the JUCE develop git branch. (Not master.)

You can also find these files in older versions of the VST SDK: No flock.cpp in VST SDK?

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, …):
image

For those interested:

This link still works, thank you @McMartin:
http://www.steinberg.net/sdk_downloads/vstsdk365_12_11_2015_build_67.zip

checked here to see exactly where to copy files:
https://github.com/WeAreROLI/JUCE/commit/a3566b8c1edac29997490143982cd2b2eb089ffa#diff-60524ed7721647721868fb87ffd4d85d

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 :disappointed_relieved:).
Anyway I still hope to share some code with you to serve the community, is it possible?