OSC address space¶
The live, low-latency performance lane. Send OSC over UDP to port 9000;
every address lives under the root /gloopy. Use it to play notes, turn
knobs, and start/stop in real time. To build or edit a composition, use the
gRPC API instead.
Summary — Source/OscControl.h is authoritative
OSC has no schema ecosystem, so the address space is defined in Gloopy's OSC
server itself. The table below is maintained by hand against
Source/OscControl.h —
if the two ever disagree, the source wins. A planned osc.yaml schema will
generate this table, the server's dispatch/validation, and client-side
argument checking from one definition; until then, this is a summary.
Conventions¶
- Argument types:
i= int32,f= float32,s= string. Ints and floats are coerced where sensible. <id>is a track's stable id — the one gRPC prints when a track is created or a project loads. OSC acts on ids; it never creates them.- Messages are fire-and-forget and handled on the real-time network thread. There's no reply — query state over gRPC.
Transport¶
| Address | Args | Effect |
|---|---|---|
/gloopy/transport/play |
— | Start playback |
/gloopy/transport/stop |
— | Stop and rewind |
/gloopy/transport/tempo |
bpm:f |
Set tempo |
/gloopy/transport/seek |
beats:f |
Move the playhead |
/gloopy/transport/panic |
— | All notes off |
Per-track (live performance)¶
| Address | Args | Effect |
|---|---|---|
/gloopy/track/<id>/note |
pitch:i vel:i |
vel > 0 = note on, vel = 0 = note off (pitch 0–127) |
/gloopy/track/<id>/cc |
cc:i val:f |
MIDI CC; val 0.0–1.0 maps to 0–127 |
/gloopy/track/<id>/vol |
v:f |
Track volume, 0.0–1.0 |
/gloopy/track/<id>/pan |
p:f |
Pan, −1.0–1.0 |
/gloopy/track/<id>/mute |
m:i |
0 or 1 |
/gloopy/track/<id>/synth |
name:s value:f |
Tweak a built-in synth parameter live |
Per-insert (mixer)¶
| Address | Args | Effect |
|---|---|---|
/gloopy/insert/<n>/vol |
v:f |
Insert n fader |
/gloopy/insert/<n>/pan |
p:f |
Insert n pan |
/gloopy/insert/<n>/mute |
m:i |
0 or 1 |
/gloopy/insert/<n>/fx/<m>/param/<name> |
v:f |
Effect knob: insert n, effect slot m, parameter name |
Security¶
The OSC port is unauthenticated and intended for localhost / trusted LANs
only — anyone who can reach the port can control playback. The gRPC port is bound
to 127.0.0.1. Don't expose either to an untrusted network.
Related: live-note fundamentals are in the two control lanes.