Line 202:
Line 202:
Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. Zynthian implements OSC in various ways.
Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. Zynthian implements OSC in various ways.
−
==== CUIA ====
+
==== CUIA: Callable User Interface Actions ====
−
The CUIA features described in the [[Zynthian_UI_Users_Guide#CUIA:_Callable_UI_Actions|user's guide]] can be accessed using OSC on port UDP 1370. The OSC base path for CUIA messages is
+
The CUIA is a unidirectional remote API that can be used for sending simple control messages to zynthian. The CUIA can be accessed in several ways, as described in the [[Zynthian_UI_Users_Guide#CUIA:_Callable_UI_Actions|user's guide]] and this chapter explains how to access the CUIA using OSC on port UDP 1370.
+
+
The OSC base path for CUIA messages is
+
/cuia
/cuia
Example:
Example:
−
/cuia/reboot
+
/cuia/restart_ui
−
Note: CUIA paths are case insensitive, e.g.
+
Note that CUIA paths are case insensitive, e.g.
/cuia/reboot
/cuia/reboot
Line 216:
Line 219:
Some examples using the command line tool "osc_send":
Some examples using the command line tool "osc_send":
−
# send_osc 1370 /CUIA/SCREEN_MAIN
# send_osc 1370 /CUIA/SCREEN_MAIN
# send_osc 1370 /CUIA/LAYER_CONTROL 2
# send_osc 1370 /CUIA/LAYER_CONTROL 2
Line 222:
Line 224:
An example Python script to start a MIDI recording:
An example Python script to start a MIDI recording:
import liblo
import liblo
−
liblo.send(('zynthian.local', 1370), "/cuia", ('s', 'START_MIDI_RECORD'))
+
liblo.send(('zynthian.local', 1370), "/CUIA", ('s', 'START_MIDI_RECORD'))
+
+
And this is the full list of CUIAs:
+
+
{| class="wikitable"
+
|+ CUIA list
+
|-
+
! Action !! Parameters !! Description
+
|-
+
| POWER_OFF || ||
+
|-
+
| REBOOT || ||
+
|-
+
| RESTART_UI || ||
+
|-
+
| RELOAD_MIDI_CONFIG || ||
+
|-
+
| RELOAD_KEY_BINDING || ||
+
|-
+
| LAST_STATE_ACTION || ||
+
|-
+
| ALL_NOTES_OFF || ||
+
|-
+
| ALL_SOUNDS_OFF || ||
+
|-
+
| ALL_OFF || ||
+
|-
+
| TOGGLE_AUDIO_RECORD || ||
+
|-
+
| START_AUDIO_RECORD || ||
+
|-
+
| STOP_AUDIO_RECORD || ||
+
|-
+
| TOGGLE_AUDIO_PLAY || ||
+
|-
+
| START_AUDIO_PLAY || ||
+
|-
+
| STOP_AUDIO_PLAY || ||
+
|-
+
| TOGGLE_MIDI_RECORD || ||
+
|-
+
| START_MIDI_RECORD || ||
+
|-
+
| STOP_MIDI_RECORD || ||
+
|-
+
| TOGGLE_MIDI_PLAY || ||
+
|-
+
| START_MIDI_PLAY || ||
+
|-
+
| STOP_MIDI_PLAY || ||
+
|-
+
| SELECT || %i || Highlight an element in the list
+
|-
+
| SELECT_UP || ||
+
|-
+
| SELECT_DOWN || ||
+
|-
+
| BACK_UP || ||
+
|-
+
| BACK_DOWN || ||
+
|-
+
| LAYER_UP || ||
+
|-
+
| LAYER_DOWN || ||
+
|-
+
| SNAPSHOT_UP || ||
+
|-
+
| SNAPSHOT_DOWN || ||
+
|-
+
| SWITCH_BACK_SHORT || ||
+
|-
+
| SWITCH_BACK_BOLD || ||
+
|-
+
| SWITCH_BACK_LONG || ||
+
|-
+
| SWITCH_SELECT_SHORT || ||
+
|-
+
| SWITCH_SELECT_BOLD || ||
+
|-
+
| SWITCH_SELECT_LONG || ||
+
|-
+
| SWITCH_LAYER_SHORT || ||
+
|-
+
| SWITCH_LAYER_BOLD || ||
+
|-
+
| SWITCH_LAYER_LONG || ||
+
|-
+
| SWITCH_SNAPSHOT_SHORT || ||
+
|-
+
| SWITCH_SNAPSHOT_BOLD || ||
+
|-
+
| SWITCH_SNAPSHOT_LONG || ||
+
|-
+
| SCREEN_MAIN || ||
+
|-
+
| SCREEN_LAYER || ||
+
|-
+
| SCREEN_BANK || ||
+
|-
+
| SCREEN_PRESET || ||
+
|-
+
| SCREEN_CONTROL || ||
+
|-
+
| MODAL_SNAPSHOT || ||
+
|-
+
| MODAL_AUDIO_RECORDER || ||
+
|-
+
| MODAL_MIDI_RECORDER || ||
+
|-
+
| MODAL_ALSA_MIXER || ||
+
|-
+
| MODAL_STEPSEQ || ||
+
|-
+
| MODAL_ADMIN || ||
+
|-
+
| LAYER_CONTROL || %i || Set active layer to %i and show control screen
+
|}
==== TouchOSC ====
==== TouchOSC ====