Pure Data could do all of this and be device-independent inside Zynthian. I did something like this for SooperLooper:
But I don’t use that anymore since the developers added single pedal mode. Where I got stuck was trying to use Pure Data as a sort of all-purpose MIDI router. The Pure Data chain/channel can’t accept all MIDI channels and it can’t send MIDI back out to the main router, so it can only send MIDI notes directly to other chains. If it could send data back to the router, you could, for instance, set up a cycle where each press of the same pedal starts a different Zynpad while also toggling between playing and recording a loop in SooperLooper. I added a feature request for this: