When a Translator has an input setting oo pp qq but I want to accept only MIDI channel 5, I cannot just write 04 pp qq, correct? I guess I have to use oo pp qq and use “if” in the Rules to ask for the number?
Hi,
Note on would be 94 oo qq. Where the 9 represents a note-on message and the 4 represents MIDI CH 5. You can put that in there as a trigger if you are looking for note-on MIDI CH 5. Then pp for the note number and qq for the velocity.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
Ah yes, this nibble-thing.
oo isn’t just the channel.
Then the trick doesn’t help in this case and I have to set each incoming event type.
Thanks!
You can use rules for example: if input is oo pp qq
// Look for note on or note off
// bitwise and with 0xe0
rr=oo&0xe0
// if 128 then it is a note command (on or off)
if rr==128 then goto “note”
exit rules, skip outgoing action
label “note”
// look for MIDI CH 5
rr=oo|0x0f
if rr==4 the goto “ch5”
exit rules, skip outgoing action
label “ch5”
// now capture pp and qq and do whatever you want with it.
// you can also change the outgoing message to something
…
Maybe if you tell me what you are trying to accomplish, I can provide a better example.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
Maybe the routing matrix helps:
The purple squares are pads of a Novation LaunchPad and they enable/disable presets in a BomeBox.
SPA, TIM, PIT, BLO, MAC are receiving devices.
PD1-PD4 are 4 MIDI Pedals on a controller and each pedal sends on it’s own MIDI channel (1-4).
For each active pad, everything the respective channel contains is sent to one device. The pedals can send CC or PitchBend or Channel Pressure.
The receiving devices have dedicated MIDI channels which must be set.
Routing examples:
Pad 8 establishes a connection from Pedal 1 to MAC for all event types without channel change.
Pad 14 establishes a connection from Pedal 2 to PIT on channel 13 for all event types.
Pad 20 establishes a connection from Pedal 3 to SPA on channel 16 for all event types.
I cannot just set routes, because I need to change the MIDI channel per receiving device.
I could set the input filter for each event type and channel, makes 3 translators per preset.
I can set 3 bytes and 2 bytes and change the channel in Rules, makes 2 translators per preset.
Maybe there is a smarter way?
No, I don’t think so. I assume the squares are note numbers that activate the presets, so you should be able to do this with 20 presets (and maybe an always on control preset).
Each preset would have two byte and 3 byte MIDI messages and you would change the bottom nibble of the MIDI channel in rules to direct the MIDI channel. If you need to change note to CC then you would also need to modify the upper nibble of the first (control byte).
Depending on whether you enable multiple presets at a time or not, you would also need logic to disable unused presets when a given preset is enabled. I don’t know if you use the notes as toggle to enable/disable a given preset or you only have 1 route for each pedal at a given time.
Your control preset would be set input to your Launch Pad and no output (just enabling and disabling presets).
The other presets would be set with input to the given pedal and the output to a given destination.
Are you translating notes to CC or just modifying channels?
I could give you and example with a few presets and you should be able to duplicate and then modify the rules to do the rest.
Steve
I have the preset system already and it works. Each LaunchPad pad enables or disables one Bome preset.
Here I am just talking about input filter and changing the MIDI channel. I was hoping there was a setting that would allow you to say in a single translator, ‘If the incoming channel is 3, send everything out on channel 15.’
But if I understand you right, there is no shorter method but using 3-byte and 2-byte filters and change the channel within Rules. Two translators minimum. Correct?
Yes, but of course SysEX or 1 byte messages will not get through unless you put in MIDI thru paths that handle messages that the translators don’t handle.
Steve
