Hi Rory, I’ve been switching back and forth using both Cabbage and Csound to test my files. I was just wondering if Cabbage defines a macro for itself? I know I could easily create one, but if it is already there…
I’d like to use it to prevent my Cabbage-only modules from being included when I run from the command line using Csound. I’d also like to have it included some dummy definitions for the Cabbage things that I can’t really remove.
Anyway, like I said, I can do this for myself if it’s not already there.
Thanks.
Mike
You can define Cabbage macros, but do you mean something like:
#ifdef Cabbage
This is not possible, it would need to be added to the Csound source code. You can however pass the macro as a command line flag?
<CsoundSynthesizer>
<CsOptions>
-odac --omacro:CABBAGE=1
</CsOptions>
<CsInstruments>
;sr is set by the host
ksmps = 32
nchnls = 2
0dbfs = 1
#ifndef CABBAGE
instr 1
prints "Hello\n"
endin
#end
This would work right? You could also query the channel CSD_PATH. This will be empty is you are not running the csd file in Cabbage.
Actually, I think I figured it out… While you gave me the right idea, it is the name of the macro that should be different. I need to know when I am running Csound, so if I create a macro of ‘CSND’ and wrap the Cabbage code with #ifndef/#end, that should work for what I need.
Thanks, I will get back with you on how it works.
Thanks for your help, Rory. This is working out as I need it…
1 Like