Cabbage Logo
Back to Cabbage Site

I decided again to use Cabbage

Hi Rory,

I decided again to use Cabbage, because it is from what I know, the only csound front end that has such a quantity of widgets and of such quality, and also the ability to make independent applications (even if you have to install csound first - for java applications, you must also install java first). I am also very interested in being able to use tabs, thanks to groupboxes that can be made visible and invisible.

There are a few aspects that surprise me a bit, like for example the fact that the patch starts when you do cmd-s / ctrl -s but I guess that is useful when you want to quickly test changes in your code.

I don’t mind using file () to populate listboxes and comboboxes, anyway I will use it to display things that are already on disk.

On the other hand, it’s a bit annoying that align () doesn’t work correctly with listbox, and I find it quite weird to see the contents of the listboxes in the center instead of being on the left.

Regarding multichannel, my presonus sound card is unfortunately broken, and I do not yet know enough the new that I have now, but I could see by looking at the patcher, that the number of outputs corresponds well to the number of inputs, however the number of entries is always 2. It would be nice if it all worked out perfectly, you know that I’m not the only one interested in this.

In the meantime, I could start csound with the terminal and control it with a cabbage project with OSC when I need 8 inputs / 8 outputs.

Anyway, I’m still impressed with the amount of work you’ve done, as well as the time you take in this forum answering questions and giving advice to users.

Best,
Bernard

Welcome back @bernardgeyer!

This is just something that has always been there, and no one has asked for it to change. But it would be easy enough to prevent compilation on save. I can add a option for that if it would suit you?

You can also just pass strings?

I can add align() for listboxes and comboboxes. That kind of GUI stuff is quite easy to update.

The problem remains that I don’t have a multichannel card to test this. As far as I know multi-channel works fine if you set the number of inputs and outputs explicitly in your Csound header, but if I recall correctly you would looking for Cabbage to set these based on the current audio card?

No, thanks, it’s not necessary.

There is alreay an align() for listboxes and comboboxes (even in your documentation:
https://cabbageaudio.com/docs/listbox/
but it didn’t work in the official version 2.5. In 2.5.12 it works, an the default align is left, what seems correct.

I was writing in my code “nchnls=8” what seems to be sufficient, when I add “nchnls_in=8”, there is no difference, only 2 input channels show up in the patcher.

Sure, it could be very usefull, but I have no idea how, and how it would affect the csound code. For the moment, other tests are needed, f.e. standalone apps have different problems on windows and mac. I didn’t yet test it on linux, I’m not sure how to install soundcard drivers.

Sure, you should not be the only one to test it! And the fact that you are the only one that works on the program can also be diffcult. Of course, it was the same with Julian Storer, with Juce, but maybe it’s different since Juce was acquired by Roli (not to be confused with Rory)

Well it’s good to have you back :wink: I will see if I can pick up a multichannel card somewhere. It would be nice to finally get it sorted out. Of course I’m happy to look into any issues that I can fix from here.

You’re probably really using nchnls_i and not nchnls_in, but just in case; make sure you are using “nchnls_i=8” in your .csd, not “nchnls_in=8”.

I don’t use the patcher, but setting the channel count this way works in Reaper for Cabbage VSTs on my machine.

Thanks @Andy.Fillebrown. It seems that Cabbage, as a host isn’t a well written as most hosts :laughing: For although Reaper/ Logic, Live etc all respect the number of input channels, Cabbage seems to tie them to the number of outputs. I’ll take a look into this, should be a simple fix.

This should be fixed now. No longer does the number of inputs get automatically mapped to the number of outputs.

Of course, I used “nchnls_i”, it was a typo, otherwise csound wouldn’t have compiled. I guess that initially variables could only have a maximum of 8 characters.
Actually I didn’t need that, since I want to have the same number of inputs as outputs, but I just tested if it changes anything, and it didn’t change anything, there were always only 2 inputs.

I redid the tests with version 2.5.13 on both Mac OS X and Windows, nothing changes, always two inputs.

I:O Settings patcher

When this will work as it should, two things will have to be tested again: whether or not there is distortion, and whether the levels drop or not.

For the moment I don’t use any plugins, but only standalone apps.
I guess thet if I wanted to use my program as a VST plugin, I would have to create a different plugin for each of my instruments as well as for each effect ?

Ok, I think we were talking about two different things. I was looking into the fact that multichannel plugins always have the same number of inputs and outputs. The fix I have for this seems to have ended up in the master branch. I will push it to the dev side later so we can test it.

The issue of auto-connecting a sound card with 8 inputs to each input of a plugin is a different issue, and something I might not be able to address without a multi IO sound card.

That’s correct. Over time you build up quite a library of instruments that can all be chained together any way you like.