Cabbage Logo
Back to Cabbage Site

Cabbage3 alpha release

Same thing i think…

I cleared the console and compiled the cabbage instrument

Yes, but I don’t see any Pushing widget to widgets array messages. This interfae is not loaded because the websocket commands are not arriving. So the order of events seems screwed up. I will take a look. Nothing should happen until the websocket connction is made. So you and @hdale94 are having issue on Windows when it comes to showing an instrument in VS-Code. @Kzz and I are able to run instrument without an issue. I wonder what the difference is. I would love to be able to recreate the issue. I have some ideas. I’ll let you know.

Ok. good luck :crossed_fingers:

I just pushed another update now and made a few small changes to how things are called. Hopefully this might have a positive effect on the UI in vscode issue. Let me know. It should be ready shortly in the releases page.

I installed your 1.0.8 version. Restarted VSCode and recompiled your button example but it still doesn’t load web frontend…

Can you restart vscode, try to compile again, and then copy and paste the entire console log? Thanks. We’ll find a fix for this :smiley:

Of course. Here:

In text:

console.ts:137 [Extension Host] 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
webviewElement.ts:486 An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo @ webviewElement.ts:486
P @ overlayWebview.ts:249
claim @ overlayWebview.ts:135
claim @ webviewEditorInput.ts:138
hb @ webviewEditor.ts:172
setInput @ webviewEditor.ts:163
await in setInput
U @ editorPanes.ts:447
M @ editorPanes.ts:255
openEditor @ editorPanes.ts:132
(anonymous) @ editorGroupView.ts:1274
Kb @ editorGroupView.ts:1298
Jb @ editorGroupView.ts:1256
openEditor @ editorGroupView.ts:1160
openEditor @ editorService.ts:581
openWebview @ webviewWorkbenchService.ts:293
$createWebviewPanel @ mainThreadWebviewPanels.ts:167
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] Local resource roots: {$mid: 1, path: '/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.8-alpha/media', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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] Local resource roots: {$mid: 1, path: '/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.8-alpha/src', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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
cabbage.js:5 loading cabbage.js
widgetTypes.js:5 loading widgetTypes.js...
eventHandlers.js:6 loading eventHandlers.js
eventHandlers.js:49 vscode is null, not loading PropertyPanel
widgetManager.js:5 Loading widgetManager.js...
sharedState.js:13 Setting vscode instance
setVSCode @ sharedState.js:13
(anonymous) @ main.js:34
main.js:55 Loading modules in main.js
main.js:62 Modules loaded in main.js: {propertyPanelModule: Module, widgetWrapperModule: Module}
widgetWrapper.js:13 Initializing interact https://file%2B.vscode-resource.vscode-cdn.net/c%3A/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.8-alpha/src/interact.min.js
cabbage.js:30 sending custom command from UI {command: 'cabbageIsReadyToLoad', text: '{}'}

So in this case you have no “Conection established” message, which means the websocket is not connecting. That’s Odd…

Ok, i’ve just pushed a new build with extra error logging in the compile function. Hopefully we should get a better idea of what’s going on. Thanks for your patience, I really appreciate it. It’s hard to debug these things we they can’t be created locally :frowning:

Really no problem. I know those problems much better then I would like :sweat_smile:

text:

console.ts:137 [Extension Host] [relatedFiles] unknown language csound-csd
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: 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
webviewElement.ts:486 An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo	@	webviewElement.ts:486
P	@	overlayWebview.ts:249
claim	@	overlayWebview.ts:135
claim	@	webviewEditorInput.ts:138
hb	@	webviewEditor.ts:172
setInput	@	webviewEditor.ts:163
await in setInput		
U	@	editorPanes.ts:447
M	@	editorPanes.ts:255
openEditor	@	editorPanes.ts:132
(anonymous)	@	editorGroupView.ts:1274
Kb	@	editorGroupView.ts:1298
Jb	@	editorGroupView.ts:1256
openEditor	@	editorGroupView.ts:1160
openEditor	@	editorService.ts:581
openWebview	@	webviewWorkbenchService.ts:293
$createWebviewPanel	@	mainThreadWebviewPanels.ts:167
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.9-alpha/media', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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.9-alpha/src', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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: onDidSave c:\Projects\csound_stuff\cabbage3\simple_tests\button_example.csd
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.9-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

Output in VSCode:

2
2
Cabbage DEBUG: Resetting csound ...
csound = 0x0000021B85E23010
D:\a\vscabbage\vscabbage\cabbage3\src\Cabbage.cpp (107) cabbage::Engine::setupCsound:  [Thread ID: 15156]

Cabbage DEBUG: IPlugAPPHost::IPlugAPPHost
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (42) iplug::IPlugAPPHost::IPlugAPPHost:  [Thread ID: 15156]

Cabbage DEBUG: 
RtAudio Version 6.0.1
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (654) iplug::IPlugAPPHost::ProbeAudioIO:  [Thread ID: 15156]

Cabbage DEBUG: Connection established
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (297) iplug::IPlugAPPHost::InitWebSocket::<lambda_1fac90b626a2df9d3660eda2090c73bb>::operator ():  [Thread ID: 21460]

Cabbage DEBUG: Interface has loaded.
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageProcessor.cpp (156) CabbageProcessor::interfaceHasLoaded:  [Thread ID: 21460]

Cabbage DEBUG: couldn't find previous audio device, reseting to default

D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (836) iplug::IPlugAPPHost::TryToChangeAudio:  [Thread ID: 15156]

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 (1000) iplug::IPlugAPPHost::InitAudio:  [Thread ID: 15156]

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:

I’ve added a Cabbage: to all console log messages now, so if you filter with Cabbage: things are a little easier to read. But I get the important parts of this anyway - there is an issue with the websocket. This promise doesn’t seem to be returning for some reason. I’ve tried another fix now. The new build should be ready in a short while. :+1:

[edit] I’m till wrangling with this. it’s definitely a websocket thing. I don’t think my last fix resolved it. I’m looking for a more robust solution…

@Lovre, I’ve a new build waiting for you. :crossed_fingers:

Hi Rory! Juts tested it in the same way as before. Installed your new 1.0.13 version. Restarted VScode and recompiled your button example. Unfortunately it still doesn’t work :woozy_face:

Console output 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
webviewElement.ts:486 An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo @ webviewElement.ts:486
P @ overlayWebview.ts:249
claim @ overlayWebview.ts:135
claim @ webviewEditorInput.ts:138
hb @ webviewEditor.ts:172
setInput @ webviewEditor.ts:163
await in setInput
U @ editorPanes.ts:447
M @ editorPanes.ts:255
openEditor @ editorPanes.ts:132
(anonymous) @ editorGroupView.ts:1274
Kb @ editorGroupView.ts:1298
Jb @ editorGroupView.ts:1256
openEditor @ editorGroupView.ts:1160
openEditor @ editorService.ts:581
openWebview @ webviewWorkbenchService.ts:293
$createWebviewPanel @ mainThreadWebviewPanels.ts:167
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.13-alpha/media', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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.13-alpha/src', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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.13-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

If you think that this is a issue specific to my pc configuration we can just leave it and maybe it will be solved sporadically in the future :man_shrugging: otherwise whenever you have new version I will test it :beers:

Thanks for checking it out. Can you filter the output messages with Cabbage: and copy and paste me the log? There is a lot of noise there.

Btw, what example are you trying to run here? It would be good if we were trying the same one at least.

It is the same example. That is yours Cabbage3 Button example.

Here is the filtered output:

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.13-alpha/media', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
$mid
: 
1
authority
: 
"file+.vscode-resource.vscode-cdn.net"
path
: 
"/c:/Users/lovre/.vscode/extensions/cabbageaudio.vscabbage-1.0.13-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.13-alpha/src', scheme: 'https', authority: 'file+.vscode-resource.vscode-cdn.net'}
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
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
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.13-alpha/src/interact.min.js
cabbage.js:30 Cabbage: sending custom command from UI 
{command: 'cabbageIsReadyToLoad', text: '{}'}
console.ts:137 [Extension Host] Cabbage: Received message: 
{command: 'cabbageIsReadyToLoad', text: '{}'}
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: Received message: 
{command: 'cabbageIsReadyToLoad', obj: '"loaded"'}
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

Thanks. I’ll keep chugging away with it :slight_smile:

[update] the good news is that the websocket now looks sorted. The bad news is the problem must be somewhere else. How about the console output? I assume you don’t see the following message:

Cabbage DEBUG: Interface has loaded.

@Lovre I just pushed another build. I don’t expect it to fix anything, but I’ve a added a few more debug statements. Can you try it and let me know. It looks like the websocket messages from the CabbageApp are not being sent. Some context here. When the CabbageApp loads, it reads the .csd file and parses the JSON section. It then sends the JSON data to vscode. It looks like these messages are not received, which is odd considering the websocket connection seems valid. We’ll keep at it :slight_smile:

Hi Rory! Here are the new outputs:

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.16-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.16-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.16-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.16-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.16-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
workbench.html:1 Access to fetch at 'https://www.vscode-unpkg.net/_gallery/cabbageaudio/vscabbage/latest' from origin 'vscode-file://vscode-app' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
requestImpl.ts:33 
        
        
       GET https://www.vscode-unpkg.net/_gallery/cabbageaudio/vscabbage/latest net::ERR_FAILED
cFs @ requestImpl.ts:33
(anonymous) @ requestService.ts:31
c @ request.ts:81
request @ requestService.ts:31
I @ extensionGalleryService.ts:1212
await in I
(anonymous) @ extensionGalleryService.ts:746
C @ extensionGalleryService.ts:739
getExtensions @ extensionGalleryService.ts:661
checkForUpdates @ extensionsWorkbenchService.ts:1894
await in checkForUpdates
(anonymous) @ extensionsWorkbenchService.ts:1104
B @ event.ts:1243
C @ event.ts:1254
fire @ event.ts:1278
set state @ updateIpc.ts:50
(anonymous) @ updateIpc.ts:54
B @ event.ts:1243
fire @ event.ts:1274
l @ ipc.ts:691
t @ ipc.ts:759
s @ ipc.ts:748
(anonymous) @ ipc.ts:550
B @ event.ts:1243
C @ event.ts:1254
fire @ event.ts:1278
Ce @ event.ts:577
emit @ VM4 sandbox_bundle:2
onMessage @ VM4 sandbox_bundle:2
log.ts:445   ERR [network] #50: https://www.vscode-unpkg.net/_gallery/cabbageaudio/vscabbage/latest - error GET Failed to fetch

Console output:

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

2
2
Cabbage DEBUG: Resetting csound ...
csound = 0x000001EF3D69B2C0
D:\a\vscabbage\vscabbage\cabbage3\src\Cabbage.cpp (107) cabbage::Engine::setupCsound:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: null
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageParser.cpp (100) cabbage::Parser::parseContent:  [Thread ID: 24872]

Cabbage DEBUG: IPlugAPPHost::IPlugAPPHost
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (42) iplug::IPlugAPPHost::IPlugAPPHost:  [Thread ID: 24872]

Cabbage DEBUG: 
RtAudio Version 6.0.1
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (654) iplug::IPlugAPPHost::ProbeAudioIO:  [Thread ID: 24872]

Cabbage DEBUG: Connection established
D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (297) iplug::IPlugAPPHost::InitWebSocket::<lambda_1fac90b626a2df9d3660eda2090c73bb>::operator ():  [Thread ID: 25508]

Cabbage DEBUG: Interface has loaded.
D:\a\vscabbage\vscabbage\cabbage3\src\CabbageProcessor.cpp (156) CabbageProcessor::interfaceHasLoaded:  [Thread ID: 25508]

Cabbage DEBUG: couldn't find previous audio device, reseting to default

D:\a\vscabbage\vscabbage\cabbage3\src\app\CabbageAPP_host.cpp (836) iplug::IPlugAPPHost::TryToChangeAudio:  [Thread ID: 24872]

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 (1000) iplug::IPlugAPPHost::InitAudio:  [Thread ID: 24872]

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:

I hope this helps :crossed_fingers:

Always helps, thanks :slight_smile: Can you confirm you’re testing with version 1.0.16?

There is another build waiting if you don’t mind. With a few more debug statements thrown in :slight_smile: