In this workshop we’ll learn how to send and receive OSC commands in Kinetic Designer.
OSC is the acronym for Open Sound Control. This protocol was created to send messages between different applications over TCP/IP. Many different software support this protocol and therefore it can provide an easy way of communication between applications.
If you do not have another application to send OSC, download and install Touch OSC which can be used as a freeware (no license required) for the purpose of this workshop.
In this workshop we’ll use OSC over UDP.
Using OSC
In the device manager create an OSC device.
The OSC protocol can be used to communicate between different machines on the network, but in this example we’ll connect two applications together (Kinetic Designer and TouchOSC)
Select the OSC device and in the Editor
panel tick the Input and Output options. Leave the default port numbers and set the Output IP to 127.0.0.1.
Structure of an OSC message
An OSC message is composed of a message or path which contains values.
The message is defined by a sequence of words separated by /
characters (for example /modulo/task/1). This string is defined arbitrarily but it is imperative that the sender and receiver use the same syntax.
The values can be Boolean, integers, float or strings.
OSC in the Graph Editor
Create a compute graph in the Graph Editor
and drag & drop the OSC device twice. Select the Receive floating number array option and the Send osc command (floating number parameter) option.
The first node will enable us to receive data from another application and the second one will enable us to send data to the other application.
Open the Touch OSC application and in the top menu go to Edit > Connections.
Setup the connection according to the following parameters:
In the graph, set up the following nodes:
In the Touch OSC application create a button. By default this first button will have the /button1 address.
Set the Touch OSC graph in run mode and click the button. You should see the receive part of Kinetic Designer’s graph react.
In the same way, if you send 0 or 1 as a value in the send part of Kinetic Designer’s graph, you should see the button react in Touch OSC.
Feel free to explore further possibilities of interaction between Touch OSC and Kinetic Designer.
OSC in a task
Drag & drop the OSC device in a task as a subtask.
In the subtask, select the option Send message + float and configure it to send the following:
- message: /button1
- value: 1
Create another task to send the same message with a 0 value.
Manual use: Digimap:
It is also possible to create a digimap that will receive a value from an OSC device.
We add a touchpad in touch osc.
We create a digimap, we patch it to the x-position of a media.
We create a second digimap and patch it to the y-position of a media.
sending an OSC command to a device:
You can also send commands to an OSC application using a task.
For example, we will create two tasks to move a button in the TouchOSC application.
Need more help with this?
Don’t hesitate to contact us here.