Is there a way to run multiple gen patchers on patch init - using the switch or button to swap between patches?
It would be nice to be able to swap between effects without having to take the module out of a case and change firmware.
I’ve tried using an if else statement in code box witching the top patch, but this seems to have a large cpu overhead.
I haven’t tried doing this yet but there is theoretically a way but not by default, unfortunately.
You would have to (for starters) make a custom JSON file for your project to trigger switching to another [gen~] in the same manner that Oopsy uses the encoder to switch patches on the Daisy Petal, for example, I’m guessing. There’s undoubtably a bit more involved than just that. (see line 576
It would be convenient if there was a handle in Oopsy that recognized if an output or parameter was named [out 7 patchchange] or [param patchchange] or IDKwhat and compiled accordingly. Some document specified values would be necessary, i.e. the number of the patch OR something foolish like 100 advances to next and -1 goes previous. Unfortunately this is way out of my depth at this time.
I would LOVE to make a patch.init self-rolled version of Tip-Top Z5000, for example.
On the flip-side of all of this, there will eventually be a way to compile patches beyond 128k and there is PLENTY of DSP to keep multiple algorithms running and just switching between them however you’d like but “Oopsy bootloader-additions” is still in progress.
As it is at the moment I do have one patch.init patch that is all the delay based FX rolled into one as there is little technical difference between a BBD style delay, a flanger, a comb filter, and a chorus. The button switches between them as a set of knob restrictions and LFO types, basically-ish.
One thing you could do is use the Daisy Bootloader as Manysounds mentioned to flash a bigger patch.
You can actually give it a try right now: Oopsy Update Prerelease! Want to Try the New Features Early?
There’s also the muti-app feature, but it may involve some C++ coding to make it work on the Patch.Init().