Skip to content

OSC output from zcx

zcx will send Open Sound Control (OSC) messages on certain events. This may be useful for interfacing with other systems, such as TouchOSC.

Configuring the OSC server

zcx uses the existing OSC server provided by ClyphX Pro. Thus, to configure the server, you must modify the ClyphX Pro configuration file Preferences.txt.

Near the bottom of this file, under the label OSC SETTINGS, you should have a line like:

INCOMING_OSC_PORT = 7005

You must add two lines below this line:

Preferences.txt
*** [OSC SETTINGS] ***

INCOMING_OSC_PORT = 7005
OUTGOING_OSC_PORT = 7000
OSC_DEVICE_IP_ADDRESS = 127.0.0.1

Warning

The above settings are an example only; they will need to be set according to your network and situation.

Configuring what information is sent

By default, all the data listed in available outputs is sent. You can disable some (or all) of these outputs via the zcx file preferences.yaml.

OSC namespace

An OSC message sent from zcx will use an address like this:

zcx/zcx_push_1/enc/enc_1/value

The first part, zcx, indicates that the message comes from a zcx script, which is useful when using an external tool to route messages.

The second part, zcx_push_1, is the name of the particular zcx script sending the message. This is useful when using multiple zcx scripts simultaneously, as it allows you to route messages per-script.

One such routing tool is OSCRouter from ETC Labs.

Available outputs

Encoder mappings

For encoders, zcx will send the name of the mapped parameter, as well as the value as several datatypes. You may configure the datatypes sent in preferences.yaml.

name

The name of the mapped parameter, as it appears in the Live UI:

Address: zcx/<script name>/enc/<encoder name>/name

Value: string

value

The value of the mapped parameter, as it appears in the Live UI:

Address: zcx/<script name>/enc/<encoder name>/value

Value: string

int

The value of the mapped parameter, as an integer between 0-127:

Address: zcx/<script name>/enc/<encoder name>/int

Value: int

float

The value of the mapped parameter, as a float between 0.0-1.0:

Address: zcx/<script name>/enc/<encoder name>/float

Value: float

Page changes

zcx will send messages when the page is changed.

page number

Address: zcx/<script name>/page/number/<current page number>

Value: int

page name

Address: zcx/<script name>/page/name/<current page name>

Value: string

session ring

zcx will send messages relating to the session ring.

ring tracks

When the ring moves horizontally, zcx will send one message for each column (track) of the ring:

Address: zcx/<script name>/ring/track/<index>/<track name>

Value: string

ring coordinates

When the ring moves, zcx will send the x (track) and y (scene) positions of the top-left corner of the ring:

Address: zcx/<script name>/ring/pos_x/<x position> and zcx/<script name>/ring/pos_y/<y position>

Value: int