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:
*** [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.
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.
Configuring what information is sent¶
By default, no OSC data is sent.
You may enable the particular OSC output you want through the preferences.yaml option osc_output.
Read on to see the appropriate values for osc_output.
Available outputs¶
Encoder mappings¶
For encoders, zcx will send the name of the mapped parameter, as well as the value as several datatypes.
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/
Value: int
page name¶
Address: /zcx/<script name>/page/name/
Value: string
session ring¶
zcx will send messages relating to the session ring.
ring tracks¶
zcx will send the name of each track inside the ring:
Address: /zcx/<script name>/ring/track/<index>/
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 as an integer:
Address: /zcx/<script name>/ring/pos_x/ and /zcx/<script name>/ring/pos_y/
Value: int