VST SDK v3.6.7 and compiler error when building JUCE plugin


#1

Hi all,

Just a heads up:

Steinberg released a new version of their VST3 SDK.
Unfortunately they seem to have removed a file that is required by JUCE. MSVC gives the following error:

\modules\juce_audio_processors\format_types\juce_vst3headers.h(88): fatal error C1083: Cannot open include file: ‘base/source/fatomic.cpp’: No such file or directory (compiling source file …\JuceLibraryCode\juce_audio_plugin_client_VST3.cpp)

The file fatomic.cpp was present in VST 3 SDK v3.6.6 but seems to be removed in V3.6.7…


#2

Thank you for reporting.

The new VST3 SDK is almost completely different, and supporting it in JUCE (and getting it properly tested) is too big a job to do before the release of JUCE 5.

One highlight of the new release:

“this maintenance release is mainly a preview version for Linux support”

but I’ve not found any more information about what “preview” means in this context…


Xcode compile failed to the JUCE Demo plugin
#3

Is there anywhere to get 3.6.5, then?


#4

Hmm the v3.6.6 SDK seems to have been removed from the Steinberg developer page, and only v3.6.7 is available for download (last week when I checked they had both options up, but it seems Steinberg is pushing everyone onto 3.6.7 then?)


#5

JUCE team, if you’re going to go with “not fixing it for now” you should try to work something out with Steinberg to allow redistributing the JUCE-compatible version until you can fix it. Steinberg is not distributing 3.6.6 anymore, and I would host it for others myself but the VST3 license agreement specifically prohibits doing so.

Until then VST building for JUCE is unusable for all new users. (!!!) Obviously this is a huge problem and I’m surprised it’s not a top priority.

Also, 3.6.7 (and presumably all future releases) are now available on Github - perhaps it would make sense to include it in the JUCE repo as a submodule in the future? Similar to the CoreAudio SDK integration, it would allow Projucer to get rid of the “VST SDK Path” field in the global settings.

EDIT: Checked a prior version of the developer page via wayback machine, Steinberg’s 3.6.6 link is still live. But who knows when they’ll take it down:

http://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip


#6

That github repo seems empty though?!? Not impressed by how Steinberg handles this :frowning:


#7

There is also the SDK v3.6.5 here if anybody needs it https://sdk.steinberg.net/viewtopic.php?t=211 but it looks like they’re not keeping many of the old versions online.


#8

An update on this: we will shortly be supporting the VST3 SDK V3.6.7 exclusively. You will need to update your SDK when we make the changes.


#9

OK. It’s on develop now! Linux support will come later.

You will need to rebuild your projucer.


#10

So to make sure I understand: (before updating…)

  • Latest develop branch BREAKS older VST3 SDK right?
  • New VST3 SDK still capable of building VST2 plug-ins? (since you’ve also removed the VST2 path from projucer).

#11
  • Yes, you must use the latest VST3 SDK on the develop branch tip
  • We don’t use any of the VST2 SDK, and haven’t done so for around 4 months - all the VST2 plugin-host interaction is handled by JUCE code

'base/source/baseiids.cpp' file not found
#12

We just changed the behaviour slightly again: you now need to select the VST3_SDK folder inside the VST_SDK folder in the global preferences (or project settings), like this:

Sorry for the back&forth on this.


#13

In order to get my plugin to build with vstsdk 3.6.7 and the “-stdlib=libstdc++” flag for clang, I had to replace

Update::DeferedChangeListIterConst it =

in VST3_SDK/base/source/updatehandler.cpp line 110 with:

Update::DeferedChangeList::iterator it =


VST3 3.6.7 bug?