4.4.11930 OSC Bug - Missing Data when not on Drive Space 00

OSC feedback data is missing when not connected to Drive Space 00.

This results in OSC clients that are connected to Drive Spaces 01 and upwards becoming out of sync with Onyx.

I noticed this mainly on faders and particularly when changing banks.

As an example I monitored the OSC sent from Onyx when moving from Bank 1 to 2, to 3, to 2 and then back to Bank 1.

I ran the same test using the same show file, firstly with the OSC connection on Drive Space 00, then again with the OSC Connection on Drive Space 01.

I used Protokol to monitor the OSC messages from Onyx.

When running the test connected to Drive Space 00 there were 64 /Mx/fader FLOAT type messages sent from Onyx.

When running the test connected to Drive Space 01 there were 27 /Mx/fader FLOAT type messages sent from Onyx.

That missing data sent from Onyx when OSC is connected to anything but Drive Space 00 would seem to match with the symptoms I’ve been seeing, i.e., using OSC on anything but Drive Space 00 results in the OSC client and Onyx getting out of sync.

Drive Space 00 OSC /Mx/fader FLOAT messages
grep FLOAT OSC\ on\ 00
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.34]:49776) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)

Drive Space 00 OSC /Mx/fader FLOAT messages
grep FLOAT OSC\ on\ 01
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4203) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4213) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4223) FLOAT(236)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4233) FLOAT(246)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4243) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4253) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4263) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4273) FLOAT(0)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4283) FLOAT(255)
RECEIVE | ENDPOINT([::ffff:192.168.1.37]:60818) ADDRESS(/Mx/fader/4293) FLOAT(255)

This is a little more far reaching of a problem than I initially thought, as it also impacts the NX Touch too.

If an OSC client on any Drive Space other than 00 changes a fader level, that level is not shown correctly on a bank change of the OSC client or the NX Touch control surface.

For instance if an OSC client changes Fader 1 on Bank 1 from 0 to 100%, both the client and the NX Touch show the fader at 100%. If the OSC client or the NX Touch change to say Bank 2 and then back to Bank 1 both incorrectly show the level as something between 0 an 50%.

Both the NX Touch and the OSC client show a totally different level than what the software shows and DMX output are at.