Help with setting up Plugin Host/Visual Studio

I currently do the thing one probably should not do: learning C++ AND Juce at the same time. But I really learn a lot and just got tired of writing hello world programs in all variations.

I need help with setting up the plugin host in visual studio… to be honest, I don´t even get theoretically what I need to do, why and where.
And as I said, I know I´m to much of a noob for all of this, but I always made sure with the JUCE tutorials so far that I only moved on to the next one once I really understood everything.
But with all this visual studio setup stuff… I don´t even know what to google for.
I really put in a lot of work into all of this, it would be a shame if it all crumbles now because I don´t know where to make the right three clicks inside visual studio.

Sorry for the idiot question.

I’m not sure about this. If you want to learn C++, then there aren’t many C++ frameworks better than JUCE to learn from. And if you want to write audio software, then you might as well get your hands dirty straight away.

Have you build the Projucer? If so, load the Plugin Host project and generate a VS2019 project. Then open and compile. Where are you getting stuck?

1 Like

Yes this was my thought as well, I just read in some posts here replies like “you really should know c++ first” and things like that. But yeah getting your hands dirty is the right way to put it, because after learning all the basic concepts I kind of got stuck, and JUCE literally shows me the way right now (for example how to set up a proper class hierarchy etc.)

BUT your answer also proves me wrong here, ironically.
Whenever I read things like have you build the Projucer… I´m not quite sure what that refers to.
The way I do it right now is the following approach, so basically as described in the tutorials:
I create a plugin project → check VST3 AND standalone
The weird thing: the JUCE tutorial say to only check VST3. When I then build it spits out the error message. I have now created a new project with standalone checked, when I compile the plugin actually opens now.
As far as the tutorial goes it told me to create the project, but then go to the juce extras folder and launch the PluginHost with the Projucer, save and open in IDE. In this second session then I´m supposed to add the new plugin to my list of plugins… I think. This is where I am confused and weirdly all the online tutorials on youtube make it differently…
Do I really need to create a new PluginHost project and add my new Plugins there?
What exactly is the role of the host? Is it just a setup thing so that basic audio plugin things can be created? Is it something that always should run in the background while I´m working on a plugin?
There is some huge misunderstanding from my side I feel.

Can you maybe give me a very quick overview of what JUCE wants in order to make the whole plugin thing work?

If you get errors when trying to build the VST3 plugin, then your plugin is not building. No host in the world will help load a plugin that doesn’t exist.

No.

No. It’s just to quickly test plugins. But you can use any host you wish for this. Reaper, Live, Cubase etc.

If you create a new plugin project with the Projucer. It should build out of the box once you open it in an IDE. If it doesn’t there is something wrong. I’d suggest cloned the latest master branch and trying again. Once you have built your plugin you should be able to access in any host you wish. If your plugins is causing problems for the host, the the plugin host is really useful as you have access to the source code, and can step through it to see what grief your plugin is causing the host. But mostly I debug my plugins in Reaper.

1 Like

Thank you for your detailed answer, this really cleared up a lot.
The word host should have been the hint for telling me what it is… a host, lol.
Sorry I am not native english, it happens to me quite often that I sometimes read names or concepts and don´t intuitively get what they mean although its literally in the name, no idea why my brain does that.

Ok great. Then I guess there are two things left I don´t know.
I got the information online to go into my projects properties → VC++ → include: and then add the vst3 sdk there.
Furthermore the juce tutorial writes this: In Visual Studio on Windows you should go to the properties page of the VST3 build target, select the “Debugging” pane, then set the path to the AudioPluginHost executable in the “Command” field.

I tried both things before, didnt change anything. But as I said I simply created a new project, changed absolutely nothing, hit build and it worked.

What exactly is the way to specify a host of my choice in Visual Studio?

Here’s a quick screencast. debug.zip (2.6 MB) The forum doesn’t let user embed video.

Btw, the latest versions of JUCE come with the VST3 SDK. You really shouldn’t need to source that yourself or point the Projucer to it.

2 Likes

Sir, you are a legend!
Thank you for your effort.

I hate that I have to write again here but now my Plugin will not load inside of Ableton. It worked with the very basic midi in/out config from the basic example, but all the other tutorials I try, the plugin shows up inside ableton, when I try to load it it says: “The VST-3-Plugin could not by loaded.”

Any idea why that might be? Updated to the newest JUCE version this morning btw

If you try to build the Juce Plugin demo, does that load and run Ok for you in Live?

Really sorry for the late reply, had a lot to do and then forgot about it, it´s a shame.
BUT: it works, both a demo project and my own. I have now updated to the very last version of JUCE.
Now when I compile, the plugin is immediately in ableton (before I weirdly had to manually search for it which sometimes made everything just crash) and loading it works perfectly fine.

Only thing right now thats weird: If I have standalone checked as well, if I compile in visual studio it ALWAYS opens up the standalone when I debug.

Right click the VST3 project in Visual Studio and set it as the start-up project. You should be good to go then.

1 Like

Everything works now, thanks again.

1 Like