Hi Hamlen and welcome to the forum!
Fundamentally, host automation parameters provide float-values from 0 to 1, so you’ll need to map them to something useful to send to your device via MIDI.
The most simple way is to map the parameter to a CC, so a mapping like this would provide CC1 values of 127 and 0, depending if the switch is on or not.
If you need to send completely different commands and not just different values of a CC to your device, there is no direct way to assign these; this requires a bit of advanced fiddling in Cantabile.
The first way that comes to mind for me is to use the output of a first “mapping” binding as the source for a different binding, using so-called “Loopback ports”. But it becomes a bit more complicated, since you can’t use specific controller values as binding sources:
- That’s why I use MIDI notes as output from the original switch - this will create note-on events with different note numbers (0 for off, 127 for on)
- I send these MIDI notes to a “dummy” MIDI input port via a Loopback port - this will make these notes appear as a MIDI input
- now I use this MIDI input as the source for new bindings that react to the different note on commands:
Here are the bindings:
Now when I switch the Percussion parameter on and off again, I create these events at the “Dummy” port (first binding):
Now the other two bindings create these events at the “External Synth” port:
This way, you can send two completely different MIDI commands to your synth based on the position of your switch.
I admit, this is all pretty convoluted, but if there isn’t a built-in direct solution, you can always find a way around the problem in Cantabile