Hi,
The easiest way would be to create a global variable (ie ga) which depicts the MIDI channel you want to transmit. The default value for any global variable upon project open is 0 (which would be MIDI channel 1).
Then have a translator that changes this variable when pressing a given button (or computer keystroke).
Then you would need translators set up to translate incoming note and CC messages from incoming of channel 1 to outgoing of channel ga. Here is an example that would handle both note and CC messages (any 3 byte MIDI sequence).
——
Translator : Translate Note and CC from Channel 1 to channel gc
Incoming: Raw MIDI Message pp qq rr
——-
Rules:
// Change outgoing channel
// pp is a combination of MIDI message and channel IE 90 is Note on MIDI channel 1
// We need to capture the first digit 9=note on 8=note off b=CC message and the OR it with the target outgoing MIDI channel
// This will clear the existing incoming MIDI channel. Really not necessary if it is MIDI
// channel 1 since all these bits are already cleared. However, it would be necessary for any
// other incoming channel so I suggest you leave it in. There will be other rules needed if you
// want to ignore other incoming MIDI channels. This translator will translate ALL incoming
// channels to the target outgoing channel “ga”
tt=pp&0xf0
// Now lets OR the MIDI Type message with the target outgoing MIDI channel of ga
pp=tt|ga
// pp should not have the MIDI type and target outgoing channel so it is ready to send in the
// outgoing raw MIDI message
// End of Rules
——-
Outgoing: Raw MIDI message pp qq rr
Options: Swallow
——
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz