Q About Setting Variable Channels And Output

Hey all (Steve)

So, I was curious if I set the incoming channel to “any channel” and set the channel to a variable, then set the outgoing to that variable, obviously the translator should in theory send the incoming message at that moment to the right channel, meaning I could just make one translator that serves every channel across a port for the same translation task, right?

E.g., IN: Channel: qq CC#: 0 Value: tt | OUT: Channel: qq CC#:35 Value: tt

But, what happens if two channels have the same MIDI message at same exact time? Will Bome output both? In other words, if channels 1 and 4 both output CC# 0 at, say, value 23 and 78 respectively, does the engine handle that correctly and send value 23 to out channel 1 and value 78 to out channel 4?

Hi, there are two ways to handle this.

  1. Have mulitple translators, each with the same input and each with a different channel output.
  2. Have a single translator and use raw MIDI to output on multiple channels.

In either case since MIDI is serial they will not happen at the same time but since USB transport is very fast, it will not be noticeable.

An example of raw MIDI using single translator

Program Change on Any MIDI Channel
Incoming: oo pp
Rules:
// strip out channel and look for PC only which would be Cx as tthe MIDI status byte
rr=oo&0xf0
// We are only looking for PC so exit if it is not a PC
if rr!=0xc0 then exit rules, skip outgoing action
// This outputs Same pc on 3 different channels
Outgoing C0 pp C1 pp C2 pp

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz