OM# Documentation

Receiving OSC

osc-receive

The 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:

Since the receive box is set reactive, any incoming OSC message can be propagated through a chain of reactive updates.

Routing OSC

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.

Message pre-processing

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.

Collecting

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

→ See Memory.

Recording

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.