COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 10-12-2017, 08:14 AM   #1
Andi!
Human being with feelings
 
Andi!'s Avatar
 
Join Date: Nov 2015
Location: Germany
Posts: 82
Default AU + SideChain + Mono

Has anybody managed to get some "1-1 2-1 2-2 4-2" kind of channel config for the AU plug-in format working ? Obviously the IPlugAU has to be tweaked to dynamically connect the buses. Any help would be appreciated.
Andi! is offline   Reply With Quote
Old 10-23-2017, 06:23 AM   #2
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

Quote:
Originally Posted by Andi! View Post
Has anybody managed to get some "1-1 2-1 2-2 4-2" kind of channel config for the AU plug-in format working ? Obviously the IPlugAU has to be tweaked to dynamically connect the buses. Any help would be appreciated.
Which kind of issues are you having? I have some plugins that use "1-1 2-1 3-1 2-2 3-2 4-2" but i haven't received any complain yet.

Saverio
HoRNet is offline   Reply With Quote
Old 10-23-2017, 08:21 AM   #3
Andi!
Human being with feelings
 
Andi!'s Avatar
 
Join Date: Nov 2015
Location: Germany
Posts: 82
Default

Thanks for your reply, Saverio. Well, I remember that some threads here said, that the stereo 2-2 4-2 are the only working configs with AUs and that the mono (and multi mono) versions doesn't show up in Logic or failed the AU validation. Playing around with the channel i/o string crashed Studio One and how should this work with 1 to 2 flexible sc channels when in the constructor of IPlugAU the plugScChans (which is the constant PLUG_SC_CHANS = 2) is taken to calculate the non-sc channel count ? Would be interesting how you resolved this.

