refactor: some style improvemnts in examples

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2022-10-06 16:28:25 +02:00
parent eff627e4ec
commit b8d5119d03
3 changed files with 48 additions and 53 deletions

View File

@ -1,32 +1,30 @@
import std/strformat
import jacket
var client: ClientTPtr
var jclient: ClientTPtr
var time: TimeT
var status: cint
client = clientOpen("test_jacket", ord(NullOption), addr status)
jclient = clientOpen("test_jacket", NullOption.ord, addr status)
echo fmt"Server status: {status}"
echo "Server status: " & $status
if client == nil:
if jclient == nil:
echo getJackStatusErrorString(status)
quit 1
time = getTime()
var ver = getVersionString()
echo fmt"JACK version: {ver}"
var rate = getSampleRate(client)
echo fmt"Sample rate: {rate}"
var bufsize = getBufferSize(client)
echo fmt"Buffer size: {bufsize}"
var load = cpuLoad(client)
echo fmt"DSP load: {load}%"
echo fmt"Server time: {time}"
var name = getClientName(client)
echo fmt"Client name: {name}"
var rt = if isRealtime(client) > 0: "yes" else: "no"
echo fmt"RT enabled: {rt}"
let ver = getVersionString()
echo "JACK version: " & $ver
let rate = getSampleRate(jclient)
echo "Sample rate: " & $rate
let bufsize = getBufferSize(jclient)
echo "Buffer size: " & $bufsize
let load = cpuLoad(jclient)
echo "DSP load: " & $load & "%"
echo "Server time: " & $time
let name = getClientName(jclient)
echo "Client name: " & $name
let rt = if isRealtime(jclient) > 0: "yes" else: "no"
echo "RT enabled: " & rt
discard clientClose(client)
discard clientClose(jclient)

View File

@ -1,55 +1,51 @@
import std/[strformat, os]
import std/os
import jacket
var client: ClientTPtr
var jclient: ClientTPtr
var status: cint
proc cleanup() {.noconv.} =
echo "Cleaning up..."
if client != nil:
discard deactivate(client)
discard clientClose(client)
client = nil
if jclient != nil:
discard deactivate(jclient)
discard clientClose(jclient)
jclient = nil
quit 0
proc portConnected(portA: PortIdT; portB: PortIdT; connect: cint; arg: pointer) {.cdecl.} =
let portAPtr = portById(client, portA)
let portBPtr = portById(client, portB)
let portAPtr = portById(jclient, portA)
let portBPtr = portById(jclient, portB)
if portAPtr != nil:
let portAName = portName(portAPtr)
echo fmt"Port A: {portAName}"
echo "Port A: " & $portName(portAPtr)
else:
echo "Port A: <unknown>"
if portAPtr != nil:
let portBName = portName(portBPtr)
echo fmt"Port B: {portBName}"
echo "Port B: " & $portName(portBPtr)
else:
echo "Port B: <unknown>"
let action = if connect > 0: "connect" else: "disconnect"
echo fmt"Action: {action}"
echo "Action: " & (if connect > 0: "connect" else: "disconnect")
client = clientOpen("jacket_port_register", ord(NoStartServer) or ord(UseExactName), addr status)
jclient = clientOpen("jacket_port_register", NoStartServer.ord, addr status)
echo fmt"Server status: {status}"
echo "Server status: " & $status
if client == nil:
if jclient == nil:
echo getJackStatusErrorString(status)
quit 1
discard portRegister(client, "in_1", JACK_DEFAULT_AUDIO_TYPE, ord(PortIsInput), 0)
discard portRegister(client, "out_1", JACK_DEFAULT_AUDIO_TYPE, ord(PortIsOutput), 0)
discard portRegister(jclient, "in_1", JACK_DEFAULT_AUDIO_TYPE, PortIsInput.ord, 0)
discard portRegister(jclient, "out_1", JACK_DEFAULT_AUDIO_TYPE, PortIsOutput.ord, 0)
if setPortConnectCallback(client, portConnected, nil) != 0:
if setPortConnectCallback(jclient, portConnected, nil) != 0:
echo "Error: could not set port connection callback."
discard activate(client)
discard activate(jclient)
while true:
sleep(50)

View File

@ -1,30 +1,31 @@
import std/[strformat, os]
import std/os
import jacket
var client: ClientTPtr
var jclient: ClientTPtr
var status: cint
proc cleanup() {.noconv.} =
echo "Cleaning up..."
if client != nil:
discard clientClose(client)
client = nil
if jclient != nil:
discard clientClose(jclient)
jclient = nil
quit 0
client = clientOpen("jacket_port_register", ord(NoStartServer) or ord(UseExactName), addr status)
jclient = clientOpen("jacket_port_register", NoStartServer.ord or UseExactName.ord, addr status)
echo fmt"Server status: {status}"
echo "Server status: " & $status
if client == nil:
if jclient == nil:
echo getJackStatusErrorString(status)
quit 1
setControlCHook(cleanup)
discard portRegister(client, "in_1", JACK_DEFAULT_AUDIO_TYPE, ord(PortIsInput), 0)
discard portRegister(client, "out_1", JACK_DEFAULT_AUDIO_TYPE, ord(PortIsOutput), 0)
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)