Cabbage Logo
Back to Cabbage Site

Multichannel input VST

Hello, first of all let me thank you for Cabbage, it’s such an amazing and powerful piece of software.

I wonder if it’s possible to have more than two audio inputs in the exported VST. My csd declares 4 inputs but I can’t seem to get it to work in the exported VST. I’m using Cabbage 64bit v1.0.0

I have:

nchnls = 2
nchnls_i = 4

and then in the instrument:

instr 1
    a1, a2, a3, a4 inch 1, 2, 3, 4
    ...

this gives a continuous CSound error “ignored input channel 3 too large”.

and this:

a1, a2, a3, a4 inq

doesn’t give any error, but in both cases the exported vst only shows 2 inputs to the host DAW (Reaper).

I’m just starting with CSound and Cabbage. Do I need some extra CsOptions perhaps? Is this possible at all? It seems that all the provided examples use 2 inputs…

Thanks and greetings,

Vicente

I’ll need to look into this. It’s been on my todo list forever. Right now we are restricted to 2 channels in and out, but I have successfully built multi channel versions of Cabbage before. So it is possible. Leave it with me for a bit and I’ll see what I can come up with.

wow, thanks for the lightning fast response :slight_smile:

Ha, the response might be fast, but it may take some time before I get around to sorting the issue!

I’ve created a new build with multi-channel support. All exported plugins are now 8 channel. If you use nchnls=8 you should be good to go. I’ve tested with BitWig, Reaper and Live and they all see the 8 unique channels. If you don’t need the extra channels you can set nchnls=2 to ignore them in the host. Here’s the link:

https://dl.dropboxusercontent.com/u/11301894/Cabbage64SetupMulti8.exe

Let me know how it works. I’m thinking of making this the default setup for future releases.

Now that’s a complete fast response :smile:. Many thanks for that.

The exported plugin now exposes 8in/8out to the host indeed, and it seems to work fine so far. This is so powerful now!

I notice (what I think looks like) a few quirks though:

  • In Cabbage’s “Audio Settings” menu I can now tick more than one input and/or output pairs, but I can’t untick them (i.e. the checkboxes to select/deselect inputs/outputs), so I have now all the inputs and the outputs of my souncard (M-Audio Delta 1010) selected :smiley:

  • I still see the “ignored input channel 3/4 too large” in csound’s output when I use:

     nchnls = 4 ; or 2
     nchnls_i = 4
     ...
     a3, a4 inch 3, 4
    

    the output is flooded with these messages and the Cabbage GUI becomes less and less responsive until it finally crashes. The exported VST seems to work fine though, but CSound developing is impossible. This happens with a vanilla “New Cabbage->Effect” with the above code added. inq seems to work fine though.

  • It seems that now any plugin will be shown in the host as 8in/8out regardless of the nchnls / nchnls_i settings, right? This may be confusing to the “end user”. Why a stereo plugin should be shown as 8in/8out?. Wouldn’t be more logical to export the plugin with the actual number of in/out channels used? I don’t know the actual implementation details of this, it may be more difficult than it seems, so I’m just thinking loud…

Thanks again for this feature. All the best,

Vicente

Most hosts will load plugins as 2 channel by default at any rate, unless you tell them other wise. Reaper will ask you when you place the plugin on a track if you wish to use its full 8 channels. Live will simply load the plugin and output channels 1 and 2 unless otherwise stated, It’s the same with BitWig.

The only other way to offer multichannel support would be to include plugin binaries for each of the supported configurations. That would be 8 times 2(synth/effect) plugins in each release. It would be PITA to build. Also, the standalone player remains stereo only for now. I apologise if this has broken something in the standalone player. Were you always able to access all channels of your sound card? I can look at adding, or returning, multichannel support to the standalone player. I just need to get my hands on a multichannel sound card.

I’ll do some tests tomorrow and see what I can come up with. It’s still pretty raw.

ok

No, the standalone behavior is the same as before, inch >2 ends up crashing Cabbage. I somehow assumed the update tried to address this too.

Yes. Before the update I could select only one of the available stereo input/output pairs of the soundard, and then the previously selected pair was deselected. After the update, I can check all the checkboxes, but not uncheck. Here is my Cabbage.settings after having checked all the channels:

    <DEVICESETUP deviceType="ASIO" audioOutputDeviceName="M-Audio Delta ASIO"
             audioInputDeviceName="M-Audio Delta ASIO" audioDeviceRate="44100"
             audioDeviceInChans="11111111" audioDeviceOutChans="11111111"/>

I can’t change the audioDevice*Chans fields from the GUI, that’s all. It’s just a cosmetic issue, the player always gets the audio from the channels 1 and 2.

ok, no worries. I’m pretty happy with this update, I can live with it as it is now. I guess it’s logical that if multichannel is “officially” supported, the standalone should support it too, but I’m just trying to provide some useful feedback, nothing else :slight_smile:

Many thanks again!

Cool. So I think the plugin versions are running fine now. As 8 channel plugins. In most cases I find myself accessing the stereo input and spreading that across the 8 channels.

Hi Rory. Is there a beta multichannel version of cabbage available for mac? Thanks!

I can build you one if you want to try it. I can try to get it for you by tomorrow, but if not then, it will be Monday next. Sorry, but I’ve only limited time with my OSX machine at the moment! (it’s at work, and I have to, em, work when I’m there!)

I was just wondering if a version was already there. I know there’s a windows version. If you do get around to making one let me know, but there’s no panic if you don’t:)

Thanks Rory!