You make a good point. One might expect that a Zynthian would be prepared for performance and then use standard control messages to manipulate during performance, i.e. note on / off, continuous controllers, program and bank change, etc. The user will have already configured the engines / patches / snapshots and load them into the Zynthian ready for performance.
Within the rehearsal space one might play with what is already available and save snapshots to the Zynthian.
Within the studio / home environment one might use computer interfaces or other file shares and webconf to manage the snapshots and perform configuration and soundscape editing, etc.
So maybe the only thing we need to provide is a method of saving the configuration data to a midi file to allow simple and consistent transport of full configuration. This could be a dedicated MIDI recorder and player within Zynthian (replacing current off-the-shelf apps) which use the metadata to store this information. This does not allow MIDI to be sent to the Zynthian from an external sequencer with all this info but I am not sure that is of much benefit. (Sysex is defo the right way to do that!)
Thanks @B00t-eek for pointing that out. I hadn’t thought of it and it is a good idea. Anyone see any holes in this idea? (Yes - I know we need to prove it will work, define a schema, write bespoke record and playback applications… anything is possible - nothing is easy!!!)