looks like that
Cabbage3 alpha release
Another new version there now, while I have you on the line
You don’t seem to be seeing any debug messages showing JSON content when you try to compile? These message should appear in the vscabbage output window. But I don’t think you’re seeing any. Wait a second, you don’t have any non-ascii chars in your path?
[update] I see now, those messages are returning a null, that’s not right, but gives me somewhere to look for the solution.
Ok. Here are outputs from version 1.0.17.
This errors came directly on staring up:
Following logs are after compiling the instrument:
In text:
console.ts:137 [Extension Host] Cabbage: Cabbage: Creating new webview panel
EYi @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:458
Q @ rpcProtocol.ts:443
M @ rpcProtocol.ts:373
L @ rpcProtocol.ts:299
(anonymous) @ rpcProtocol.ts:161
B @ event.ts:1243
fire @ event.ts:1274
fire @ ipc.net.ts:652
l.onmessage @ localProcessExtensionHost.ts:378
console.ts:137 [Extension Host] Cabbage: Setting vscode instance
EYi @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:458
Q @ rpcProtocol.ts:443
M @ rpcProtocol.ts:373
L @ rpcProtocol.ts:299
(anonymous) @ rpcProtocol.ts:161
B @ event.ts:1243
fire @ event.ts:1274
fire @ ipc.net.ts:652
l.onmessage @ localProcessExtensionHost.ts:378
console.ts:137 [Extension Host] Cabbage: Local resource roots: {$mid: 1, path: '/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/media', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}$mid: 1authority: "file+.vscode-resource.vscode-cdn.net"path: "/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/media"scheme: "https"[[Prototype]]: Object
EYi @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:458
Q @ rpcProtocol.ts:443
M @ rpcProtocol.ts:373
L @ rpcProtocol.ts:299
(anonymous) @ rpcProtocol.ts:161
B @ event.ts:1243
fire @ event.ts:1274
fire @ ipc.net.ts:652
l.onmessage @ localProcessExtensionHost.ts:378
console.ts:137 [Extension Host] Cabbage: Local resource roots: {$mid: 1, path: '/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/src', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}$mid: 1authority: "file+.vscode-resource.vscode-cdn.net"path: "/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/src"scheme: "https"[[Prototype]]: Object
EYi @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:458
Q @ rpcProtocol.ts:443
M @ rpcProtocol.ts:373
L @ rpcProtocol.ts:299
(anonymous) @ rpcProtocol.ts:161
B @ event.ts:1243
fire @ event.ts:1274
fire @ ipc.net.ts:652
l.onmessage @ localProcessExtensionHost.ts:378
console.ts:137 [Extension Host] Cabbage: Found a find free port: 9991
console.ts:137 [Extension Host] Cabbage: onDidSave c:\Projects\csound_stuff\cabbage3\simple_tests\button_example.csd
console.ts:137 [Extension Host] Cabbage: WebSocket server successfully started on port 9991
cabbage.js:5 Cabbage: loading cabbage.js
widgetTypes.js:5 Cabbage: loading widgetTypes.js...
eventHandlers.js:6 Cabbage: loading eventHandlers.js
eventHandlers.js:49 Cabbage: vscode is null, not loading PropertyPanel
widgetManager.js:5 Cabbage: Loading widgetManager.js...
sharedState.js:13 Cabbage: Setting vscode instance
setVSCode @ sharedState.js:13
(anonymous) @ main.js:34
main.js:55 Cabbage: Loading modules in main.js
main.js:62 Cabbage: Modules loaded in main.js: {propertyPanelModule: Module, widgetWrapperModule: Module}
widgetWrapper.js:13 Cabbage: Initializing interact https://file%2B.vscode-resource.vscode-cdn.net/c%3A/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/src/interact.min.js
cabbage.js:30 Cabbage: sending custom command from UI {command: 'cabbageIsReadyToLoad', text: '{}'}
console.ts:137 [Extension Host] Cabbage: Client connected
EYi @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:458
Q @ rpcProtocol.ts:443
M @ rpcProtocol.ts:373
L @ rpcProtocol.ts:299
(anonymous) @ rpcProtocol.ts:161
B @ event.ts:1243
fire @ event.ts:1274
fire @ ipc.net.ts:652
l.onmessage @ localProcessExtensionHost.ts:378
console.ts:137 [Extension Host] Cabbage: WebSocket server started on port 9991
Console output:
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
2
2
Cabbage DEBUG: Resetting csound ...
csound = 0x0000024063464830
D:\a\vscabbage\vscabbage\cabbage3\src\Cabbage.cpp (107) cabbage::Engine::setupCsound: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent: [Thread ID: 26548]
Cabbage DEBUG: IPlugAPPHost::IPlugAPPHost
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (42) iplug::IPlugAPPHost::IPlugAPPHost: [Thread ID: 26548]
Cabbage DEBUG:
RtAudio Version 6.0.1
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (659) iplug::IPlugAPPHost::ProbeAudioIO: [Thread ID: 26548]
Cabbage DEBUG: Assigning called host callback function.
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (136) iplug::IPlugAPPHost::InitProcessor: [Thread ID: 26548]
Cabbage DEBUG: Connection established
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (302) iplug::IPlugAPPHost::InitWebSocket::<lambda_a340d025fdb4d03c07480b576bb87f67>::operator (): [Thread ID: 24692]
Cabbage DEBUG: Interface has loaded.
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageProcessor.cpp (156) CabbageProcessor::interfaceHasLoaded: [Thread ID: 24692]
Cabbage DEBUG: couldn't find previous audio device, reseting to default
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (841) iplug::IPlugAPPHost::TryToChangeAudio: [Thread ID: 26548]
Cabbage DEBUG: Attempting to start audio with the following settings:
SR: 44100
Buffer Size: 512
Input device: Primary Sound Capture Driver
Number of channels: 2
Output device: Primary Sound Driver
Number of channels: 2
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (1005) iplug::IPlugAPPHost::InitAudio: [Thread ID: 26548]
WARNING:
could not open library 'C:\Program Files\Csound7\plugins64\\osc.dll' (-1)
UnifiedCSD: c:\Projects\csound_stuff\cabbage3\simple_tests\button_example.csd
rtaudio: PortAudio module enabled ...
using callback interface
--Csound version 7.0 (double samples) Jan 8 2025[commit: 054f3b50878e6456165a3f338761dfe4a9aae6d1]
libsndfile-1.2.2
sr = 48000.0,
kr = 1500.000,
ksmps = 32
0dBFS level = 1.0,
A4 tuning = 440.0
audio buffered in 4096 sample-frame blocks
SECTION 1:
No need to worry about them, they are vscode things and have no effect on Cabbage. It’s failing because it’s not able to verify the widget types, which would seem to indicate that Cabbage can’t find the widget descriptors inside the vscode extension. So you don’t have any non-ascii chars in the path to the vscode extension dir? The .vscode folder is usually stored in C:/Users/UserName/.vscode/extensions
In the meantime there is another another build underway with yet more debug logging. I’m focusing for now on the Cabbage output console, I think the JS stuff is Ok.
I just did some tests here and I can cause a fail too if I try using paths that contain non ascii chars. Whether this is the problem or not on your end, it’s an issue I need to sort out regardless.
Been gone a couple days, but I tested the newest version now, and the export (both synth and effect) ran successfully for me. When compiling the instrument, I get this error in the Cabbage output. Still the white screen with the Cabbage logo
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
2
2
Cabbage DEBUG: Resetting csound ...
csound = 0x000001F9E3F717C0
D:\a\vscabbage\vscabbage\cabbage3\src\Cabbage.cpp (107) cabbage::Engine::setupCsound: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: Couldn't find type for:[
{"type":"form","caption":"Button Example","size":{"width":380,"height":300},"pluginId":"def1"},
{"type":"button","bounds":{"left":16,"top":12,"width":117,"height":30},"channel":"trigger","text":{"off":"Start Synth","on":"Stop Synth"},"corners":2},
{"type":"button","bounds":{"left":146,"top":12,"width":80,"height":30},"channel":"mute","text":{"off":"Unmute","on":"Mute"},"corners":2},
{"type":"button","channel":"toggleFreq","bounds":{"left":240,"top":12,"width":121,"height":30},"text":{"off":"Toggle Freq","on":"Toggle Freq"},"colour":{"off":{"fill":"#ff0000","stroke":"#000000"},"on":{"fill":"#0295cf","stroke":"#000000"}}}
]
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (105) cabbage::Parser::parseContent: [Thread ID: 9204]
Cabbage DEBUG: IPlugAPPHost::IPlugAPPHost
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (42) iplug::IPlugAPPHost::IPlugAPPHost: [Thread ID: 9204]
Cabbage DEBUG:
RtAudio Version 6.0.1
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (659) iplug::IPlugAPPHost::ProbeAudioIO: [Thread ID: 9204]
Cabbage DEBUG: Assigning called host callback function.
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (136) iplug::IPlugAPPHost::InitProcessor: [Thread ID: 9204]
Cabbage DEBUG: Connection established
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (302) iplug::IPlugAPPHost::InitWebSocket::<lambda_a340d025fdb4d03c07480b576bb87f67>::operator (): [Thread ID: 14048]
Cabbage DEBUG: Interface has loaded.
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageProcessor.cpp (156) CabbageProcessor::interfaceHasLoaded: [Thread ID: 14048]
Cabbage DEBUG: couldn't find previous audio device, reseting to default
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (841) iplug::IPlugAPPHost::TryToChangeAudio: [Thread ID: 9204]
Cabbage DEBUG: Attempting to start audio with the following settings:
SR: 44100
Buffer Size: 512
Input device: Primary Sound Capture Driver
Number of channels: 2
Output device: Primary Sound Driver
Number of channels: 2
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (1005) iplug::IPlugAPPHost::InitAudio: [Thread ID: 9204]
WARNING:
could not open library 'C:\Program Files\Csound7\plugins64\\osc.dll' (-1)
UnifiedCSD: c:\Users\Dale\Documents\Work\Cabbage 3\button.csd
rtaudio: PortAudio module enabled ...
using callback interface
--Csound version 7.0 (double samples) Jan 8 2025[commit: 054f3b50878e6456165a3f338761dfe4a9aae6d1]
libsndfile-1.2.2
sr = 48000.0,
kr = 1500.000,
ksmps = 32
0dBFS level = 1.0,
A4 tuning = 440.0
audio buffered in 4096 sample-frame blocks
SECTION 1:
What’s happening is the Cabbage service app can’t find the widget source files. Can you open:
C:\Users\<USER_NAME>\AppData\Local\Cabbage\settings.json
and take a look at the jsSourceDir
property? If I set a path that has non ascii chars, Cabbage doesn’t read it correctly, and if Cabbage can’t find the widget files it can’t verify the widget types, hence the
Cabbage DEBUG: Couldn't find type for:
messages. So either there are non-ascii chars, or the path is simply empty. If the path is empty, you can use the command palette in vscode to browse for the source path. Select the ‘src’ path within the Cabbage vscode extension folder. Then try again. If the path is not empty we need to figure out why it’s not reading it.
[edit] When I set my jsSourceDir
to a path with the following string in it Münsterländer
Cabbage reads it as Münsterländer
. There’s clearly an encoding issue. I just want to confirm this is also the problem you guys might be having.
I triggered a new build just now that will print the value of the jsDirSource property in the Cabbage output console if the path can’t be read. If my suspicions are correct, you should see it print a path that is not valid.
Here’s the settings.json file.
{
"currentConfig": {
"audio": {
"buffer": 512,
"driver": 0,
"in1": 1,
"in2": 2,
"inputDevice": "Default Device",
"out1": 1,
"out2": 2,
"outputDevice": "Default Device",
"sr": 44100
},
"jsSourceDir": "",
"midi": {
"inChan": 0,
"inputDevice": "off",
"outChan": 0,
"outputDevice": "off"
}
},
"systemAudioMidiIOListing": {
"audioDrivers": [
"DirectSound",
"ASIO"
],
"audioInputDevices": {
"Microphone Array (Realtek(R) Audio)": {
"deviceId": 132,
"numChannels": 2
},
"Primary Sound Capture Driver": {
"deviceId": 131,
"numChannels": 2
}
},
"audioOutputDevices": {
"Default Device": {
"numChannels": 2,
"sampleRates": [
4000,
5512,
8000,
9600,
11025,
16000,
22050,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
},
"Primary Sound Driver": {
"deviceId": 129,
"numChannels": 2,
"sampleRates": [
4000,
5512,
8000,
9600,
11025,
16000,
22050,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
},
"Speaker (Realtek(R) Audio)": {
"deviceId": 130,
"numChannels": 2,
"sampleRates": [
4000,
5512,
8000,
9600,
11025,
16000,
22050,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
}
},
"midiOutputDevices": {
"Microsoft GS Wavetable Synth 0": {
"deviceId": 0
}
}
}
}
Ok. Did you try setting the jsSourceDir using the command palette? That should update the jsSourceDir property. @Lovre, is this the same for you?
I managed just to briefly look my settings.json file and similar to @hdale94 my
"jsSourceDir": ""
I will try this evening to sit on my pc and try setting the jsSourceDir using the command palette and then I will let you know
That did it!!! I needed to manually set jsSourceDir
; command palette didn’t work (maybe I did something wrong there) but when I manually modified settings.json file "jsSourceDir": "C:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.17-alpha/src"
that did the trick. I needed to restart VScode
Great to hear that. Now I have to figure out why it doesn’t work. vscode should be able to find the path of any extensin it’s running. Not sure why it can’t hear. But I will find out
Whohoo! Congrats!
Congrats!! I really look forward to using Cabbage3 and its webui features!
I installed Csound7 and tried to run an example, do you know where the UI/compiled instrument is supposed so show up? I don’t know if there is a bug or if I’m doing something wrong.
I’m on MacOS Sonoma, on a MBP M3.
2
2
File is empty, using default settings.
UnifiedCSD: /Users/julienbeisel/Desktop/GitRepos/Cabbage3Projects/test.csd
--Csound version 7.0 (double samples) Jan 7 2025[commit: 6f7dfd8d3434c9c6f8be3d02110be2fcc5613cfb]
libsndfile-1.2.2
sr = 48000.0,
kr = 1500.000,
ksmps = 32
0dBFS level = 1.0,
A4 tuning = 440.0
audio buffered in 1024 sample-frame blocks
SECTION 1:
backtrace() returned 25 addresses
0 CsoundLib64 0x000000010346bfe4 signal_handler + 52
1 libsystem_pthread.dylib 0x000000018853ac20 pthread_kill + 288
2 libsystem_c.dylib 0x0000000188447a20 abort + 180
3 libc++abi.dylib 0x00000001884f1d30 _ZN10__cxxabiv130__aligned_malloc_with_fallbackEm + 0
4 libc++abi.dylib 0x00000001884e1fcc _ZL28demangling_terminate_handlerv + 320
5 libobjc.A.dylib 0x00000001881801e0 _ZL15_objc_terminatev + 160
6 libc++abi.dylib 0x00000001884f10f4 _ZSt11__terminatePFvvE + 16
7 libc++abi.dylib 0x00000001884f4348 __cxa_get_exception_ptr + 0
8 libc++abi.dylib 0x00000001884f428c _ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0
9 CabbageApp 0x00000001025e6370 _ZN8nlohmann16json_abi_v3_11_26detail10serializerINS0_10basic_jsonINSt3__13mapENS4_6vectorENS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEbxydSA_NS0_14adl_serializerENS6_IhNSA_IhEEEEEEE12dump_escapedERKSC_b + 1032
10 CabbageApp 0x00000001025e4f5c _ZN8nlohmann16json_abi_v3_11_26detail10serializerINS0_10basic_jsonINSt3__13mapENS4_6vectorENS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEbxydSA_NS0_14adl_serializerENS6_IhNSA_IhEEEEEEE4dumpERKSG_bbjj + 256
11 CabbageApp 0x00000001025e57f0 _ZN8nlohmann16json_abi_v3_11_26detail10serializerINS0_10basic_jsonINSt3__13mapENS4_6vectorENS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEbxydSA_NS0_14adl_serializerENS6_IhNSA_IhEEEEEEE4dumpERKSG_bbjj + 2452
12 CabbageApp 0x00000001025e4f94 _ZN8nlohmann16json_abi_v3_11_26detail10serializerINS0_10basic_jsonINSt3__13mapENS4_6vectorENS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEbxydSA_NS0_14adl_serializerENS6_IhNSA_IhEEEEEEE4dumpERKSG_bbjj + 312
13 CabbageApp 0x00000001025df8f8 _ZNK8nlohmann16json_abi_v3_11_210basic_jsonINSt3__13mapENS2_6vectorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEbxydS8_NS0_14adl_serializerENS4_IhNS8_IhEEEEE4dumpEicbNS0_6detail15error_handler_tE + 504
14 CabbageApp 0x000000010266e2c0 _ZN5iplug12IPlugAPPHost14UpdateSettingsEv + 3200
15 CabbageApp 0x000000010266b870 _ZN5iplug12IPlugAPPHost4InitEv + 204
16 CabbageApp 0x000000010268829c SWELLAppMain + 1176
17 CoreFoundation 0x000000018860dfe8 -[NSSet makeObjectsPerformSelector:] + 176
18 AppKit 0x000000018be52bf0 -[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 824
19 AppKit 0x000000018be48594 loadNib + 340
20 AppKit 0x000000018be47bc4 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 560
21 AppKit 0x000000018be478c8 -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 180
22 AppKit 0x000000018be476ec +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 300
23 AppKit 0x000000018be3adcc NSApplicationMain + 488
24 dyld 0x00000001881b20e0 start + 2360
Ah, a Mac user at last I think ( I hope ) you missed most of the fun regarding teh UI not showing in the previous 60+ messages! Can you open your Cabbage settings file, it’s located at ~/Library/Application Support/Cabbage/settings.json
and check that the jsSourceDir property isn’t empty? If it is, go back to vscode and from the command palette select Cabbage: Select path to Cabbage source
. Then browse to the extension directory (~/.vscode/extensions…) and select the ‘src’ folder. It should hopefully load then the next time you try to compile. I’m looking into a fix.
Thanks! Actually the settings.json file was empty, so I took the one from a post above, set manually jsSourceDir and it looks like it’s now working.
I’ll continue my tests!
@Lovre / @nymano / @hdale94 would one of you mind checking something for me. Can you close vscode, then rename the settings.json file to something else before you reopening. Then have a look at the Cabbage output. A message should appear saying either
Cabbage: extension path: ...
or
Cabbage: Extension not found
This message only appears if vscode can’t find settings.json, at which point it should create the file. I’m curious what it says in your case. It should show the path to the vscode extension directory.
I renamed settings.json -> settings_.json, reopened vscode, and “Cabbage extension is now active!” was printed in the console.
A new settings.json was automatically created and contains this information:
{
"currentConfig": {
"audio": {},
"jsSourceDir": "/Users/julienbeisel/.vscode/extensions/cabbageaudio.vscabbage-1.0.19-alpha/src",
"midi": {}
},
"systemAudioMidiIOListing": {
"audioDrivers": "",
"audioInputDevices": {},
"audioOutputDevices": {},
"midiInputDevices": {},
"midiOutputDevices": {}
}
}
That’s interesting. I’m not sure why it fails to find it first time around. But once the file is there you’re good to go. Updating the extension does not overwrite it. All the same, I’ve now added a ‘Reset Cabbage settings…’ command for users facing the same problem. Executing this command will nuke the settings file, so that the extension can create a new one. A bit clunky, but better than having to do it manually.
@Oeyvind I can’t wait for up to update this with native web rendering It was a bit of a CPU hog, but looks amazing. I’m sure it will hardly register with the new web UI.