Compiling Dexed in Visual Studio

I've been tinkering with JUCE projects over the last few weeks but then discovered that Dexed uses it. I'm pretty familiar with Dexed and what I want to make isn't a million miles away from it, so I decided to grab its source code and see what I could learn from it. What followed was a series of small gotchas that are the reason for this post.

I'm working with Visual Studio 2019 on Windows 10. There is lots of information in the internet about solving various build problems with JUCE on VS that's now out of date; that's just an ongoing problem with the internet as it matures, but it's particularly a problem now that VST 2 is dead and VS2019 has some significant changes over the previous version.

First download JUCE, then the VST SDK, then the Dexed source. You'll also need the VST v2 SDK, which is a problem because Steinberg has not only stopped supporting it but seems to be actively trying to suppress its availability. However, as in so many other things, have got your back. You must get V2.4 Rev 2 -- the earlier revisions won't work.

JUCE comes with an executable called the Projucer, which you should open first. Go to "Global Paths" under the File menu and set the path to wherever you installed the VST SDK. You should add the folder that contains the first level of the SDK's directories, i.e. the folder containing pluginterfaces and a handful of other things.

Still in Producer, open dexed.jucer and save it without changing anything. Although this seems pointless, it updates the Visual Studio project with the appropriate paths to JUCE and the SDK.

Now open Dexed.sln in Visual Studio. If it fails to build, right-click the solution and choose "Retarget Solution". Pick a Windows SDK from the list (I don't think it matters which one, it just has to be one you have installed). You should now be ready to build the synth and start making changes.

If you should ever need to make a change in the Projucer, you'll have to retarget the Visual Studio solution again before it will build (unless you didn't have to do that the first time).

With these steps all done, the Dexed project should build and you should be able to run the standalone app and test it. then you can start making changes and/or studying how certain things are done. I hope this makes you as happy as it made me when I finally got that "1 succeeded, 0 failed" message.

It's possible that all this is well-documented online somewhere and my Google-Fu was weak. But this kind of hacking about is pretty typical of my experience with open source and abandoned projects (like VST 2).

I can't really talk about the project this is for just yet but I'll continue to post bits about JUCE and general VST coding as and when interesting things come up, and of course will reveal what this is leading to if and when it turns into something that works...