Cabbage Logo
Back to Cabbage Site

Creating custom UIs with Cabbage 3

I just installed the latest version. The first thing I did was select the path containing the CabbageApp.exe file, and did the same for the src dir. After that it works fined.

From the output you posted from the Cabbage terminal, it looks like it’s not starting the CabbageApp?

I triggered a new build just now. It should sort the problem of the path to the JS source. If it works, I’ll apply the same logic to the CabbageApp binary :+1:

Ok, I just tested the new build now. Before I started it I made sure that the path fields for the Cabbage src and Cabbage binary were empty. You can do this from the Cabbage extension settings. The first time I try to run after an install it fails because it’s updating the audio devices, but it runs fine on subsequent attempts. Let me know how it goes for you.

I’m assuming if we want to do the same thing in vanilla js, we would follow the same steps?

Yes. Same idea should work fine. As far as I am aware, Svelte actually compiles everything to Vanilla JS when you build a project. So although I used Svelete to generate my simple test, when it runs, it’s just plain old JS.

Made some progress with this but still running into some bumps… I’m able to export and drag the VST into my DAW, but it doesn’t show up anywhere. I’m pretty sure I’ve taken the right steps as you have but nothing showing up. might be something with macos, the only thing I’ve noticed which is strange is the info.plist doesn’t open correctly. Giving an error on line 26 something to do with the plist?

What OS are you on?

I’m seeing some issues here my my plugin exports too. I won’t have time to fully investigate until later today. I’ll let you know when it’s good to go :+1:

There is a new build out now that should work better. I fixed some things that were causing problems with the plugin UI :+1:

I just tested this with the custom UI I shared earlier in this thread and it’s working fine for me. I had to change teh name of the .csd file to match the name of the plugin, but once I did it opened and ran without issues.

I’m on Macos, the steps im taking are copying one of the examples, exporting as vst3, dragging the vst3 into my vst folder, at the bottom of ableton when rescanning I can see it show up as recognized but nothing else. Also, when trying to export as an AU i get this error:
image

It could be that I’m getting something wrong with how to load the plugin but that’s where I am so far. I’ve also tried opening the package contents of the vst and adding the contents from the binary (html, css, js + csd) as all of those were missing from the vst package. Even so, it doesn’t seem to show up

AU support is not entirely there yet. Have you signed the exported plugins? they won’t run in Live unless you do

I tried codesigning the vst using codesign -s - ./finaltest4now.vst --timestamp --force --deep but i just copied this from ur docs where you mentioned codesigning csound, didn’t change anything though.

can you try scanning it with pluginval?

Realized I was using the wrong folder… my apologies for the confusion, but works just as intended now! Just had to codesign the plugin. Time to experiment!

Great. Btw, I’m still working on the Cabbage 3 docs. If you think there is anything that should be added, please let me know, or feel free to make a PR. :+1:

Currently trying to make a UI with react, still a little confused on how to use the channel messages but i think im figuring it out, only error im getting is this:


If i wanted to change the frequency of lets say a poscil through react, would I be using sendParameterUpdate? or custom command to just cabbageSet the channel?

You can use Cabbage.sendParameterUpdate(). That sendMessageFromUI() should be valid. Are you using the most recent build of vscabbage?

I’ve held off diving into Cabbage 3, so I’m happy to beta test when you have a version of the documentation.

The docs can already be accessed here

1 Like