osc-receiveThe main function to receive OSC messages in OM# is osc-receive.

osc-receive is a specal “receiver box”: when set reactive (with R or using the right/Ctrl-click context menu) it starts an UDP server thread bound to a given port (given as first parameter) and delivers the received messages on its output.
→ The box frame gets colored while the receiving process is running.
→ Use the same R shortcut or context menu to stop the OSC receive process.
Notes:
- If left
NIL, the receive port value is taken from the OSC preferences.- This chosen port shouldn’t already be in use anywhere (in OM# or in any other application running on the host). If a server is already running on this port in OM# (e.g. another receiver box or a recording editor), it will be proposed to abort the process before to run the new server. If a server is running in another application, an error might be raised.
osc-receiveneeds to be turned off and on again if an error occurs during the propagation of an incoming event.
Since the receive box is set reactive, any incoming OSC message can be propagated through a chain of reactive updates.

Similar to route, the osc-route box can be used to parse OSC addresses and orient the received data in visual programs.
osc-route has unlimited optional inputs which should be connected each to an OSC address. If the box output connections are reactive, notifications will be send for matching/non-NIL outputs.
(The input(s) left with :default will output value only if no addres matches.)
Otherwise (and in any case) all messages also go throught the first ouput of the box.
The second input of osc-receive (msg-processing) is a lambda patch or a lambda function called with each received OSC message or bundle before to deliver it to the box output. Only non-NIL delovered values will be set and propagated through the osc-receive box output.

OSC messages pushed through osc-receive can be collected using the collect/tcollect utilities.
→ See Memory.

The DATA-TRACK editor can record OSC bundles. When the record button is on, receiving starts on the input port defined in the OSC preferences.
While playing or looping through the DATA-TRACK, received OSC messages will be set as new OSC-BUNDLE objects at the corresponding time.
