vuo.osc
These nodes are for sending and receiving Open Sound Control (OSC) messages.
These nodes allow your composition to send messages to and receive messages from OSC-enabled devices and applications. Devices include sound synthesizers, stage lighting equipment, and control surfaces (including iPhone/iPad and Android apps). Applications include TouchOSC, Lemur, and Vezér.
To use a device or application to remote-control your composition, do one of the following:
- If the device or application supports Bonjour, run the composition, then, in the device or application, select the Vuo composition from its list of available hosts.
- In the device or application, find the UDP port that it’s sending on. In the composition, create a
Make OSC Input
node with that port number, and connect it to the Receive OSC Messages
node.
- In the composition, create a
Make OSC Input
node and set it to use a UDP port of your choice (typically 1024 or higher), then connect it to the Receive OSC Messages
node. In the device or application, set it to send on that UDP port.
To use your composition to control a device or application, do one of the following:
- If the device or application supports Bonjour, run the composition, then, in the device or application, select the Vuo composition from its list of available hosts.
- In the device or application, find the UDP port that it’s listening on. In the composition, create a
Make OSC Output
node with that port number, and connect it to the Send OSC Messages
node.
- To send to just a single device or application, find the IP address and UDP port that it’s listening on. In the composition, create a
Make OSC IP Output
node with that IP address and port number, and connect it to the Send OSC Messages
node.
- In the composition, create a
Make OSC Output
node and set it to use a UDP port of your choice (typically 1024 or higher), then connect it to the Send OSC Messages
node. In the device or application, set it to listen on that UDP port.
The UDP port is a number that represents the connection between the OSC sender and receiver. The sender and receiver both need to use the same UDP port. The UDP port is either set manually by the user or discovered automatically through Bonjour.
Each OSC message contains an address and, optionally, one or more data values.
The address is a piece of text beginning with /
. Often, it looks like a file path or part of a URL, for example /1/fader
. It may be used to describe how the data values should be interpreted, for example as positions of a fader control.
Each data value is a simple piece of information (integer, real, boolean, or text). For example, a data value of 0.3 accompanying the address /1/fader
could indicate that a fader control has been set to position 0.3.
These nodes are based on the OSC 1.0 specification. The following type tags are supported: nil (N
), true (T
), false (F
), float32 (F
), int32 (I
), int64 (H
), and OSC-string (S
).
Example compositions:
- Receive Osc: Sets up an OSC server. The OSC messages received cause the rectangle to move.
Nodes:
- Filter by Address (vuo.osc.filter.address): Only lets an OSC message pass through if its address is exactly the same as the Address input port.
- Find OSC Inputs by Name (vuo.osc.find.input.name): Given a list of OSC input devices, finds the devices whose names match a specified name.
- Find OSC Outputs by Name (vuo.osc.find.output.name): Given a list of OSC output devices, finds the devices whose names match a specified name.
- Get OSC Input Values (vuo.osc.get.input): Gives information about an OSC input device.
- Get OSC Output Values (vuo.osc.get.output): Gives information about an OSC output device.
- List OSC Devices (vuo.osc.listDevices): Gives a list of OSC devices on the local network that are capable of sending or receiving data.
- Make OSC Input (vuo.osc.make.input): Connect this node to Receive OSC Messages to dynamically choose an OSC port to listen on.
- Make OSC Output (vuo.osc.make.output): Connect this node to Send OSC Messages to dynamically choose an OSC port to broadcast on.
- Make OSC IP Output (vuo.osc.make.output.ip): Connect this node to Send OSC Messages to dynamically choose an OSC device to send to.
- Get Message Values (vuo.osc.message.get.1): Outputs the OSC message’s address and first data value.
- Get Message Values (vuo.osc.message.get.11): Outputs the OSC message’s address and first 11 data values.
- Get Message Values (vuo.osc.message.get.2): Outputs the OSC message’s address and first 2 data values.
- Get Message Values (vuo.osc.message.get.3): Outputs the OSC message’s address and first 3 data values.
- Get Message Values (vuo.osc.message.get.4): Outputs the OSC message’s address and first 4 data values.
- Make Message (vuo.osc.message.make.1): Creates an OSC message with 1 data value.
- Make Message (vuo.osc.message.make.11): Creates an OSC message with 11 data values.
- Make Message (vuo.osc.message.make.2): Creates an OSC message with 2 data values.
- Make Message (vuo.osc.message.make.3): Creates an OSC message with 3 data values.
- Make Message (vuo.osc.message.make.4): Creates an OSC message with 4 data values.
- Receive OSC Messages (vuo.osc.receive2): Fires events when OSC messages are received from an input device.
- Send OSC Messages (vuo.osc.send): Sends OSC messages to the network.