Open eleses opened 3 months ago
It's a while since I added those opcodes, but iirc this has to do with the plugin parameters being registered properly with the host. I'd have to look through the source to find the actual answer, but I agree that it is a little clunky, especially considering a single init pass will do the job. This is an area I'll revisit in Cabbage 3, which I'm up to my eyes in developing right now :)
Admittedly, the on-line manual only shows
cabbageCreate
being used in aninstr
> 0. But sincecabbageCreate
only works at i-time and is needed when app/plugin starts, it seem superfluous to drop those calls inside a numberedinstr
instead of the top-level orchestra code (aka instrument 0). HowevercabbageCreate
does nothing if called from the (top-level) instrument zero orchestra code. This is slightly confusing.By the way, when
cabbageCreate
is called from a numbered instrument, that instrument can be turned off (withturnoff
) right away aftercabbageCreate
without affecting the generated widgets. So, being in a running instrument doesn't seem essential forcabbageCreate
.(I'd have guessed that maybe
cabbageCreate
and friends are injected by Cabbage as UDOs at the end of instrument 0, but in that case they'd give an explicit error when used before definition in instrument 0.)