DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.25k stars 155 forks source link

Sidechain input in bitwig doesn't result in audio coming through in channels 3/4 or above #372

Closed scotttswan closed 2 years ago

scotttswan commented 2 years ago

bitwig i'm routing audio into Cardinal in bitwig via sidechain which in other plugins results in audio coming through channels 3/4.

With Cardinal i receive no CV, i can route in via audio channels 1/2 without any problems.

falkTX commented 2 years ago

what version? the latest unreleased 22.09 are required for this, as it is not working on the latest 22.07 stable release

scotttswan commented 2 years ago

ahh that will be why as i used the release windows.exe installer

scotttswan commented 2 years ago

i'll test the unreleased 22.09 tonight

scotttswan commented 2 years ago

Ok i tested it with the latest nightly release but the sidechain option now doesn't appear in bitwig.

robbert-vdh commented 2 years ago

I investigated this for a bit, the problem is that Cardinal doesn't use the VST3 busses correctly. It should have four stereo input busses. Instead, it has a single 8 channel (surround?) audio input bus and another one for CV. Bitwig's sidechain input goes to the second (auxiliary) audio bus because that's how VST3 works.

dromer commented 2 years ago

@robbert-vdh with the 22.09 nightly build?

falkTX commented 2 years ago

see the nightly builds, this has been corrected there. 22.07 has wrong bus setup, but works fine in the upcoming 22.09

the CV stuff is not a single bus though, each CV is on its own "bus". otherwise we would get 10-speaker surround CV which doesnt make much sense. instead we have (in upcoming 22.09) 10x mono CV ports, along-side the 4x stereo audio buses.

robbert-vdh commented 2 years ago

@dromer Oh yeah no I was using the 22.07 build from the Arch repos. Only installed it because someone on the Unfa Discord asked about this so I thought I'd investigate.

falkTX commented 2 years ago

I am not sure the best way to deal with the non 1+2 audio channels though. marking everything 3-8 as sidechain seems wrong, but also seems to be what bitwig expects.

likely bitwig has some fancy way to send sidechain to multi-input plugins, I just dont see it.

robbert-vdh commented 2 years ago

Yeah in the VST3 model every audio bus is its own self contained audio stream with a specific channel layout, usually stereo. So if you have one main stereo input and three additional ones, you'd expose one main stereo input buss and three auxiliary stereo input busses. That's the same idea as with CLAP: there you'd one CLAP_AUDIO_PORT_IS_MAIN stereo audio input port and three additional stereo audio input ports.

Bitwig only supports a single main audio input and a single sidechain audio input per plugin though since very few plugins go beyond that. So you'd only be able to address the main input (going to ports 1 and 2) and the first sidechain input (going to ports 3 and 4). May be worth writing to Bitwig support about additional sidechain inputs though, they have plenty of space on the UI for it but they probably just never added it because there wasn't any need for it.

falkTX commented 2 years ago

hmm but on cardinal they are not sidechain, is just literally extra audio IO. I changed the ports to mean 4x stereo instead of 1x 8-set just to help hosts, there is and never was any special meaning to these ports since this is a modular environment.

robbert-vdh commented 2 years ago

In a DAW context they'd be sidechain inputs. The main input is coming from the (likely stereo) track the plugin is inserted on, and the other three inputs will be routed from elsewhere.

scotttswan commented 2 years ago

still broken in the latest nightly, without exposing them the way it was done in the stable release there's no option to select "sidechain".

falkTX commented 2 years ago

I am not keen on changing it back though. Cardinal with 4x stereo IO makes sense. Only the first stereo pair is set as "active", the others are there but without that "active" flag, which is a valid configuration according to the VST3 spec. Tagging the extra ports as sidechain seems wrong to me, they are additional IO and not really sidechain.

So I am closing the ticket as "wont fix".

robbert-vdh commented 2 years ago

which is a valid configuration according to the VST3 spec.

A bus must have a bus type, which can be either main or aux: https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1BusInfo.html#a764af5c5b921de1cab2eca6565ea5d1e (the docs conveniently don't specify whether there may only be a single main bus of a given type, but presumably that's implied)

scotttswan commented 2 years ago

maybe it could be added to the FX version of cardinal as that's where it would be most useful.

falkTX commented 2 years ago

which is a valid configuration according to the VST3 spec.

A bus must have a bus type, which can be either main or aux: https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1BusInfo.html#a764af5c5b921de1cab2eca6565ea5d1e (the docs conveniently don't specify whether there may only be a single main bus of a given type, but presumably that's implied)

right, sorry, I miswrote. I meant it has only "default active" on the 1st IO, the other ones dont have that. but they are all main buses.

scotttswan commented 2 years ago

i don't know if there are other DAWs that have this problem but with whatever the current stable release had set the sidechain option appeared in bitwig but there was nothing received within cardinal itself.

Current settings in the nightly dont give any option for sidechaining and that option is the only way to get more than tracks 1/2 audio inputs into a vst in bitwig.

Coming from Reaper its quite limiting but the modulation option in bitwig opened up a whole new world.

falkTX commented 2 years ago

maybe it could be added to the FX version of cardinal as that's where it would be most useful.

I actually quite like this idea. but I am afraid of introducing this and breaking existing projects. not all hosts (or plugin formats) handle sidechain properly. so it is not something to try in the next 22.09 release at least

trevormeier commented 2 years ago

Coming back here for the same issue. Trying to get quad channels into Cardinal somehow but as I see here the current builds don't support a sidechain channel.

If this were to be made available in the FX version, I'd also vote for the FX version to include more outputs. In the past I've been told additional audio IO is what the main version is for, but without sidechain I've no way to access it.

falkTX commented 2 years ago

Best would be to try the clap version (the recently enabled "main" variant), though windows build is broken at the moment

trevormeier commented 2 years ago

I've tried out the latest nightly - it's working for me! Thanks for the tip