Selecting app from Multi-app for Hothouse or custom hardware

From Github there is an oopsy hardcoded input method for each daisy provided platform for triggering the change of app in a multi-app. But there doesn’t appear to be a way to do this for the Hothouse pedal or other non-daisy made/custom hardware platforms.

More than one app should work with custom hardware as far as I understand. But similar to those Daisy boards, you’d only be able to switch between apps with MIDI program change messages though, so your custom hardware would need to accommodate for that.

I don’t want to use Midi. I just want to use one of the 3 hothouse switches to move between 3 programs. Can this be exposed in Oopsy, please!

What are the 3 patches that you put together? It should be possible to reroute the input signal between 3 effects using [gate 3].

Each program is a complex combination of effects and the extra effort to manage switching all the controls, etc. … and I’m porting to RNBO to create plugins as well - so, yes it might be possible (though I might also run out of resources), it would be so much easier to manage them separately and switch between them… I imagine the same reasons it is supported in c++

If you can handle doing a custom JSON with C++ insert, the code you need to change apps is not too much. I don’t know what the hothouse target json looks like, but here’s a minimal example (untested, sorry!) of what changing apps in response to a knob might look like:

{
	"name": "custom",
	"som": "seed",
	"defines": {
	},
	"max_apps": 8,
	"audio": {
		"channels": 2
	},
	"inserts": [{
		"where": "post_audio",
		"code": "if (int(ctrl1) != daisy.app_selected) daisy.schedule_app_load(int(ctrl1));"
	}],
	"components": {
		"ctrl1": {
			"component": "AnalogControl",
			"pin": 15
		}
	}
}
1 Like

Thanks. I’ll give that a try. The Hothouse Json is pretty simple (6 knobs, 3/3 position switches, 2 footswitches. 2 LEDs). I haven’t seen the “inserts” define before. That’s super helpful. I wonder if this same technique would work for triggering the system::bootloader mode.