Cabbage 3 does not find Csound 7

I have installed Cabbage 3 and Csound 7 as explained in the first video. When I press ‘Run Cabbage’ I get:

=== CABBAGE PROCESS EXIT ===
Exit code: 3221225785
Signal: none
Process ID: 21956
Command: c:\Users\Reiner\.vscode-insiders\extensions\cabbageaudio.vscabbage-1.0.205-alpha\src\CabbageBinaries\CabbageApp.exe
Exit code indicates missing or incompatible library - is Csound installed?
=== END EXIT ===

I checked that Cosund 7 is installed at C:\Program Files\Csound7.

Update: I tried to use “Csound: Browse for Csound executable” from the VS command palette, pointing it to the csound.exe file. Still does not work.

Sorry @RZorn I somehow missed this message. Do you have Csound 6 installed? If so, rename the folder so that the registry picks up Csound 7. Or simple uninstall Csound6, although renaming to switch between versions should work fine.

I’ve updated the notes below the video with details about this. Let me know if it works Ok for you. I’ve been using this little trick for the last year or so without any problems.

That command is part of the Csound vscode extension, so it wouldn’t help in this context.

Yes, it works. I could start the ‘vanilla’ synth, but it produces some errors, below.

Of course, then, Cabbage 2 does not work anymore because it needs the old link. And I probably will still need Cabbage 2 to maintain the old plugins. Is there any easier way to run both concurrently?

I also encountered another problem when I followed the second video. I wanted to try out the ‘audio device’, ‘sample rate’… commands. But they all do not show the list of available options.

setCsdFileAndPath: Set CSD path for CabbageApp.exe to: c:\ProgramData\CabbageAudio\Test-C3\Test-C3.csd
Csound SetHostData: enginePtr=00000204B277E920 processorPtr=00000204B277E390
csound = 00000204B26151E0 [Cabbage.cpp (260) cabbage::Engine::setupCsound Thread ID: 12652]
Parsing Cabbage JSON using new object format with 'widgets' key
Unknown widget type: form - skipping widget
ERROR: Widget type is not valid: form - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
Unknown widget type: rotarySlider - skipping widget
ERROR: Widget type is not valid: rotarySlider - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
Unknown widget type: rotarySlider - skipping widget
ERROR: Widget type is not valid: rotarySlider - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
warning:
could not open library 'C:\Program Files\Csound7\plugins64\\osc.dll' (-1)

Reading CSD file:  c:\ProgramData\CabbageAudio\Test-C3\Test-C3.csd
--Csound version 7.0 (double samples) Jun 19 2026
[commit: 2932c7fd14681493b5db83df3efdda175c1eb116]
using callback interface
Compiling Csound code...
warning:
opcode outs is deprecated, line 42

...done
Elapsed time at end of code compilation: real: 0.002s, CPU: 0.002s
using libsndfile-1.2.2
displays suppressed
sr = 44100.0,
kr = 1378.125,
ksmps = 32
0dBFS level = 1.0,
A4 tuning = 440.0
audio buffered in 256 sample-frame blocks
SECTION 1:
SR: 44100
Buffer Size: 512
Input device: Built-in Input
Number of input channels: 2
Output device: Built-in Output
Number of output channels: 2 [CabbageAudioApp.cpp (799) CabbageAudioApp::initialiseAudio Thread ID: 12652]
setCsdFileAndPath: Set CSD path for CabbageApp.exe to: c:\ProgramData\CabbageAudio\Test-C3\Test-C3.csd
Csound SetHostData: enginePtr=00000204B277E920 processorPtr=00000204B277E390
csound = 00000204B2759D30 [Cabbage.cpp (260) cabbage::Engine::setupCsound Thread ID: 12652]
Parsing Cabbage JSON using new object format with 'widgets' key
Unknown widget type: form - skipping widget
ERROR: Widget type is not valid: form - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
Unknown widget type: rotarySlider - skipping widget
ERROR: Widget type is not valid: rotarySlider - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
Unknown widget type: rotarySlider - skipping widget
ERROR: Widget type is not valid: rotarySlider - Skipping this widget and continuing... [CabbageParser.cpp (214) cabbage::Parser::parseContent Thread ID: 12652]
warning:
could not open library 'C:\Program Files\Csound7\plugins64\\osc.dll' (-1)

Reading CSD file:  c:\ProgramData\CabbageAudio\Test-C3\Test-C3.csd
--Csound version 7.0 (double samples) Jun 19 2026
[commit: 2932c7fd14681493b5db83df3efdda175c1eb116]
using callback interface
Compiling Csound code...
warning:
opcode outs is deprecated, line 42

...done
Elapsed time at end of code compilation: real: 0.003s, CPU: 0.003s
using libsndfile-1.2.2
displays suppressed
sr = 44100.0,
kr = 1378.125,
ksmps = 32
0dBFS level = 1.0,
A4 tuning = 440.0
audio buffered in 256 sample-frame blocks
SECTION 1:
SR: 44100
Buffer Size: 512
Input device: Built-in Input
Number of input channels: 2
Output device: Built-in Output
Number of output channels: 2 [CabbageAudioApp.cpp (799) CabbageAudioApp::initialiseAudio Thread ID: 12652]
new alloc for instr 1:
B  0.000 ..  5.000 T  5.000 TT  5.000 M:
0.00000
0.00000

new alloc for instr 2:

Thanks for testing this out @RZorn, I really appreciate the time you’re putting into it.

On my Windows machine at work I created a simple vscode build command that will rename the folders for me. I ust call it up whenever I want to move from Cabbage 3 to Cabbage 2.

Can you open C:\Users<username>\Local Settings\Application Data\Cabbage\settings.json and see what is listed, maybe you can copy and paste its contents here. When the bckend runs for the first time it should populate this file with the available devices. After this vscode should be able to display them. Perhaps this file is not populating as it should.

This looks suspect. I’m wondering if an old cabbage settings files might be causing the problem. Would you mind deleting the cabbage settings file, and re-running Cabbage to see if it creates a new one, with the correct paths in it. In the mean time I will strengthen the path resolving process on Windows, just to be sure.

There is a new build available that has a new Cabbage: Validate Install command. If you run that it should give us a little more information.

Indeed, Cabbage: Validate Install showed me a '“stale legacy settings” file which I renamed. Then it created a new one which as populated with my audio devices. So this works.

Also the errors “widget type is not valid” don’t show anymore. But the UI still looks like this:

although the widget type is “rotarySlider”.

Did you try to create a vanilla synth/effect project? You should just create a new synth/effect file. The vanilla stuff is for when you don’t want to use the UI provided by Cabbage.

If you look through the docs you’ll see a better breakdown of all the commands.

I see. The “vanilla” command was the first “create” I saw in the list…

Hmm, I see how this might be a little confusing for users. Let me consider a better way of phrasing these things :+1: