`sig
type t
type converter =
Best_quality
| Medium_quality
| Fastest
| Zero_order_hold
| Linear
exception Open
exception Bytes_per_output_frame_invalid
exception Bytes_per_input_frame_invalid
exception Too_many_output_channels
exception Port_name_output_channel_mismatch
exception Port_not_found
exception Too_many_input_channels
exception Port_name_input_channel_mismatch
val set_conversion_function : Bjack.converter -> unit
type port_flag = Input | Output | Physical | Monitor | Terminal
val open_t :
?ringbuffer_size:int ->
?server_name:string ->
rate:int ->
bits_per_sample:int ->
input_channels:int ->
output_channels:int ->
flags:Bjack.port_flag list -> client_name:string -> unit -> Bjack.t
val close : Bjack.t -> unit
val write : Bjack.t -> string -> int
val read : Bjack.t -> int -> string
val reset : Bjack.t -> unit
type position_unit = Bytes | Milliseconds
type position_type = Played | Written_to_jack | Written
val get_position :
position_unit:Bjack.position_unit ->
position_type:Bjack.position_type -> Bjack.t -> int
val set_position :
position_unit:Bjack.position_unit -> Bjack.t -> int -> unit
val get_output_latency : Bjack.t -> int
val get_input_latency : Bjack.t -> int
type playing_state = Playing | Paused | Stopped | Closed | Reset
val set_state : Bjack.t -> Bjack.playing_state -> unit
val get_state : Bjack.t -> Bjack.playing_state
val get_max_output_buffered_bytes : Bjack.t -> int
val get_max_input_buffered_bytes : Bjack.t -> int
val get_jack_buffered_bytes : Bjack.t -> int
type volume = Linear | Decibel
val set_volume_effect_type : Bjack.t -> Bjack.volume -> Bjack.volume
val set_all_volume : Bjack.t -> int -> unit
val set_channel_volume : channel:int -> device:Bjack.t -> int -> unit
val get_channel_volume : Bjack.t -> int -> int
val get_output_bytes_per_second : Bjack.t -> int
val get_input_bytes_per_second : Bjack.t -> int
val get_bytes_stored : Bjack.t -> int
val get_bytes_free_space : Bjack.t -> int
val get_bytes_used_space : Bjack.t -> int
val get_bytes_per_output_frame : Bjack.t -> int
val get_bytes_per_input_frame : Bjack.t -> int
val get_num_output_channels : Bjack.t -> int
val get_num_input_channels : Bjack.t -> int
val get_sample_rate : Bjack.t -> int
end`