Mono/stereo AU problems in Studio One

I'm nearing completion of my plugin but I've run in to a problem when testing in Presonus Studio One (on Mac).

Specifically the problem is that the AU version of the plugin always opens in stereo mode whether the underlying track is stereo or mono. In the case of a mono track, I've confirmed that the second input channel that I recieve in processBlock() is garbage data.

I'm currently using "{2, 2}, {1, 1}" for JucePlugin_PreferredChannelConfigurations.

If I use "{1, 1}, {2, 2}" then the AU version always loads as mono. If I comment out the SetStreamFormat code (lines 180-188 in juce_AU_Wrapper.mm) then it returns to always being stereo.

The VST (2.4) version of the plugin runs correctly (i.e. mono tracks -> mono mode, etc).

Is this a bug in Studio One and should I advise my users to not use the AU version in it? Or can anyone advise me on some other way to fix this behavior?

Thanks, -Joe Barker

 

We have the exact same problem here.   In Studio One 2.6.3 Build 27792 on Mac, I cannot get both Stereo and Mono Audio Units to work at the same time on the corresponding stereo/mono tracks.  I can only get one or the other to work. That is, the only way I can get a Mono AU in Studio One is to reverse the order of JucePlugin_PreferredChannelConfigurations, but then I _only_ get Mono and cannot get Stereo.  It seems to only pick the first configuration in the list.   By contrast, instantiating a Stereo and a Mono VST or VST3 in the same situation is no problem.  

Any thoughts on how to correct this? 

 

Thanks,

Aaron

Sounds more like a question for the Studio One guys.. I can't think of anything I could change in the plugin that would affect the way it makes that choice.

I forwarded this thread to a contact I have at Presonus, who is a developer for Studio One, and he said:


thanks for letting me know. We are looking into it and want to fix the bug with an Studio One update.
 

Tinkering around with JUCE and noticed the exact opposite problem when building a trivial sample plugin created via Introjucer.  AU and VST work fine, but VST3 comes up as mono in REAPER (v5.1) and only plays the left channel.    Doesn't matter whether I set the preferred buses as {1, 1}, {2, 2} or {2, 2}, {1, 1}. using latest commit as of yesterday (3 Dec 15).

Using the test host and explicitly wiring the inputs and outputs works as expected.

Also, using Cubase 7.4 works as expected.

I'll also contact the folks at Cockos.

Don't spend too long on this, as we'll be releasing the all-new multi-bus support imminently!

Hopefully this will not result in lots of new troubles, i fear.

I already spent so much time in fixing multi-channel plugin troubles ( With a lot of host-specific adjustments (isLogic/isWavelab etc..))

Please make extensive Tests in Logic/Cubase/ProTools/Reaper/Wavelab/Live/Tracktion etc... before you release the code.

 

 

Yes, we'll obviously be testing on as many combinations as we can, but since there are many thousands of permutations, we won't be able to cover them all! 

You can try it yourself if you're interested, we have a temporary repo for it here:

https://github.com/hogliux/JUCE

It's still under development for some plugin types, but the API is complete.

Fair enough - it works enough for me to do what I NEED to do at the moment (play with some DSP internally).  I'll keep an eye out for new commits before taking things any further.

Yep, the beta version you linked above does fix the issue with no source changes on my end.  Bravo! :)

Please also check Multi-channel behavior like (for surround) 

{1,1},{1,2},{2, 2},{2,5},{2,6},{3,3},{4,4},{5,5},{6,6},{7,7},{8,8},{9,9},{10,10},{11,11},{12,12},{13,13},{14,14},{15,15},{16,16}

and

{1, 1}, {1, 2},{1, 3}, {1, 4},{1, 5}, {1, 6},{1, 7}, {1, 8},{2, 1}, {2, 2},{2, 3}, {2, 4},{2, 5}, {2, 6},{2, 7}, {2, 8},{3, 1}, {3, 2},{3, 3}, {3, 4},{3, 5}, {3, 6},{3, 7}, {3, 8},{4, 1}, {4, 2},{4, 3}, {4, 4},{4, 5}, {4, 6},{4, 7}, {4, 8},{5, 1}, {5, 2},{5, 3}, {5, 4},{5, 5}, {5, 6},{5, 7}, {5, 8},{6, 1}, {6, 2},{6, 3}, {6, 4},{6, 5}, {6, 6},{6, 7}, {6, 8},{7, 1}, {7, 2},{7, 3}, {7, 4},{7, 5}, {7, 6},{7, 7}, {7, 8},{8, 1}, {8, 2},{8, 3}, {8, 4},{8, 5}, {8, 6},{8, 7}, {8, 8}