****
**** TouchOSC mk2 now Fully Supports X-Air and X32 Mixers
****
****. See here: https://behringer.world/viewtopic.php?t=1544
****
The biggest issue with using TouchOSC to control an X-Air mixer is the incompatibility in the way the send/receive ports are defined in TouchOSC vs. the way they are treated by the X-Air. To handle this incompatibility, there needs to be a man-in-the-middle passing messages back and forth.
Below is a model showing an overview of the setup:
Yikes! PostImg messes up the preview. Please Download the Original Image.
For this discussion, I'll focus on setting up the man-in-the-middle using a Node-RED flow with Node-RED running on a Raspberry Pi. Node-RED could also be running on the same machine as your DAW or even the PC/Mac that is running TouchOSC, but the network settings get a little more complex in that setup.
For now, follow the instructions at the link below to get Node-RED installed on a Pi.
https://nodered.org/docs/getting-started/raspberrypi
Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Last edited by kmitchell on Mon Mar 25, 2024 3:48 pm, edited 1 time in total.
Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Once we have Node-RED installed and running, we need to install an OSC Encode/Decode node so we can work with OSC messages. We only need an OSC encoder but the single node can be used for either/or.
https://flows.nodered.org/node/node-red-contrib-osc
https://flows.nodered.org/node/node-red-contrib-osc
Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Once TouchOSC is setup, we can move to the Node-RED flow.
Here is a screenshot of the flow. As you can see it is very simple.
There are 4 nodes that need to be configured to match the IP addresses and ports in our setup. Please refer to the diagram in my previous post.
The first UDP In node (upper-left) listens for OSC messages from TouchOSC on port 8001:
The first UDP Out node (upper-right) sends UDP messages to the X-Air mixer at port 10024. Note that it binds to local port 11223. This is the "Source" port for OSC messages to the X-Air.
The second UDP In node (lower-left) listens for messages from the X-Air on the "Source" port set above:
Finally, the second UDP Out node (lower-right) sends the OSC messages back to port 9001 on the TouchOSC client:
There are two additional nodes in the flow that do not need to be changed. The "/xremotenfb" node sends an OSC message to the mixer every 9 seconds to request updates. This is needed so we get notified of changes made by another client, such as mixing station. The other node is "OSC Encode" and that simply takes the "/xremotenfb" message and encodes it into OSC format.
Here is a screenshot of the flow. As you can see it is very simple.
There are 4 nodes that need to be configured to match the IP addresses and ports in our setup. Please refer to the diagram in my previous post.
The first UDP In node (upper-left) listens for OSC messages from TouchOSC on port 8001:
The first UDP Out node (upper-right) sends UDP messages to the X-Air mixer at port 10024. Note that it binds to local port 11223. This is the "Source" port for OSC messages to the X-Air.
The second UDP In node (lower-left) listens for messages from the X-Air on the "Source" port set above:
Finally, the second UDP Out node (lower-right) sends the OSC messages back to port 9001 on the TouchOSC client:
There are two additional nodes in the flow that do not need to be changed. The "/xremotenfb" node sends an OSC message to the mixer every 9 seconds to request updates. This is needed so we get notified of changes made by another client, such as mixing station. The other node is "OSC Encode" and that simply takes the "/xremotenfb" message and encodes it into OSC format.
Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Here is the Node-RED flow in JSON format. Remove the .txt extension before importing.
- Attachments
-
- x-air.json.txt
- (3.12 KiB) Downloaded 19 times
Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)
Here is a TouchOSC template that implements some sample controls. Remove .txt extension before loading.
Make note of the init() function on each control that queries the mixer for the control's current value when the template is launched. This is so the controls all start out sync'd to the mixer.
Feel free to ask any and all questions here.
Make note of the init() function on each control that queries the mixer for the control's current value when the template is launched. This is so the controls all start out sync'd to the mixer.
Feel free to ask any and all questions here.
- Attachments
-
- XAir-Two-Way.tosc.txt
- (1.69 KiB) Downloaded 17 times