Search
Start typing to search...

Using the OSC protocol

Author:

Initial setup

Go to Manage Devices. It can be accessed both from Startup Configuration


USING OSC IMAGE1.png


or from the Edit menu after the Composer has been started.


USING OSC IMAGE2.png


Input setup

Go to the OSC / Server section.


USING OSC IMAGE3.png


Here you can select the network Adapter and Port you want to receive OSC messages through. Choose -any- for listening on all available adapters. The default settings are usually suitable.

Please note that Aximmetry can only receive and send OSC messages via UDP.

Output setup

If you also want to send OSC messages to external devices, go to the OSC Out / UDP section.

USING OSC IMAGE4.png


Here you have to specify all the target devices you want to send OSC messages to. Click Add and specify the IP (or Hostname) and Port of the target device.


USING OSC IMAGE5.png


Repeat it for all desired devices.


USING OSC IMAGE6.png


Please note that for outputting OSC messages Aximmetry use the same adapter you selected in the Server section.


Controlling module properties and control board buttons

The usual scenario is that the incoming OSC messages only contain an address and a single floating-point number (or alternatively an integer, logical or double value). This kind of message can be used to control properties and buttons just like with MIDI or DMX controllers.

Right-click the name of a numeric or a logical property or a control board button and choose Assign OSC...

USING OSC IMAGE7.png


 USING OSC IMAGE8.png


USING OSC IMAGE9.png


Then simply send the appropriate OSC message from your controller device (e.g. move a fader or press a button) and the assignment is made.

(If you write your own controller software, please note that in order to operate a button you have to send a value 1 then after a short while a value 0. It corresponds to the concept of controller button push = 1, release = 0).

To see and manage all the OSC assignments you made in your compound go to File / Properties / OSC Assignments.


USING OSC IMAGE10.png

Controlling the Flow graph

You can also build controlling structures within the flow graph using the OSC modules.

Scalar input

For the OSC messages containing a single floating point number (or alternatively an integer, logical or double value) you can use the OSC Scalar module.

aUSING OSC IMAGE11.png

For the module, you have to specify an OSC Address.

USING OSC IMAGE12.png

It can be entered manually, but you can also use the Learn function. Turn On Learn

USING OSC IMAGE13.png

then move/press a fader/button on your OSC controlling device. The address will be filled in automatically.

Vector input

If the OSC message contains an arbitrary number of floating-point values representing a 2D or 3D position or any arbitrary series of numbers you can use the OSC Vector module.


USING OSC IMAGE14.png

Trigger input

The OSC Trigger module sends a signal each time an OSC message containing any non-zero value arrives.

General input

OSC messages can contain any number of arguments of various types. To handle any general case use the OSC Method module.

It outputs a collection with each argument assigned the keys 1, 2, 3, etc. In this example below, we’ve received a message with 5 arguments of types float, string, Nil, integer, and a logical true (,fsNiT).


USING OSC IMAGE15.png


In order to access the individual arguments, you can use the standard Collection modules. E.g. if you need the second string argument use the Collection Text module:


USING OSC IMAGE16.png


To access the second argument enter 2 into the Key property (please pay attention for not entering the number into the Index property which is incorrect in this case).


USING OSC IMAGE17.png


You can access the other arguments similarly.


USING OSC IMAGE18.png


On handling the collection data type in general see more info, see Pin Data Types - 04 - Transformation, Collection.

Sending OSC output

For the opposite scenario, when you want to control external devices from Aximmetry via OSC use the OSC * Out modules.

Scalar and vector output

For single numeric values or a series of numbers use the OSC Scalar Out and OSC Vector Out modules.


USING OSC IMAGE19.png


For these, you have to specify an output Device (from the list you’ve created in the initial setup, see above), and a target address.


USING OSC IMAGE20.png


The actual sending of the message can be performed in two ways. You can send it at a specific time by triggering it via the Send pin. Alternatively, you can turn On Auto Send, in this case, each time the Argument value is changed it is sent automatically.

General output

For sending an arbitrary number of arguments of any type use the OSC Out module.

E.g. to achieve the message structure we’ve seen above do the following:


USING OSC IMAGE21.png


USING OSC IMAGE22.png


USING OSC IMAGE23.png


USING OSC IMAGE24.png


USING OSC IMAGE25.png


USING OSC IMAGE26.png


Please note that we do not add any argument for Key = 3. In this case, a Nil element will be inserted as the third argument.

Article content

Loading
Close
1/10