OSC Output

Send Open Sound Control (OSC) messages over the network.

What it does

OSC Output sends a value from the graph out over the network as an OSC (Open Sound Control) message, to a host and port you set. It is a per-frame sink: for as long as the node is enabled, whatever is wired in goes out to the OSC Address you set, in the shape Value Type selects, a single number, a 2D vector, a 3D vector or a colour.

Only the input belonging to the selected Value Type is sent. With Value Type on vec3 the vec3 input goes out and the vec2 and color inputs sit unused. Send On Change skips re-sending a value that has not moved, which keeps the network quiet when many of these nodes run at once.

When to use it

ParameterTypeDefault
hostString"127.0.0.1"
portNumber8000
addressString"/output/1"
value_typeString"float"
valueNumber0
vec2Vec2(0, 0)
vec3Vec3(0, 0, 0)
colorColorrgba(0.00, 0.00, 0.00, 1.00)
enabledBooleantrue
send_on_changeBooleantrue

Gotchas

Leave Send On Change on for continuous sources like audio level or pointer position. It avoids sending the receiving app an identical message every frame.

Worked example

  1. Add an OSC Output node. Set Host to the receiving app's IP address (127.0.0.1 if it is running on the same machine) and Port to match what that app is listening on.

  2. Set OSC Address to the path the receiving app expects, e.g. /my/param.

  3. Set Value Type to match what you are sending, float for a single number, color for RGBA, and wire the matching input from upstream.

  4. Leave Enabled on and Send On Change on, then trigger a cook and confirm the receiving app sees the message arrive.

See also

OSC Input · MIDI Output · MQTT Publish · Numbers, signals & audio