Cabbage Logo
Back to Cabbage Site

Always On vs Score Initialization


I’m building a procedural wind synthesizer and I was wondering if there are any practical differences between using the alwayson opcode or using an i-statement in the score with a practically infinite time.

Are there any scenarios where one would prefer one method instead of the other for instruments that are always supposed to generate sound until you stop them?

Good question. I’ve never seen the need for the alwayson opcode. It’s provided in a plugin opcode library meaning it’s not part of core Csound. I personally try to stay away from using plugin opcodes unless absolutely necessary.

Right, I see. Are there any issues you’ve encountered when using plugin opcodes?


Just that some of them don’t get compiled for various platforms. For example, there are a few plugin opcodes that don’t get distributed with the Android build. This means you Csound code might not work, which defeats the point of writing one piece of code to target all platforms.

Some of them are just difficult to build too, so frontend developers might not always include them with their applications. Finally, when it comes to VST plugins, I’ve seen Live poop its pants on a fair few occasions when a Cabbage plugin tried to load other DLLs. It seems some hosts are quite cautious about this.

Oh, right, that makes sense. Thanks for the insight, wasn’t aware of this at all!