Skip to content
Voro
  1. Audio
  2. Other

OSC Out

OSC Out is how Voro talks to the rest of a rig. It watches up to eight control lanes and a show event stream and sends what changes as OSC messages to one host and port.

Set Host and Port to the receiver, then describe what to send in Doc, one rule per line. Wire a control lane into each in0 to in7 you want sent, and a show event stream into events if you want events out.

Doc rules:

# lane 0 and lane 1 as float messages
lane 0 /voro/energy
lane 1 /voro/tempo
# every show event, with its raw fields
event /voro/event
# state entries with a readable name
state /voro/section
name 1 verse
name 2 chorus
# emitted show cues
emit /voro/cue
  • Inputs in0 to in7: control lanes. Only lanes with a lane rule are sent. Optional.
  • Input events: a show event stream. Optional.
  • Outputs: none. The network is the destination.
  • Enable: master on/off.
  • Host: destination address. Default 127.0.0.1.
  • Port: destination UDP port. Default 47311.
  • Maxrate: the most messages per second any one lane sends. Default 60, range 0.1 to 2000.
  • Doc: the routing rules, one per line. # starts a comment. Changes apply live.
  • lane <slot> <address> sends one float per message. A lane sends only when its value changes, and never faster than Maxrate. The first value goes out right away.
  • event <address> sends every show event as six arguments: kind, sequence, entity, aux (integers), then value and beat (floats).
  • state <address> sends when a state is entered: the ordinal, its label, and the beat. Labels come from name <ordinal> <label> rules. An ordinal with no name sends an empty string.
  • emit <address> sends emitted show cues as a code (integer) and a value (float).
  • Up to 8 lanes and 64 names, addresses under 96 characters.
  • Sending runs on its own thread and never blocks audio. If events arrive faster than the network drains them, the excess is dropped.
  • OSC Out sends UDP only. It does not know whether anything received the message.

Inputs

  • in0..7 row
    control_f32_v1 8 slots
  • events row
    show_event_v1

Outputs

None

Enable (Enable) Toggle op('osc_out').par.Enable
Default:
On
Options:
Off, On
Host (Host) Str op('osc_out').par.Host
Default:
127.0.0.1
Port (Port) Int op('osc_out').par.Port
Default:
47311
Range:
1 to 65535
Maxrate (Maxrate) Float op('osc_out').par.Maxrate
Default:
60
Range:
0.1 to 2000
Doc (Doc) Str op('osc_out').par.Doc
Default:
"" (Empty String)