No flock.cpp in VST SDK?

This issue seems to pop up a lot but I’m trying to build the audio plugin host example project and getting the error that the file “base/source/flock.cpp” is cannot be found. All of the other files in the base/source/ directory are fine (because they actually exist) but there’s no flock.cpp in this folder…

If anyone can suggest a solution for me I’d be massively grateful!

edit:

1 Like

Just get the latest version of the VST SDK.

Hi Jules,
the most recent VST SDK (3.6.8) doesn’t have the file flock in base/source/… There is however an flock in base/thread/ (split between include and source). I tried copying the .cpp and .h files to the base/source/ folder but now I’m just getting errors saying it can’t find “kBFormat”, “kString90S”, etc. so this is obviously not the same file.

If there’s a separate .cpp file then that has to also be compiled and linked in.

juce takes care of that as long as you have the SDK.

Ah - it looks like they just released 3.6.8, and have moved a bunch of stuff around… sigh… You might need to stick to 3.6.7 until we can update to use the new one.

Yeah it looks like 3.6.8 was only just released yesterday! I’ll have to get the older version off another machine then!

Thanks Jules!

1 Like

As of now their github repo still points to 3.6.7

Yep, I mentioned that on their forums. The repo is pretty useless if they don’t update it.

3 Likes

The FLock class was in base/source/fthread.{h,cpp} in 3.6.5 and 3.6.6, then it was moved to its separate files base/source/flock.{h,cpp} in 3.6.7, and now it looks like it’s moving back to where it was.

< speculation >
I guess somebody didn’t want to update their code and complained load enough for Steinberg to revert the move. Unfortunately, JUCE is a well-behaved citizen and adapting back-and-forth will cause a lot of confusion… :disappointed:
< / speculation >

Is the 3.6.7 SDK still available for download somewhere? They do not seem to list any legacy versions…

3.6.7: http://www.steinberg.net/sdk_downloads/vstsdk367_03_03_2017_build_352.zip
3.6.6: http://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip
3.6.5: http://www.steinberg.net/sdk_downloads/vstsdk365_12_11_2015_build_67.zip

2 Likes

thanks!

For the most current VST3 SDK (3.6.8), here is the patch to apply to JUCE (CC to @jules and other JUCE devs): https://github.com/WeAreROLI/JUCE/pull/303

2 Likes

Thanks, we’ll get it updated asap!

VST3.6.8 now also supports high-order Ambisonics. Might make sense to integrate that in one go…

OK. Support for VST SDK 3.6.8 is now on develop with commit 7a22f13.

I’ll look at ambisonics support now.

2 Likes

Hi Fabian,

We’ve been scratching our heads over a related issue for a week now.

Seems like VST3 breaks between 5.1.1 and 5.1.2, so when using 5.1.2 or later it doesn’t link anymore. Screenshot attached for the errors. I tried with the dev tip and 3.6.8 SDK, but the issue seems to be the same. With 3.6.7 and 5.1.2 the build and link go through as expected.

I’m using OSX 10.10 and XCode 6, but this also happens on macOS 10.12, latest XCode. We’re using 10.10 SDK for backwards compatibility. Projucer version is 5.2.0.

Please let me know if you need any extra details or have any suggestions!

Thanks,
Olli

It might not solve the problem on 10.10, but if you want backwards compatibility in 10.12, you don’t have to set the base SDK but rather the Deployment target. You only need to play with the base SDK for rare cases like building RTAS or other 32 bit stuff etc…

Pointing the vst3 repo the the 3.6.7 commit pretty much solves my problems… But haven’t played with abisonics though…

I’ve been sticking with 10.10, since everything has been possible with it, at least for now. :slight_smile: I’m not sure how the situation is now, but back when I did my build scripts it was easiest to configure 10.10 SDK to compile with compatibility back to 10.7. I should probably give 10.12 a go now since time has passed.