No matching definitions.

osc/server

src/osc/server.tur
defn

server-new

(server-new [port :cstr proto :cstr] :ptr<void>)

create a new UDP OSC server thread on the given port.

portport string (e.g. "7770"); passed directly to liblo
protoignored; always creates a UDP server in this implementation

(ok st-ptr) on success; (err 0) on failure. st-ptr is an opaque :int handle; pass to server-free and server-add-method.

(let [r (server-new "7770" "udp")]
    (if (ok? r) (let [s (ok-val r)] ...) (println "server-new failed")))

Since: OSC0

defn

server-new-tcp

(server-new-tcp [port :cstr] :ptr<void>)

create a new TCP OSC server thread on the given port.

portport string (e.g. "7771")

(ok st-ptr) on success; (err 0) on failure.

(let [r (server-new-tcp "7771")]
    (if (ok? r) (let [s (ok-val r)] ...) (println "server-new-tcp failed")))

Since: OSC0

defn

server-free

(server-free [s :int] :void)

stop and free a server thread created by server-new or server-new-tcp.

sst-ptr (ok-val from server-new or server-new-tcp)

void

(server-free s)

Since: OSC0

defn

server-add-method

(server-add-method [s :int path :cstr typespec :cstr handler :int] :void)

register a handler for an OSC path and type spec.

sst-ptr (ok-val from server-new)
pathOSC address path string (e.g. "/synth/freq"); NULL matches all
typespecOSC type tag string (e.g. "f"); NULL matches all
handlerreserved for future Turmeric FFI callback support; ignored

void Note: Full Turmeric-function callbacks require a future FFI API. This implementation registers a no-op C handler so the path/typespec entry exists in the server dispatch table.

(server-add-method s "/synth/freq" "f" 0)

Since: OSC0

defn

server-recv

(server-recv [s :int timeout-ms :int] :int)

dispatch pending OSC messages, blocking up to timeout-ms milliseconds.

sst-ptr (ok-val from server-new)
timeout-msmaximum wait time in milliseconds

Number of messages dispatched as :int.

(server-recv s 100)  ; => 1

Since: OSC0

defn

server-recv-noblock

(server-recv-noblock [s :int] :int)

dispatch any pending OSC messages without blocking.

sst-ptr (ok-val from server-new)

Number of messages dispatched as :int (0 if none pending).

(server-recv-noblock s)  ; => 0

Since: OSC0

Internal definitions
__ok-- create an ok result wrapping integer value v.
__err-- create an err result wrapping integer error value e.