Change Channel for all messages from a device

Hi,

Loving my Bomebox. Trying something new, need some help.

I have multiple midi controllers on one-laptop, and need to stop a clash by changing all the messages from one of them to a different channel.

Is it possible to do this in a single translator for the whole device rather than going through and doing it for each button/knob?

Thanks!

Tom

Well, most MIDI messages are 3 bytes in length. So with taking any 3 byte message and changing the Channel number on the lower nibble of the first byte, you cover most cases. Program changes are different as they are 2 bytes but the idea would be the same.

Here is an example of changing the MIDI channel of a device from any incoming channel to outgoing MIDI channel 2

incoming : Raw Midi oo pp qq
Rules
// grab the first byte and discard the second nibble put it in rr for temporary storage
rr=oo&0xf0
// make it MIDI Channel 2 (midi channel 1 is 0, 2 is 1 etc up to 15) put it back into oo
oo=rr|1

outgoing Raw midi oo pp qq

The two byte method is the same execpt you just don’t use the third byte

Now if you have a device that uses different MIDI channels for different controls, then you would have to put in translators for each of the channels for each device.

Steve Caldwell
Bome Customer Care


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

Thank you Steve! Appreciate your very quick help.

Another question, coming at it a different way, I want to capture a single CC encoder from a device, and output it through the Bome virtual midi out. I can capture it and set the value to be “any value” but in the outgoing I have to set the value? I can’t see an option to allow the CC value to pass through

In incoming, in addition to “any value” set the value to any local variable and then use the same local variable for output. Local variables are oo, pp, qq, rr, ss, tt, uu, vv, ww and xx.

Steve Caldwell
Bome Customer Care


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

Image 2-12-20 at 12.41 pm

If incoming value was qq, then put qq in the value box instead of a number

fantastic! all working. You’re the man steve

1 Like