This JUCE fork looks like a very valuable resource. Great work!
Some questions about your fork:
If we clone your branch called "sidechainAndMultiOut", the only difference compared to the original JUCE tree will be the sidechain / multi-out patches and nothing else, correct?
What is in the master branch of your fork? Is it the original JUCE tree only, or a combination of features / patches that you consider stable for your own projects?
Just a note if anyone else is having trouble detecting whether or not an AAX sidechain channel is active:
We were having an issue with one of our plugins because versions of ProTools below 11.1 don't send the sidechain connected message which activates/deactivates the extra channel. Because of this getNumInputChannelsTotal(true) was never including the sidechain, so we couldn't tell when to enable/disable that option.
Reading through the AAX documentation, it looks like another method to detect whether or not a sidechain channel is active is to test in the actual AAX_CALL BACK. I added this and now it works in all PT versions. Here's the relevant commit:
Some notes for people switching from soundradix's multi-bus implementation to the fresh new implementation in JUCE 4.1:
To accept the side-chain, add "busArrangement.inputBuses.set (1, busArrangement.inputBuses.getReference (0))" in the audio processors's constructor (was previously an Introjucer option)
"getNumInputChannelsTotal" becomes "getTotalNumInputChannels", likewise for output
"getNumInputChannels (0)" becomes "getMainBusNumInputChannels()". likewise for output
To get the channel number in processBlock's buffer for a specific bus's channel, use "busArrangement.getChannelIndexInProcessBlockBuffer"
I switched to the new implementation and it works for me in Logic but I haven't yet tested it thoroughly. We'll update after testing in various environments if we found any regression.
Hopefully this new implementation works fine in all environments :) I'm happy that I won't have to keep on merging..
After some testing seems that the new implementation has some problems. So far:
In Logic X, put the JUCE demo plugin as a midi-controlled effect and give it input audio. When playback is stopped plugin output is fed to it as input and with the demo plugin it creates loud noise.
VST3 side-chain causes crashes in Studio One 3
Will give more detailed reports after more research into it.
At this for time developers using the Sound-Radix side-chain implementation, use commit https://github.com/soundradix/JUCE/commit/588abf892914 or earlier. (After that I merged ROLI's implementation and replaced ours)
the logic x bug is a known issue and i'm working on a fix. You'll find that this will only happen if you do not select any track as a side-chain input to the plug-in. I've done lot's of debugging already on this issue but I still haven't been able to quite nail it. I'll keep you posted.
I hadn't checked Studio One VST3 side-chain support. I'm sure it will be something fairly straight forward. I'll fix this as soon as possible.
Hi Fabian!
I think I just encountered the same thing when testing my AU plug-in on Logic. The plug-in does not require side chaining, but it only supports quad configuration. I tried the following with a quad version of the Juce demo plug-in: call getMagnitude(…) on the incoming audioBuffer. On audio files, where there should really be silence, there is definitely some noise when hitting stop… Are there any news on the issue?
sorry for the late answer. This is a really old thread so I’m not sure you are talking about the newest version of JUCE. It’s definitely fixed on the develop branch. Did you check that out?