Cabbage Logo
Back to Cabbage Site

VCV rack plugin export not showing

Hey Rory, how you doing? :slight_smile: been a short while since I’ve been here. Hope everyone staying well and safe.

I tried (for the first time) exporting to VCV, but it doesn’t seem to show up. Is this functionality working currently?

Also - not technically Cabbage, but how trivial (or not) would it be to create Csound api integration for VCV Prototype plugin?

Mojave 10.14.6
Cabbage 2.5.0/Csound 6.15
VCV rack 1.16

I recently updated the VCV Rack interfaces.

These work with the newest VCV Rack. I’ve had positive reports about them working. Check the forum. On the other hand, I don’t use them at all.

Interesting. I imagine it wouldn’t be much work, but I can’t say without having a proper look at the API. I might take a look a little alter. I’d be all over it IF I used VCV Rack :laughing:

haha great - I’ll check them out thank you.

Seems like a useful addition to have - Pd and SuperCollider have integrations, so it seems criminal for Csound to be absent heh. (I’m keen to get my hands dirty in a little C++ code as job might require it sometime soon, so this might be a useful exercise. Massive overstatement of the year to say it will be a simple exercise :sweat_smile:)

It’s probably a little more restricted than the Cabbage rack interface in so far as you only have access to a handful of widgets, but that’s not a bad thing either.

[edit] this is probably something I could implement relatively quickly. Let me know if you would like me to go ahead and do it. I don’t want to rob you of the opportunity either :+1:

i think the usefulness I saw was where I have a Csound patch that isn’t complete enough to ‘bake’ into a plugin, or, in a state of iteration, but I’d want to blend into a VCV rack patch and jam with. But equally generating a CabbageRack plugin gives me access to the juicy Micropolyphony instrument and more.

I think the main obstacle would be knowing where to start! I mean I grasp the fundamentals - need to take that bit and plumb in those bits to those bits, but I think seeing an initial bit of code would help massively. I’m a software developer by trade and I’m not a stranger to looking through C++ src code, but it has a habit of throwing syntax curveballs (a zillion ways to do things) at you that can make one lose focus!

I can tell you from experience that setting up a build environment for VCV Rack on Windows is a total pain. Linux and OSX are not too bad. I might take a look a little later on.

I’m just looking into this now. I always find the dev docs for VCV Rack to be really minimal, with a lot of reading between the lines. :roll_eyes:

I have this working here now apart from some UI sugar. Here is my forked repo. Feel free to dig in.

If you wish to add something or change something just make a PR. We can try to thrash the rest of it out together.

bloody 'ell you’re quick! thanks so much for checking this out :smiley: I will take a look…

Separately, I was actually trying to build the CabbageRack plugin. I assume that I don’t need to build Rack first, just download the sdk and make the template plugin? that all works… but the bit about cd’in to Rack/plugins to clone the repo - is that in the ~/Documents/Rack directory?

OK I still need to clone the Rack repo, doh. See what you mean about the docs.

That seemed to build. I had to change the line include ../ to include ../../ in Makefile.osx as it couldn’t locate it.

Perhaps I’m being a touch dim, but I assume that I then copy the CabbageRack folder into the plugins-v1 folder? I’m not familiar with installing a plugin manually…

Correct. Did you get it working Ok?

Btw, here is a version of VCV-Prototype for Csound for MacOS. I’ve included two simple .csd files, a signal modifier and a signal generator. I now need to make sure it works and compiles on Windows and Linux. After that I’ll make a PR and hopefully they will include it with prototype for all future versions. (160.1 KB)

[edit] this has to go into plugins-v1 folder…

Wow that’s amazing, I’ll check out what you did for sure

I didn’t actually get the CabbageRack plugin I built to show up in Rack last night. Seems to have compiled the plugin:

I packaged it up into a zip and named it as per instructions here

When you launch the Rack app it automatically unpacks and installs it. I assume that it should show up in the list of brands but it doesn’t. I need to look into the as it has some useful commands

thanks for the Prototype thingie

You should run make dist. Btw are you using the very latest version of Rack? I just tried an export here on MacOS and it shows up fine in my Rack interface. I open the example .csd and export as a Rack module. All good.

I’m using the 1.1.6 (stable) version. I ran make -f Makefile.osx dist and it spat out a new zip file with correct naming conventions. Added that to ~/Documents/Rack/plugins-v1, then restarted Rack which installed it.

this is the result of the build, but there is no .csd file accompanying the package, is that weird or to be expected?:

But, at this point, I should at least see something in the brands list, right?

I feel like I’m not connecting the dots somewhere: so I’ve build the CabbageRack plugin, but then I export one of the example .csd files from Cabbage using the Export as a VCV Rack Module function. How does A know about B, or am I barking up the wrong tree?

Just tried the Prototype plugin – it’s awesome man thanks

like the cheeky tickertape plug :joy: btw the signalGenerator example didn’t compile because this line was absent:

gSText init "Welcome to Csound VCV-Prototype. Did you know Csound can run on all major platforms, including iOS, and Android. It can also run in all major browsers. Did you know there are plugin wrappers for VST, AU, Unity and UE4. There are also language wrappers in C/C++, Python, Lua, JS, Java, C#, etc. And it can be used direclty in Pd and Max using the csound~ and csoundapi~ objects."

I thought i’d create a PR to fix it, but the examples dir doesn’t contain the .csd files. Has it been pushed to the repo?

No, they haven’t actually. I’ll fix that and push. Cheers.

This is pushed now.

They don’t. Inside the Cabbage app bundle there is already a CabbageRack plugin. When you export from Cabbage, it automatically renames the Rack Module and includes the files needed to run it. If you wish to use your own version of CabbageRack you will manually have to create your module. Instructions are given in the repo readme.

Hi @rorywalsh, today I found this thread, so I thought I could try and build your VCV-Prototype fork, for Windows 10.
I only had to add the line LDFLAGS += -Wl,--export-all-symbols to the Win conditional clause in the Makefile, otherwise Rack could not load it, logging a ‘Failed to read init() symbol’ error.
With the added line I could build the plugin, and create the dist zipfile, that has to be dropped in the plugins-v1 folder living inside the Documents/Rack installation folder.
The plugin looks great, and I was able to run both examples.
I upload my Windows test-release here for your convenience, and maybe for testing by other users.
Thanks for your work!
Best (152.1 KB)

Nice one. I built on Windows but never tested. Thanks for this. I’m not sure how to handle the deps in the makefile. Do you have any experience with that stuff?