Cabbage Logo
Back to Cabbage Site

Cabbage 3 - latest rewrite

Sorry @Alejo, for some reason my last few attempts to make a release failed. Should be building now with a new tag. Let me know :slightly_smiling_face:

I haven’t had any luck with this version either; something seems to be wrong with the audio detection. I found an old settings.json file I had saved where the ASIO drivers did appear, and I can see the drivers correctly. This confirms that the current drivers listed in settings.json aren’t ASIO. That settings.json file with ASIO is version 1.0.31. I tested that version, and I did get sound with that configuration. I’ve tried replacing the current settings.json file with the one that had the ASIO drivers in the latest version of Cabbage 3, but it didn’t work:
settings.json (with ASIO/1.0.31):
{
“currentConfig”: {
“audio”: {
“bufferSize”: 256,
“driver”: 1,
“in1”: 1,
“in2”: 2,
“inputDevice”: “MOTU Pro Audio”,
“out1”: 1,
“out2”: 2,
“outputDevice”: “MOTU Pro Audio”,
“sr”: 48000
},
“jsSourceDir”: “c:/Users/ALE/.vscode/extensions/cabbageaudio.vscabbage-1.0.31-alpha/src”,
“midi”: {
“inChan”: 0,
“inputDevice”: “off”,
“outChan”: 0,
“outputDevice”: “off”
}
},
“systemAudioMidiIOListing”: {
“audioDrivers”: [
“DirectSound”,
“ASIO”
],
“audioInputDevices”: {
“Generic Low Latency ASIO Driver”: {
“deviceId”: 129,
“numChannels”: 2
},
“M-Audio Fast Track Ultra ASIO”: {
“deviceId”: 130,
“numChannels”: 8
},
“M-Audio M-Track 2X2M ASIO”: {
“deviceId”: 131,
“numChannels”: 2
},
“MOTU Pro Audio”: {
“deviceId”: 132,
“numChannels”: 34
},
“Steinberg built-in ASIO Driver”: {
“deviceId”: 133,
“numChannels”: 2
},
“Virus USB ASIO driver”: {
“deviceId”: 134,
“numChannels”: 2
}
},
“audioOutputDevices”: {
“Default Device”: {
“numChannels”: 2,
“sampleRates”: [
44100,
48000,
96000
]
},
“Generic Low Latency ASIO Driver”: {
“deviceId”: 129,
“numChannels”: 2,
“sampleRates”: [
44100,
48000,
96000
]
},
“M-Audio Fast Track Ultra ASIO”: {
“deviceId”: 130,
“numChannels”: 8,
“sampleRates”: [
44100,
48000,
88200,
96000
]
},
“M-Audio M-Track 2X2M ASIO”: {
“deviceId”: 131,
“numChannels”: 2,
“sampleRates”: [
44100,
48000,
88200,
96000,
176400,
192000
]
},
“MOTU Pro Audio”: {
“deviceId”: 132,
“numChannels”: 18,
“sampleRates”: [
44100,
48000,
88200,
96000,
176400,
192000
]
},
“Steinberg built-in ASIO Driver”: {
“deviceId”: 133,
“numChannels”: 2,
“sampleRates”: [
4000,
8000,
9600,
16000,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
},
“Virus USB ASIO driver”: {
“deviceId”: 134,
“numChannels”: 2,
“sampleRates”: [
44100
]
}
},
“midiInputDevices”: {
“2- M-Track 2X2M 2”: {
“deviceId”: 2
},
“3- Fast Track Ultra External 0”: {
“deviceId”: 0
},
“MOTU Pro Audio LTC Sync In 1”: {
“deviceId”: 1
},
“USB2.0-MIDI 3”: {
“deviceId”: 3
},
“loopMIDI Port 1 5”: {
“deviceId”: 5
},
“wavestate1 4”: {
“deviceId”: 4
}
},
“midiOutputDevices”: {
“2- M-Track 2X2M 2”: {
“deviceId”: 2
},
“3- Fast Track Ultra External 1”: {
“deviceId”: 1
},
“MIDIOUT2 (USB2.0-MIDI) 4”: {
“deviceId”: 4
},
“Microsoft GS Wavetable Synth 0”: {
“deviceId”: 0
},
“USB2.0-MIDI 3”: {
“deviceId”: 3
},
“loopMIDI Port 1 6”: {
“deviceId”: 6
},
“wavestate1 5”: {
“deviceId”: 5
}
}
}
}
settings.json (1.0.48/NO ASIO):

{
“currentConfig”: {
“audio”: {
“bufferSize”: 256,
“outputDevice”: “Speakers (MOTU Pro Audio)”,
“sr”: 48000
},
“jsSourceDir”: “c:/Users/ALE/.vscode/extensions/cabbageaudio.vscabbage-1.0.47-alpha/src”,
“midi”: {}
},
“systemAudioMidiIOListing”: {
“audioDrivers”: “”,
“audioInputDevices”: {
“In 1-2 (MOTU Pro Audio)”: {
“deviceId”: 131,
“numChannels”: 2
},
“In 1-24 (MOTU Pro Audio)”: {
“deviceId”: 132,
“numChannels”: 24
}
},
“audioOutputDevices”: {
“Out 1-24 (MOTU Pro Audio)”: {
“deviceId”: 129,
“numChannels”: 24,
“sampleRates”: [
4000,
5512,
8000,
9600,
11025,
16000,
22050,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
},
“Speakers (MOTU Pro Audio)”: {
“deviceId”: 130,
“numChannels”: 2,
“sampleRates”: [
4000,
5512,
8000,
9600,
11025,
16000,
22050,
32000,
44100,
48000,
88200,
96000,
176400,
192000
]
}
},
“midiInputDevices”: {},
“midiOutputDevices”: {}
}
}

Thanks for your patience @Alejo, I’m looking into this now

[edit] I have just triggered a new build which should address this issue. In teh meantime, you should be able to just add this to your JSON settings file in the “systemAudioMidiIOListing” object:

        "audioDrivers": [
            "DirectSound",
            "ASIO"
        ],

I’m testing the newest version now, experiencing this error when using the new “Run Cabbage”-button in the bottom right corner of vs code:

Cabbage DEBUG: Connection error: Unable to connect to localhost on port 80, error: Connect error: No error CabbageAPP_host.cpp (344) iplug::IPlugAPPHost::InitWebSocket::<lambda_fa49004c06161634de272b1d67177452>::operator () [Thread ID: 5160]

However, when using the normal save-funtionality, the instrument runs fine :thinking:

Also getting this error when loading the exported plugin in a DAW. The plugin name also got renamed to “CabbagePluginEffect” even though that is not I called it when exporting.

It looks like there might be a mismatch in your settings.json file. Can you replace all paths with an empty string?

Thanks, I cleared it. Now the terminal is showing this, but it didn’t open the new tab with the instrument? Or is it not supposed to? (using the “Run Cabbage”-button)

So that’s a change with the new rewrite. Now you simply start the Cabbage server in the background using the start Cabbage button on the bottom right hand side of the vscode program. When you save a .csd file it should launch the webview panel. I need to update the debug info.

Alright, so to run the instrument, I will either:

  • Click the “Run Cabbage”-button in the right corner, then save .csd to launch

or

  • Run the “Compile Cabbage instrument” command

correct?

Experiencing this when exporting to my desktop on windows 10:

  • Error occurs in output in vscode
    image

  • Plugin is still exported into a folder called the name I exported with, but contains a .vst3 file with a generic name inside

  • Error when loading plugin in Reaper

This. I should remove the compile command and it might lead to some confusion?

I’ll check out the export issue tomorrow. Leave it with me :+1:

I guess the save variant is the one earlier users will be most familiar with, so you could considering removing it.

1 Like

Sorry @hdale94, I didn’t get around to this today, it’s exam time here so I have to prioritise the work that actually pays! :slight_smile:

[edit] it seems that the vst3 are now being built as a single binary rather than a bundle on Windows. I find the bundle best as it means you can embed resources into it. Anyway, I’ll try to find the cause of that now.

2 Likes

I’m still waiting for one of the CLAP developers to get back to me on this. I’ll let you know when I know more.

1 Like

In the meantime, I’ve added support for single file vst3s. When exporting on Windows now, you MUST place your assets into the corresponding plugin resource folder in your ProgramData folder as described here. I would still like to support bundles on Windows, as I think it makes it easier to manage assets. But I will need to wait until the issue is resolved upstream.

1 Like

Appreciate it :+1:

I’m stilling having this issue when exporting on windows:

Error during plugin copy process:Error: ENOENT: no such file or directory, copyfile 'c:\Users\Dale\.vscode\extensions\cabbageaudio.vscabbage-1.0.49-alpha\src\CabbageBinaries\CabbagePluginEffect.vst3' -> 'c:\Users\Dale\Documents\Work\cabbage-react-example\cabbage\asd.vst3'

I notice that the referenced file-name are incorrect (missing _x64):

Arggh, can you move the files contained within those folders in the top level directory, i.e, CabbageBinaries?

Like this?

This actually produced another error when exporting:
Error during plugin copy process:Error: ENOENT: no such file or directory, open 'C:\Users\Dale\AppData\Local\Programs\Microsoft VS Code\extension-output-cabbageaudio.vscabbage-#1-Cabbage output'

No, inside those two folder are binaries with a .vst3 extension. They need to be placed into the CabbageBinaries directory. Just beside CabbageApp.exe

I did that now, and got this!:

Plugin successfully copied to:c:\Users\Dale\Desktop\test123456.vst3
:grin:

Edit: the plugin also loaded correctly in Reaper!

2 Likes