rill-osc 0.5.0-beta.6

OSC server and networking for Rill signal graph
Documentation

rill-osc

OSC (Open Sound Control) server and networking for remote control of Rill audio graphs.

For graph-integrated OSC sensors, see rill-patchbay::osc::OscSensor and spawn_osc_sensor — these use this crate's parsing to feed OSC events into the rill actor system for parameter mapping.

Key components

  • OscServer — async UDP server with address-pattern dispatching
  • OSC typesOscMessage, OscBundle, OscPacket, OscType (Int, Float, String, Blob, Timetag)
  • Encode/decode — complete OSC packet serialization and parsing
  • Pattern matching* wildcard support for handler registration
  • TimeTag — NTP-format timetag for bundle scheduling

Usage

let mut server = OscServer::bind("127.0.0.1:9000").await?;
server.handle("/audio/volume", |msg, _src| {
    if let Some(OscType::Float(val)) = msg.args.first() {
        println!("volume = {}", val);
    }
});
server.run().await?;

Dependencies

Standalone — no rill-core dependency. Uses tokio for async UDP.

Links