Hi Steve,
Thanks for all the detail—it’s probably easiest if I explain a bit of my use case. In summary, I’m trying to find a way around using 1,104 translator entries.
Use case
I’m creating a software MIDI router for 24 x 24 devices. Basically, there is a list of MIDI devices connected to the Bomebox:
- Device_01
- Device_02
- …
- Device_24
And I have an external software interface running on a Raspberry Pi through which the user can dynamically select how those devices should connect. For example:
- Device_01 sends to Device_03
- Device_21 sends to Device_14
- …
These can be changed on the fly.
Prototype implementation
I created a working prototype with MIDI Translator Pro for 5 devices. This worked through 40 Translator Entries, as follows:
- 1: Add Route from Device_01 to Device_02
- 2: Add Route from Device_01 to Device_03
- …
- 21: Remove Route from Device_01 to Device_02
- 22: Remove Route from Device_01 to Device_03
- …
These rules were triggered via specific MIDI SysEx messages for which the MIDI Translator Pro was listening. Note that I had to create 40 separate rules (I autogenerated them and then signed them with MIDI Translator Pro), because the outgoing MIDI Router action does not take parameters.
Final implementation
For all 24 devices, the final implementation would need two times 24 times 23 rules, so 1,104 rules. I could autogenerate those—that’s fine.
However, I wonder: can I do better?
I noticed that MIDI Translator Pro can directly send route add/remove actions to the Bomebox, as can its Web interface. So that’s what prompted the question at the top of this thread: What protocol does MIDI Translator Pro use to communicate with a Bomebox?
I see that MIDI Translator Pro is sending TCP messages to the Bomebox when I add/delete a route. These might be MIDI messages encoded over TCP, or something else. So that’s why I like to know whether that protocol is also available for me to use, such that I can avoid having to generate 1,104 rules for a 24-device configuration, or 8,064 rules for a future 64-device extension.
Or, alternatively, a parametrized MIDI Router action could also reduce the number of rules needed.