34 lines
667 B
Nim
34 lines
667 B
Nim
import std/os
|
|
import jacket
|
|
|
|
var jclient: ClientTPtr
|
|
var status: cint
|
|
|
|
proc cleanup() {.noconv.} =
|
|
echo "Cleaning up..."
|
|
|
|
if jclient != nil:
|
|
discard clientClose(jclient)
|
|
jclient = nil
|
|
|
|
quit 0
|
|
|
|
|
|
jclient = clientOpen("jacket_port_register", NoStartServer.ord or UseExactName.ord, addr status)
|
|
|
|
echo "Server status: " & $status
|
|
|
|
if jclient == nil:
|
|
echo getJackStatusErrorString(status)
|
|
quit 1
|
|
|
|
setControlCHook(cleanup)
|
|
|
|
discard portRegister(jclient, "in_1", JACK_DEFAULT_AUDIO_TYPE, PortIsInput.ord, 0)
|
|
discard portRegister(jclient, "out_1", JACK_DEFAULT_AUDIO_TYPE, PortIsOutput.ord, 0)
|
|
|
|
while true:
|
|
sleep(50)
|
|
|
|
cleanup()
|