Code:
...
  if (plugScChans && NInChannels()) // effect with side chain input... 2 input buses
  {
int nNonScInputChans = NInChannels() - plugScChans;
...
Andi! is offline   Reply With Quote
Old 10-23-2017, 08:39 AM   #4
stw
Human being with feelings
 
stw's Avatar
 
Join Date: Apr 2012
Posts: 279
Default

May i chime in here as well...
I'm trapped right in the same issue (sorry no help from me).
This is really a mess. Almost every host reacts different on the IO configs. I just need one SC. So my preffered PLUG_CHANNEL_IO config is "2-2 3-2". PLUG_SC_CHANS 1 (which works fine in all other plug formats btw).
My status quo is:

Reaper only works with IO "3-2" SC 0. As soon as i define a SC the main inputs are gone.

Studio One works!

Logic/Mainstage etc. refuse to load the plug at all whenever SC > 0 with all variations i tried.

auval reports no errors
stw is offline   Reply With Quote
Old 10-23-2017, 08:48 AM   #5
Andi!
Human being with feelings
 
Andi!'s Avatar
 
Join Date: Nov 2015
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by stw View Post
Reaper only works with IO "3-2" SC 0. As soon as i define a SC the main inputs are gone.
Yes, Reaper is also reacting totally weired with 2-2 4-2 config when adding 2 channels to the routing, the AU implementation needs some revisions.
Andi! is offline   Reply With Quote
Old 10-23-2017, 09:14 AM   #6
stw
Human being with feelings
 
stw's Avatar
 
Join Date: Apr 2012
Posts: 279
Default

Quote:
Originally Posted by Andi! View Post
Yes, Reaper is also reacting totally weired with 2-2 4-2 config when adding 2 channels to the routing, the AU implementation needs some revisions.
Definitely!
Just to complete my list: Ableton Live seems to ignore the SC setting. SC is always available.

So the showstopper seem to be Reaper and Apple hosts. Unfortunately Logic is the favourite au host. I can't believe that there're no WDL sidechain plugs running succesfully in Logic?! So which settings are successfully working in your plugs?
stw is offline   Reply With Quote
Old 10-23-2017, 09:52 AM   #7
Andi!
Human being with feelings
 
Andi!'s Avatar
 
Join Date: Nov 2015
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by stw View Post
So the showstopper seem to be Reaper and Apple hosts. Unfortunately Logic is the favourite au host. I can't believe that there're no WDL sidechain plugs running succesfully in Logic?! So which settings are successfully working in your plugs?
It seems that 2-2 4-2 is the only working config for Logic. There is no other showstopper (except mono in Logic), the point is: why using AU in Reaper, Studio One and Ableton ? We have VST2/3. But of course, an one for all and non crashing AU implementation would be great.
Andi! is offline   Reply With Quote
Old 10-23-2017, 04:45 PM   #8
stw
Human being with feelings
 
stw's Avatar
 
Join Date: Apr 2012
Posts: 279
Default

Good news, a one for all solution does exist.
Bad news, it seems not for wdl (right now).

Tested channel settings:
#define PLUG_CHANNEL_IO "2-2 3-2 (4-2)"
#define PLUG_SC_CHANS 2

Just for curiosity i installed different au side-chaining plugs to see what's going on. Beside my own tryings i build the sidechain example and installed the Hornet Multicomp. All plugs suffer from false input channels in Reaper. Main L/R inputs vanish from the I/O settings and only aux Inputs are available. Result is the loss of the main audio stream if a wdl au sidechain plug is active.

StudioOne works ok. With disabled 4-2 setting the SC connects correctly to the third input stream, With enabled 4-2 SC connects to the fourth input stream

LogicX works ok only with enabled 4-2 and SC connects to the fourth input stream, as well.

AbletonLive works ok. With disabled 4-2 SC connects to the third input stream, with enabled 4-2 SC connects to the third and fourth input stream

To compare my testing i installed the FabFilter Pro-Q2.
This plug works in all hosts inluding Reaper! I ran auval to take a look at the IO settings and to my surprise this comes only with 1-1 1-2 2-2
I tried these values with my own plug and voila all connections appear in Reaper. But the stream connections are corrupted. Now the host SC streams connect to the plugs main input channels. Looks like the input streams are shifted left to the amount of SC channels.
My guess is that there's something wrong in the wdl au channel assignment routines.
stw is offline   Reply With Quote
Old 10-24-2017, 08:10 AM   #9
Andi!
Human being with feelings
 
Andi!'s Avatar
 
Join Date: Nov 2015
Location: Germany
Posts: 82
Default

Nice tests, these should be the reference test DAWs when correcting the AU side chain handling and High Sierra (and newer) compatibility.
Yes, there is something wrong with the bus/channel handling, some implementations doesn't exist and the current coding barely uses the Core Audio SDK.
Andi! is offline   Reply With Quote
Old 10-24-2017, 08:33 AM   #10
stw
Human being with feelings
 
stw's Avatar
 
Join Date: Apr 2012
Posts: 279
Default

After half a day of trials & errors at least i could get my setting running with a very dirty hack.

I noticed that at a certain point at instantiation Reaper reports false (or misleading) HostChannels in IPlugAU::AssessInputConnections(), which leads to the input channel loss.
Code:
// DBGMSG("\nbus :%d:%s start:%d PlugCh:%d HostCh:%d", i, AUInputTypeStr(pInBusConn->mInputType), startChannelIdx, pInBus->mNPlugChannels, pInBus->mNHostChannels);
// in void IPlugAU::AssessInputConnections()

bus :0:NotConnected start:0 PlugCh:3 HostCh:2
bus :1:NotConnected start:3 PlugCh:1 HostCh:-1
bus :0:NotConnected start:0 PlugCh:3 HostCh:2
bus :1:NotConnected start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:2
bus :1:NotConnected start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:2
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:2
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:2
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:2
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:0
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:0
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:0
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
bus :0:RenderCallback start:0 PlugCh:3 HostCh:0
bus :1:RenderCallback start:3 PlugCh:1 HostCh:2
Since i couldn't find a proper solution to fix it i tried it with brute forcing my desired values. That 'don't try that at home' hack did it for me. Only Live seems to be a bit picky about channel handlings and wants all HostChannels on the first bus. So at the end i came up with these lines:

Code:
// added at void IPlugAU::AssessInputConnections()
//
// brute forcing channel settings for:
// #define PLUG_CHANNEL_IO "2-2 3-2 4-2"
// #define PLUG_SC_CHANS 2

pInBus->mNHostChannels = (GetHost() == kHostAbletonLive)? (i>0)? 0:4 : 2;
pInBus->mNPlugChannels = 2;
pInBus->mPlugChannelStartIdx = (i>0)? 2:0;
For now everything runs fine and i got a working au version for all hosts i could test. I know that doesn't mean at all that this will work with other settings. However maybe this could be a starting point for more experienced WDL friends to come up with a proper soultion?

Last edited by stw; 10-24-2017 at 08:38 AM.
stw is offline   Reply With Quote
Old 10-24-2017, 03:22 PM   #11
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

I only see issue with Reaper, Logic Pro X works fine with my sidechained plugins.

Tested:

AutoGain
AutoGain Pro
AutoGain Pro MK2
Multicomp
Multicomp Plus MK2
HoRNet is offline   Reply With Quote
Old 10-24-2017, 11:48 PM   #12
stw
Human being with feelings
 
stw's Avatar
 
Join Date: Apr 2012
Posts: 279
Default

Quote:
Originally Posted by HoRNet View Post
I only see issue with Reaper, Logic Pro X works fine with my sidechained plugins.
Yes. And maybe it's just a Reaper to WDL problem. I don't know.
But that was the reason to find a workaround for me. I just don't like the feeling that one of my plugs totally kills the audiochain, while others don't in a host with a broad user base.
stw is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:20 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.