Juce restricted to two Audio Plugins in a DAW?


I’m certain I’m doing something wrong.

I’m taking a look at Juce to see if it’ll be suitable to develop some Audio Units/ VSTs. I like what I’ve seen so far except today I hit a MAJOR hurdle.

As a proof of concept I’ve tried to create multiple instances of Jules’s Audio Plugin Demo. 6 to be precise. 3 were made by copying the original Audio Plugin Demo Folder and changing ‘JuceDemoPlugin’ for ZS#, where # = 1, 12 and 33 (chosen arbitrarily). From there I opened the Introjucer Project in XCode and built the 3 Audio Units. These are the ‘Yellow 3’.

Another ‘Green 3’ more were made as follows:

1 - With the Introjucer, I ensured I had the latest Juce Modules

—Steps 2-5 below repeated for the Green 3 Plugins:

2 - With the Introjucer I built a NEW Audio Plugin with the following settings (ZS3, ZS6 and ZS7):

3 - Saved the Project and Opened it in Xcode

4 - Swapped the default code, WITH THE EXCEPTION OF:




in PluginEditor.h





in PluginProcessor.h for the code in Jules’s Audio Plugin Demo.

5 - Compiled the project and successfully built the Audio Unit (and VST but the problem is with the Audio Units :cry: ).

I also used Introjucer to create the ‘Hello World’ Audio Unit (shown below in purple), making 7 Plugins in total:

I opened my favorite DAW, Ableton Live and saw [color=#FF0000]all the VSTs[/color] but [color=#FF0000]JUST 2[/color] of the Audio Unit Plugins.

What I thought I’d end up with was 6 versions of the Audio Plugin Demo, and the Hello World.

I also tried Logic Audio and the [color=#FF0000]same two[/color] plugins that were showing in Live were showing in Logic.

[size=150]Detailed Observations[/size]:

All the following observations were consistent in Logic Audio and Ableton Live:

[list]When all 7 were included in my Audio Unit folder, just the Hello World and ZS1 showed up in Ableton.[/list]
[list]When I excluded the Hello World, by temporarily moving it to another folder, one YELLOW and one GREEN Audio Unit was accessible. These were ZS1 and ZS3 respectively and the eldest (first made) in their respective sets.[/list]
[list]In the same way, when I removed ZS1 and ZS3, ZS6 and ZS12 were accessible in Live[/list]

Now, first off, I obviously wouldn’t want to do this for real. However, I may want to create 3, 4, 5… 100 different plugins with Juce and run them all in my DAW at once.

Why can’t I have 2 Green or 2 Yellow Audio Units in my DAW?

Obviously, the 3 Yellow Audio Units have the same #ifndef and #define codes, so I can see why I cannot have two Yellows in my DAW at once, but I’m not sure about my other observations.

[color=#FF0000]Question: Is Juce restricted to two Audio Plugins in a DAW[/color] or is this something peculiar to my system/ strange setup? Perhaps I should ask [color=#FF0000]‘how is my artificial situation preventing me from having more than two Audio Plugins in a DAW?’[/color] How can I have more than 2 Juce Plugins in my DAW? Will this problem disappear if I make a handful of different Plugins or it is a known limitation of Juce? Does Juce recognise that the Yellow ones are very similar, therefore disallowing multiple Yellows and if so, why can I have one Green with one Yellow (the Yellow 3 and Green 3 are very similar also)? Is the approach I took to making the the first 6 heretic? I’m sure there is something obvious I’ve missed.

One further twist. I noticed when I included the Purple Hello World Audio Unit and then removed it from the selection, the plugin I replaced it with was placed into it’s folder (named ‘yourcompany’ instead of the folder it should have been in (Zoabis Music Technology) - see below). Can anybody shed any light onto this?

I hope this makes sense!

Eager for replies,

Dave :smiley:

Did you change the “Plugin Code” field of the demo plugin copies?
Otherwise the host only recognizes one of the copies and you’ll see one demo plugin and the IntroJucer generated plugin (which has a different plugin code).


Hi Chris,

Thanks so much. You were correct. The “Plugin Code” field needed to be different. I knew I was doing something wrong.


Dave :smiley: