Is switching engines within a norns script supported and/or advisable? For example, having a parameter which switches between passersby and an polyperc.
sorta supported with thoughtfulness (@ppqq has an approach he’s been hacking on) , but not ideal:
dev discussion is still happening, though. hope this helps!
I would say: yes, it totally can. But it is less convenient and you have to manage more callbacks yourself. I posted examples of this which you can find by searching (can’t show now, I’m on a phone.)
And, for example if you store engine name in a param, you will have to read that / use fallback at the top of the script before setting
Also, kinda obviously, your script can’t make parameters that map directly to engine commands, nor use engine utility libraries to do so (e.g. passerby.lua or whatever)
Instead you will have to make abstract parameters and map them to engine xommand on the fly.
Finally, since there is not a standard interface for e.g. voice management of polyphonic engines, you may need actually different logic to control stuff.
Like dan says, were thinkign about how to make these steps more convenient. But I can put together an “inconvenient” example with a real script (meadowphysics, say) when I get a moment.
Example showing the callback logic you need to add.
Iirc, poly perc and passerby are examples of different voice interfaces: trigger and gate.
I don’t think there’s anything stopping you creating a Supercollider engine script that itself is able to swap between different sound-creating/processing algorithms on the fly.
It would make things easier if the same controls could be mapped to similar parameters of the available “sub-engines” though.