So, if you want to have your keyboard also control individual soft synths you'll need to use what's called Gloval Variables. The Lemur will send a different MIDI message to MT to dictate whether you want the keyboard to send to all four synths at once, or one of them individually. So you'll use one global variable with five different values.
We'll use one translator to dictate this. Your radio buttons do not need to send a MIDI Off message (velocity 00) since they are only going to toggle back and forth. We'll still need two translators, though, one for sending to all four channels and one for sending to each individual channel. I'm going to assume the radio buttons on the Lemur will send sequential commands (C0, C#0, D0, D#0, E0) but you can replace those commands in the rules with whatever you want. If everything is sending on the same channel you want to make sure the translators are receiving from individual ports. It would look something like:
Code: Select all
Translator 1: From Lemur
Incoming Message: 91 pp 7F (Incoming Port: Lemur In)
Rules: g0=pp
Outgoing Message: None
Translator 2: All Channels
Incoming Message: 90 pp qq (Incoming Port: Keyboard In)
Rules: if g0!=12 then exit rules, skip outgoing action
Outgoing Message: 90 pp qq 91 pp qq 92 pp qq 93 pp qq
Translator 3: Individual Channels
Incoming Message: 90 pp rr
If g0==12 then exit rules, skip outgoing action
qq=g0+131
Outgoing Message: qq pp rr
So, I'm making some assumptions here that you will need to adjust for. First, I'm assuming that the Lemur is sending C0 through E0 on channel 1 to set the channel. If that isn't the case then you need to adjust the math, if that makes sense. the 12 I use in Translators 2 and 3 is the decimal value of C0, meaning if C0 is the last signal to be sent to MT then the keyboard will send across all 4 channels. If it isn't then it does math (g0+131) and send on individual channels. Since the last note sent to MT to designate channel one would be C#0 (dec: 13) we'd need to add 131 to that value to get the decimal for Channel 1 on message (90 in decimal is 144, so 131+13 is 144, 131 + 14 is 145, etc).
Does that make sense?
Jared