jack-bindings-0.1: Bindings to the JACK Audio Connection Kit

Sound.Jack.JackMonad

Description

A monadic interface to the JACK api. The client handle is hidden in a Reader so you don't have to touch it.

For now please refer to the documentation of the C library found at

http://jackaudio.org/files/docs/html/jack_8h.html

for a complete description

Unlifted versions can be found in Sound.Jack.Bindings

Synopsis

Documentation

runWithNewClient :: String -> [Options] -> String -> ([Status] -> JackAction a) -> ([Status] -> IO a) -> IO aSource

create a new Client, install Exception handlers and run the supplied action

Takes the server name, creation options, the name of the client , the action to run and the action to run the client could not be created

runWithNewClientDefaultServer :: [Options] -> String -> ([Status] -> JackAction a) -> ([Status] -> IO a) -> IO aSource

create a new Client, install Exception handlers and run the supplied action

Takes creation options, the name of the client, the action to run and the action to run the client could not be created

data JackAction a Source

JackAction is a ReaderT Client over IO

Run it with runWithNewClient[DefaultServer]

unsafeAskClient :: JackAction ClientSource

Read the client handle from the reader. You shouldn't need that.

unsafeClientClose :: JackAction ()Source

close the Client. RunWithNewClient should normally do that for you.

data Port Source

Opaque.

type ProcessCallbackSource

Arguments

 = CUInt

Number of Frames to Process

-> Ptr ()

User Data

-> IO CInt 

data Client Source

Opaque.

data PortID Source

Opaque.