Cabbage Logo
Back to Cabbage Site

Running as standalone (on Mac)

I know there are issues with running on the Mac using a standalone, but Rory, didn’t you say that it would run if we opened a shell and ran it from the command line? I’m getting this now…

MacOS mjmogo$ ./Cantabo 
CabbagePluginProcessor::createCsound
Resetting csound ...
csound = 0x0x0
initAllCsoundChannels (ValueTree cabbageData) ...
csound = 0x0x7fd70d42e6e0
handle = 0x0x7fd70d8b3a00
csound not compiled
CabbagePluginProcessor::CabbagePluginProcessor
initAllCsoundChannels (ValueTree cabbageData) ...
csound = 0x0x7fd70d42e6e0
handle = 0x0x7fd70d8b3a00
csound not compiled
CabbagePluginProcessor::getStateInformation
CabbagePluginProcessor::~CabbagePluginProcessor

I’m on Mac OS 10.13.6, using Cabbage 2.9.45.

The error here is clear, Csound cannot compile. The question is why not. Is the .csd file in the bundle? And has it the same name as the standalone?

OK, this is the first time that I have tried to compile an orchestra to a standalone app, and I know exactly why… I didn’t include any of the external “include” files… I try again…

Mike

Just looked at this again, and so far, I’ve been including my library files as…

#include "../Farmer/farmer.orc"

Is there a place that Cabbage looks that would automatically bundle these up with the full app? I’m only assuming that I won’t be able to get the app to allow the directory ‘…/Farmer…’…

Is there a section in the Csound manual that talks about ‘including’ shared library files? The examples I’ve seen have only shown relative files…

I looked more at Csound and it’s environment variables, and it seems there is “INCDIR”, which allows the addition of the path to search, but how would this work with Cabbage?

Mike

Relative paths will most likely break if you try this in a plugin. You might get lucky some of the time, but I’d suggest you make the path absolute. Also, if you put a csoundoutput widget into the UI you’ll see if Csound is reporting any issues.

I don’t know, I’ve never used these. But I assume it would work fine independent of Cabbage. But it also seems a very local solution. So if you were ever to share your instruments it would immediately break, unless you go to the trouble of setting up this envs on each target machine.

How might Cabbage deal with using a symbolic link to the files? I was thinking that I could just put a link to the folder containing my libraries inside of the folder containing the project. Then add that to the bundle in the main csd file. Would Cabbage copy the files themselves or the links?

I’ll try this when I get home and let you know what happens…

Mike

I’m not sure but my gut feeling is that it won’t work. Let me know.