Different VST names from single Projucer project


Hi, I have a single project which builds slightly different variants of a plugin - these all appear with the same plugin name - is there any way to easily change this for each build configuration or do I need to create a separate Projucer project for building each variant?



Use different PreProcessor Macros for the different variations/Configurations… so each variant would have it’s own configuration with a PreProcessor Macro set to define the code diffs.



thx - yes, that’s what I’m doing, but that doesn’t change the actual plugin name as it appears in hosts, or in plugin-host, as that is baked into the info defined in the Projucer project - it’s this information I want to change, but obv I need to do this in a complaint way so that it doesn’t get overwritten the next time I save the Projucer file


Two locations where you change the names… JuceHeader.h and in AppConfig.h

I don’t use PJ to avoid it changing my settings



yes, it can be a pain, but I prefer that to maintaining 5 sets of build files.

I think maybe what’s confusing is that the “Plugin Name” field in Projucer doesn’t actually name the VST, they’re named after the project name.

Doesn’t look like I can do this using Projucer anyway without using multiple projects. thx

Edit: Actually, these is the JUCE_DONT_DECLARE_PROJECTINFO which stops Projucer defining the info so I should then be able to set it myself - worth a try anyway.


We have a number of projects with all sorts of requirements like this. I wrote a python module that allows us to change things in a jucer file. If it’s of any use I could probably put something up tonight or tomorrow night that you’re welcome to use. Essentially though it’s pretty easy as the jucer file is just an xml. The one thing to watch out for if you roll you’re own is to do the following…

  • read the xml data and make a copy of it
  • make the changes and write to disc
  • re-save using the projucer
  • build the project
  • reset the xml data on disc to exactly how you found it using the copy made in the first instruction

In python you can achieve the above using a try / finally clause or better still using a contextmanager so it can all be done in a with statement.


I thought setting
in projucers config should work, and it changes the define indeed, so getName() will return that string.
But with a quick check the host still showed the old name. I assume it was cached somewhere, but I guess that’s the route to go…


Hi - see my other post here

The VST name is being taken from the project name, not the plugin name - maybe this is actually a bug? What you’ve put would definitely work otherwise


Ah sorry, I missed that. Yes I agree, it sounds like a bug. But could be the host’s fault, that they use the binary name instead (would be stupid IMHO, but who knows…) ?

I am always suspicous, that some hosts try to be clever about figuring the name, but such things tend to backfire…


Tried a few more things, but took me 5 mins to create a new Projucer project, so…