Cabbage Logo
Back to Cabbage Site

Standalone instruments and effects

Hi all,
is it possible to create standalone instruments and effects as an application that run without installing Cabbage?
I was thinking about that because I read it in the Cabbage website, but probably is referred to use Cabbage software standalone.

I’ve created an instrument with piezoelectric sensor to use with children at school and it would be easier to install it as an app. Otherwise I’ll install Cabbage at school and they can start to practice with csound. :smile:

Thanks!

This is possible, with a little care and attention! Did you have a read through this:
http://cabbageaudio.com/docs/distributing/
The only issue is that you will need to ensure that Csound is available. The latest versions of Cabbge will use the system wide Csound if it can’t find its own.

Ah, I get it, that’s fantastic!
So sorry, I was searching my answer in the “exporting” document! :sweat_smile:
What package builders you suggest to create an all in one installers?

I use NSIS. It’s pretty easy to use and you could easily hack the Cabbage script for your own needs:
https://github.com/rorywalsh/cabbage/blob/master/Builds/Windows/Cabbage64Installer.nsi

Many thanks, I’m still trying to write the correct code in NSIS, but soon or later I’ll update it in Cabbage Recipes! :grimacing:

Let me know if you need any help. It took me a while to get my head around it but I’m the end it’s not too bad :wink:

Hi rory,

Is there any chance to have some kind of manual explaining how to modify the cabbage script .nsi file, in order to create an standalone version of a cabbage instrument?

I’m pretty lost and would appreciate any help, Thanks!

Your on Windows? Are you talking about a completely standalone version of your instrument? The way this would be done is by launching Cabbage Lite via a simple bat script that passes the name of the input file. I can have a look tomorrow and get back to you. Of course users will need to have Csound/Cabbage installed. You could write your own installer by hacking the one Cabbage uses.

Yes! I’m on windows. I’ve made tests passing the input file to cabbage lite via cmd today, so creating a bat script shouldn’t be much trouble, thank you very much!.

It could be possible that my application will be used in a few months by students at my university, so the “write my own installer by hacking the one Cabbage uses” part will be trickier, because I want to encapsulate the csound file. I’ve read a reply in another post in which you say: “You could modify the source code of Cabbage so that it bundles the csd’s into the binary executable”, that’s exactly what I’m trying to do.

Modifying the source code of Cabbage to embed a .csd file seems like a lot of work for what you want to do? Plus, you’d have to release the code under the terms of the GPL so users could just view it in your source code anyway. If you wish to make non-open source apps with Cabbage PM for more details.

Do you really need to hide the contents of the .csd file users? If not, then it’s not really much of an effort to build an installer that will bundle everything you need into the right place, along with a simple script to launch it?

Ok! I don’t want to violate any GPL term, so I think I could do it for now without hidding .csd files.

I’ve taken a look at .nsi file script of cabbage (I don’t know if I’m looking at the right side). What should I modify in order to incude the bat script and put it into the right place?
https://github.com/rorywalsh/cabbage/blob/master/Builds/VisualStudio2017/Cabbage64InstallerCanonical.nsi

Actually, it’s this one that you should look at:
https://github.com/rorywalsh/cabbage/blob/master/Builds/VisualStudio2017/CabbageCannonicalInstaller.iss
It use the INNO installer package. On this line, you could add your .bat script:
https://github.com/rorywalsh/cabbage/blob/master/Builds/VisualStudio2017/CabbageCannonicalInstaller.iss#L56

Then replace some of the information at the top:


with your own instrument’s name and details.

For the installer to work in bundling Csound you will need to have Csound installed in the default directory. This installer will give users the option of installing Csound, or using the one that they have installed already. It’ll take some trial and error, but it should be pretty easy to get going in the end. :wink:

Sorry for the delay, I had to build cabbage and JUCE in order to create the installer, and it cost me a while. But… now it’s working!

I would like to add a option for installing the plugin vst version in a directory specified by the user. Could I export the vst before creating the installer, and include it in the source files? Or is it necessary to include the export process somehow inside the installation.

You didn’t have to build cabbage and juce to create the installer, but I’m glad you for it sorted. You should definitely export the cad file first. Then include the dll and .cad files in the installer.

:sob:

I’ve done the test right now and it works perfect! Thank you very much for your help :slight_smile:

1 Like