bitSync
2013-03-29 18:05:22
Background
Greetings! I'm a Bome MIDI Translator (MT) newbie.
I am trying to troubleshoot an internal MIDI interface between two software applications residing on the same computer and connected to one another using 6 LoopBE30 internal MIDI ports. The 2 applications are Cakewalk's Sonar Producer X2a and BluAudio's D8Bridge v1.1. The D8Bridge application is a software translator that translates between the Mackie Control protocol understood by the Sonar X2a DAW application and the native serial communications language understood by the Mackie d8b console, thus coverting the d8b console into a 24 fader control surface intended to operate like 1 Mackie Control Universal (MCU) and 2 Mackie Control Extenders (XTs) in Mackie Control protocol mode by way of a USB/serial interface between the host computer and the d8b console (D8Bridge's external serial physical interface to the Mackie d8b).

I am using MIDI-OX to monitor and collect MIDI traffic over the 3 pairs of MIDI interfaces (6 ports), 1 I/O interface pair for each of the 3 MCU/XT software devices. The port numbers in the illustration above are the LoopBE30 internal MIDI port numbers and the monitoring points for MIDI-OX. I have collected sufficient MIDI traffic from the intialization of Sonar/D8Bridge to discover 2 SysEx messages from D8Bridge I suspect may be in error. When Sonar first boots it sends a series of 3 SysEx messages (queries, I believe) to what it thinks is an MCU unit and 2 XT units (control surface definitions manually configured inside Sonar by the user). Sonar correctly installs the proper MCU machine ID 0x14 in the SysEx message to the MCU and the proper XT machine ID 0x15 in the SysEx messages to the 2 XT units. Those messages are as follows.
F0 00 00 66 14 1A 00 F7 ; on the D8Bridge input port (2) to the MCU (machine ID 0x14, MCU)
F0 00 00 66 15 1A 00 F7 ; on the D8Bridge input port (4) to the first XT (machine ID 0x15, XT)
F0 00 00 66 15 1A 00 F7 ; on the D8Bridge input port (6) to the second XT (machine ID 0x15, XT)
In reply, D8Bridge sends the following acknowledgement SysEx messages.
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (1) for the MCU (machine ID 0x14, MCU)
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (3) for the first XT (machine ID 0x14, MCU)
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (5) for the second XT (machine ID 0x14, MCU)
I am trying to correct what I believe may be an error in the second and third SysEx messages from D8Bridge, identifying the wrong machine ID for the XTs (0x14 instead of 0x15) to see if that remedies some issues I've observed in the Sonar/D8Bridge integration. I would like to install a translator only on the 2 XT ports from D8Bridge to Sonar to translate just the 0x14 machine ID to 0x15 in the one SysEx message type.
My Question, Finally
I purchased my MT license last night and after spending some time with the MIDI-OX test rig and the MT and its manual, I'm a bit confused as to how to wire all this up properly. I setup 2 translator project files, 'xt-not-mcu-3' and 'xt-not-mcu-5', both setup to translate input F0 00 00 66 14 1B 00 F7 to F0 00 00 66 15 1B 00 F7 and to swallow the inbound MIDI message. I used no rules for the 2 translators. For each translator I tried specifying just the Internal MIDI ports 3 and 5 respectively, as well as selecting Default Ports instead. I invoked both translator projects, as well as MIDI-OX, and activated the translators in advance of starting up D8Bridge and Sonar. As reported by MIDI-OX, I never succeeded in translating the intended messages; they came through as before.
Among the many things I don't yet understand about MT is whether I have to explicitly install a translator inline, interrupting an internal MIDI path between D8Bridge and Sonar or does MT insert itself when specifying a particular internal port to translate? How do I know where the MIDI-OX monitoring is taking place with respect to MT in the MIDI signal chain (before of after MT)? Do I need to do MT routing to accomplish this translation or not? Should I open up a few more LoopBE30 ports and route explicitly through MT? This is probably an easy question for most of you but I'm a bit lost at the moment. Any assistance from the MT community for how to wire this translation up would be a huge help. Thank you!
Greetings! I'm a Bome MIDI Translator (MT) newbie.
I am trying to troubleshoot an internal MIDI interface between two software applications residing on the same computer and connected to one another using 6 LoopBE30 internal MIDI ports. The 2 applications are Cakewalk's Sonar Producer X2a and BluAudio's D8Bridge v1.1. The D8Bridge application is a software translator that translates between the Mackie Control protocol understood by the Sonar X2a DAW application and the native serial communications language understood by the Mackie d8b console, thus coverting the d8b console into a 24 fader control surface intended to operate like 1 Mackie Control Universal (MCU) and 2 Mackie Control Extenders (XTs) in Mackie Control protocol mode by way of a USB/serial interface between the host computer and the d8b console (D8Bridge's external serial physical interface to the Mackie d8b).

I am using MIDI-OX to monitor and collect MIDI traffic over the 3 pairs of MIDI interfaces (6 ports), 1 I/O interface pair for each of the 3 MCU/XT software devices. The port numbers in the illustration above are the LoopBE30 internal MIDI port numbers and the monitoring points for MIDI-OX. I have collected sufficient MIDI traffic from the intialization of Sonar/D8Bridge to discover 2 SysEx messages from D8Bridge I suspect may be in error. When Sonar first boots it sends a series of 3 SysEx messages (queries, I believe) to what it thinks is an MCU unit and 2 XT units (control surface definitions manually configured inside Sonar by the user). Sonar correctly installs the proper MCU machine ID 0x14 in the SysEx message to the MCU and the proper XT machine ID 0x15 in the SysEx messages to the 2 XT units. Those messages are as follows.
F0 00 00 66 14 1A 00 F7 ; on the D8Bridge input port (2) to the MCU (machine ID 0x14, MCU)
F0 00 00 66 15 1A 00 F7 ; on the D8Bridge input port (4) to the first XT (machine ID 0x15, XT)
F0 00 00 66 15 1A 00 F7 ; on the D8Bridge input port (6) to the second XT (machine ID 0x15, XT)
In reply, D8Bridge sends the following acknowledgement SysEx messages.
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (1) for the MCU (machine ID 0x14, MCU)
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (3) for the first XT (machine ID 0x14, MCU)
F0 00 00 66 14 1B 00 F7 ; on the Sonar input port (5) for the second XT (machine ID 0x14, MCU)
I am trying to correct what I believe may be an error in the second and third SysEx messages from D8Bridge, identifying the wrong machine ID for the XTs (0x14 instead of 0x15) to see if that remedies some issues I've observed in the Sonar/D8Bridge integration. I would like to install a translator only on the 2 XT ports from D8Bridge to Sonar to translate just the 0x14 machine ID to 0x15 in the one SysEx message type.
My Question, Finally
I purchased my MT license last night and after spending some time with the MIDI-OX test rig and the MT and its manual, I'm a bit confused as to how to wire all this up properly. I setup 2 translator project files, 'xt-not-mcu-3' and 'xt-not-mcu-5', both setup to translate input F0 00 00 66 14 1B 00 F7 to F0 00 00 66 15 1B 00 F7 and to swallow the inbound MIDI message. I used no rules for the 2 translators. For each translator I tried specifying just the Internal MIDI ports 3 and 5 respectively, as well as selecting Default Ports instead. I invoked both translator projects, as well as MIDI-OX, and activated the translators in advance of starting up D8Bridge and Sonar. As reported by MIDI-OX, I never succeeded in translating the intended messages; they came through as before.
Among the many things I don't yet understand about MT is whether I have to explicitly install a translator inline, interrupting an internal MIDI path between D8Bridge and Sonar or does MT insert itself when specifying a particular internal port to translate? How do I know where the MIDI-OX monitoring is taking place with respect to MT in the MIDI signal chain (before of after MT)? Do I need to do MT routing to accomplish this translation or not? Should I open up a few more LoopBE30 ports and route explicitly through MT? This is probably an easy question for most of you but I'm a bit lost at the moment. Any assistance from the MT community for how to wire this translation up would be a huge help. Thank you!