package jack

  1. Overview
  2. Docs

Module JackSource

Sourcetype client
Sourcetype port
Sourcetype client_open_option = [
  1. | `NoStartServer
  2. | `ServerName of string
]
Sourceval client_open : string -> client_open_option list -> client
Sourceval client_close : client -> unit
Sourceval get_sample_rate : client -> int
Sourceval get_buffer_size : client -> int
Sourcetype port_flag = [
  1. | `IsInput
  2. | `IsOutput
  3. | `IsPhysical
  4. | `CanMonitor
  5. | `IsTerminal
]
Sourceval get_ports : pattern:string -> ?port_type:string -> flags:port_flag list -> client -> string list
Sourceval default_audio_type : string
Sourceval default_midi_type : string
Sourceval port_register : ?port_type:string -> ?buffer_size:int -> client -> string -> port_flag list -> port
Sourcemodule Ringbuffer : sig ... end
Sourceval activate : client -> unit
Sourceval port_get_buffer : port -> int -> buffer
Sourceval port_unregister : client -> port -> unit
Sourceval port_connect : client -> string -> string -> unit
Sourceval port_name : port -> string
Sourcemodule Wait : sig ... end

Lightweight one-shot thread synchronization. Backed by a POSIX semaphore on Unix/macOS (via GCD dispatch semaphores on macOS) and a mutex+condition variable on Windows. One thread calls wait to block; another calls signal to unblock it.