Cabbage Logo
Back to Cabbage Site

Cabbage 2.9 vs 2.8 initializing software

I decided to go to latest version of cabbage to test my latest work.
My program looks like a mess in 2.9.
One of the issues is comboboxes not set on an option.
I looked to isolate this specific issue and it seems to persist in the attachment.
a.csd (756 Bytes)

I’m also transitioning and this might be related to my recent posts:


Hi @Man_in_the_gutter, apologies for the delay in replying to this. If you want the combobox to show an initial value, use the value() identifier:

combobox bounds(5,5,80,20) channel("pickup-selector"), items("Neck", "Bridge", "Both", "None"), value(1)

If you want the combobox to send string data to Csound rather than a number, you would need to set it up toe use a string channel type. And you would then pass the string to value instead of a numerical index:

combobox bounds(5,5,80,20) channel(“pickup-selector”), channelType(“string”) items(“Neck”, “Bridge”, “Both”, “None”), value(“Neck”)

I’m sure there will be a few more bumps along the road as you move from version 2.8 to 2.9, don’t be afraid to ask :slight_smile:

Ok, thanks.

Channeltype as a number is not a problem.

Still looking to solve the loops.
The loop iteration works fine, but it doesn’t execute the ‘cabbageSet’ inside the loop.
Like the same I said before, almost as if the loop is not long enough.
Although it should only iterate after executing the ‘cabbageSet’.

Can you share a simple example so I can take a look?

loop execute.csd (2.7 KB)

There are two issues here. One in your code, and one in Cabbage. The first issue is you’re using an i-rate version of cabbageSet in a k-rate loop. That will never work. The next issue is that I recently added some optimisations to the string variants of the cabbage opcodes. This has caused code like this to stop working, which was not my intention. So I will roll back :+1:

I just pushed through this fix now. If you grab the latest build when it is done you should be good to go. FWIW, this code now works fine (note the k-rate version of cabbgeSet):

kr99 init 1
Sr = "R"
Sc = "C"
Sformat = "%d"
kc99 init 1

while kc99 < 24 do
  ScurrentButtonFB strcatk Sr, Sformat
  ScurrentButtonFB2 sprintfk ScurrentButtonFB, kr99
  ScurrentButtonFB2 strcatk ScurrentButtonFB2, Sc
  ScurrentButtonFB2 strcatk ScurrentButtonFB2, Sformat
  ScurrentButtonFB sprintfk ScurrentButtonFB2, kc99
  cabbageSet changed:k(kc99), ScurrentButtonFB, "bounds",(kc99-1)*15, (kc99-1)*10, 15, 10
  kc99 += 1

I see, there was a general trigger originally in the cabbageSet, that I changed to 1 and then removed in the process.

Yeah, I’ve one the same myself on plenty of occasions :exploding_head:

It works on the latest release! :+1:

1 Like