Projucer maintainability

Introjucer from Sound Radix's JUCE branch (with has audio plugin side-chain functionality) has an additional Config option for plugins - "Plugin Accepts Side-Chain" - see screenshot:

This option is not available in the Projucer.

Additionally, the initial plugin boilerplate code which this branch's Introjucer creates is compatible the branch and its API changes (channels are also indexed by bus).

If I understand correctly, I cannot use a Projucer that has these changes, as Projucer's source is not available and so I cannot merge our changes to it..

Of course, we could just use a preprocessor definition instead of a Jucer checkbox, but we incorporated the changes to Introjucer because we wanted to make the features we added easy for you to incorporate into main Juce easily and cleanly, and this option should probably be a checkbox just like "Plugin Midi Input" etc..

Having side-chain added to Juce would be great and would also partially solve this problem for us, and of course much more - having what we need incorporated in main Juce would mean a lot to us - more testing for the code and less maintenance work for us to do. For example the merge with JUCE's templated audio buffer changes, which I performed today, included non-trivial merging in the VST3 wrapper - that's time and additional testing (which we didn't perform yet) that we would had very much liked to save.. btw we do get some assistance and pull requests from other developers using our branch but we'll have more if it was in Roli's..

But even if main Juce did have side-chain - I recall fixing many different issues with Introjucer with regard to SDK paths and OS compatibility - problems and fixes I of-course reported here and have subsequently been fixed in the Jucers, but going forward this would mean that I will not be able to fix the Projucer when future problems arise..

I wonder if Projucer's features (which I didn't even get to try as my trial didn't seem to start yet) could be factored out of the open-source part of Jucer, or at least if it could have the side-chain features incorporated..

Thanks, Yair

We'll be doing multi-out/side-chaining imminently - within the next couple of weeks.

And actually, since the projucer shares a big chunk of its codebase with the introjucer, any changes we make to the shared code will be open-source - i.e. anything that's not part of the compilation process. Certainly all the IDE-export project-management stuff will continue to live in the open-source part.

We'll be doing multi-out/side-chaining imminently - within the next couple of weeks.

Woohoo! That's fantastic news :)

And another good news is that saving in the Projucer at least does not eliminate the side-chain setting.

Looking forward to projucer side-chaining support!

Side-chaining hasn't really got anything to do with the projucer (?)

This is true. Looking forward to side-chaining support! wink



We'll be doing multi-out/side-chaining imminently - within the next couple of weeks.

Hey there,

I am working on a JUCE4 AU/VST project that will require sidechain support -- I see there are some JUCE 3.5 customizations that other jucers had made for this very purpose. Will this imminent sidechain update occur in the JUCE 4.0.3 update?

The project I'm currently working on has been updated to work with JUCE4, and while sidechain support is one of the next tasks I must implement -- I see that I'm hitting a temporary roadblock with this one considering user-customized sidechain support works with Juce 3.5, however I am having issues implementing this functionality into JUCE4.

Will the imminent sidechain support be released with the next update (4.0.3)? 



We're still testing + fixing a few last things, but the API is done and we have a temporary experimental repo where you can try it out now if you're interested:

We'll push it to the main repo as soon as we're satisfied, probably next week.


Thanks you jules and the juce team!



I have had a moment to experiment with the sidechain-supporting repo, and I'm certainly happy to see the JucePluginDemo able to receive additional sidechain input! 


While testing with Logic Pro X, I notice that the JucePluginDemo allows sidechain support while in position as an instrument.

However, while placing the JucePluginDemo into an effect position, sidechain support no longer is available. 

At the moment, Is there a simple solution for adjusting the way sidechain input is handled regarding FX plugins?


As always, thank you for your attentiveness to the forums.

Image attached for reference. 




Thanks for the feedback. @bDawson: i'm not sure why the JucePlugInDemo should have a sidechain input. Did you add one yourself? Please, also try the new demos in examples/PluginSamples. Here are a few notes for other people giving the new multi-bus io repo a go:

1) You need to recompile the Introjucer from the above repo. You will get undefined results if you use any other versions. We are working on adding some warnings if people use an old version of the Introjucer.

2) If you make any changes to your plug-in, you will need to have Logic's PlugIn Manager rescan the plug-in. Only after this will Logic pick up the new layout

3) Midi effect plugins will only work for AudioUnits atm

4) AudioUnits is best tested, VST3 is well tested, VST2 is tested, AAX is in the works

5) hosting multi-io plug-ins doesn't work yet

Hey there!

Thanks for all the recommendations. After looking at the Noise Gate example (and with your support), sidechain implementation was pretty evident and I was able to get sidechain support working with my plugin today with your latest build!

Regarding JucePluginDemo, I'm not sure why it can be sidechained -- perhaps it just happens with  the automated channel probing you've implemented. Other than that there's no clear reason why sidechain is possible. 


Thanks so much. Pretty excited on this sidechain. devil



While this updated repo passes AU Validation with OS X 10.10, validation is having issues with 10.11 El Capitain. 



While testing with Logic Pro X, I notice that the JucePluginDemo allows sidechain support while in position as an instrument.

That was always the case, even before the side-chain support branch. This is because in Logic's terms midi-controlled-effects work in Instrument tracks which operate on midi and the audio they may get is just called "side-chain", even though it's their only audio input - i.e not a second audio input bus.