The OSC protocol is based on the UDP protocol which, unfortunately, does not guarantee the delivery of messages. The messages can be dropped at any point along the path from the transmitter to the receiver of the message, either by software or hardware.
One way to deal with dropped messages would be to periodically send all of the important values, even if they have not changed. (Kyma Control does this for note-off events for the Keyboard and Tonnetz tabs).
You can reduce the likelihood of dropped UDP messages by not sending too many messages or too much data. In your particular case of mixing levels, sending updates at around 10-100 times per second should be more than sufficient, especially if you use the Capytalk smoothed message on the level EventValues and turn on linear interpolation in the Level Sound used in the mix.
There is a special message in the Kyma OSC protocol (http://www.symbolicsound.com/Learn/OpenSoundControlImplementation) to reduce the amount of data being sent: the
⇒ /vcs,if... |
eventID1, value1, ... |
Change the value of one or more VCS widgets |
message is the most efficient way to update as many as 256 values in one message. You would use the
⇒ /osc/widget,i |
index |
Request description of a VCS widget |
message to obtain the EventID for each widget in the currently active Sound.