alsa-seq-0.6.0.9: Binding to the ALSA Library API (MIDI sequencer).
Copyright(c) Henning Thielemann 2010-2012
(c) Iavor S. Diatchki 2007
LicenseBSD3
MaintainerHenning Thielemann
Stabilityprovisional
Safe HaskellSafe-Inferred
LanguageHaskell2010

Sound.ALSA.Sequencer.Queue

Description

This module contains functions for working with sequencer queue. Reference: http://www.alsa-project.org/alsa-doc/alsa-lib/group___seq_queue.html

Synopsis

General Queue Functions

data T Source #

The type of queue identifiers.

Instances

Instances details
Storable T Source # 
Instance details

Defined in Sound.ALSA.Sequencer.Marshal.Queue

Methods

sizeOf :: T -> Int #

alignment :: T -> Int #

peekElemOff :: Ptr T -> Int -> IO T #

pokeElemOff :: Ptr T -> Int -> T -> IO () #

peekByteOff :: Ptr b -> Int -> IO T #

pokeByteOff :: Ptr b -> Int -> T -> IO () #

peek :: Ptr T -> IO T #

poke :: Ptr T -> T -> IO () #

Show T Source # 
Instance details

Defined in Sound.ALSA.Sequencer.Marshal.Queue

Methods

showsPrec :: Int -> T -> ShowS #

show :: T -> String #

showList :: [T] -> ShowS #

Eq T Source # 
Instance details

Defined in Sound.ALSA.Sequencer.Marshal.Queue

Methods

(==) :: T -> T -> Bool #

(/=) :: T -> T -> Bool #

Ord T Source # 
Instance details

Defined in Sound.ALSA.Sequencer.Marshal.Queue

Methods

compare :: T -> T -> Ordering #

(<) :: T -> T -> Bool #

(<=) :: T -> T -> Bool #

(>) :: T -> T -> Bool #

(>=) :: T -> T -> Bool #

max :: T -> T -> T #

min :: T -> T -> T #

alloc Source #

Arguments

:: T mode 
-> IO T

Queue.T identifier.

allocNamed :: T mode -> String -> IO T Source #

free Source #

Arguments

:: T mode

Sequencer handle.

-> T

Queue.T identifier.

-> IO () 

Delete the specified queue.

with :: T mode -> (T -> IO a) -> IO a Source #

withNamed :: T mode -> String -> (T -> IO a) -> IO a Source #

control Source #

Arguments

:: T mode

Sequencer handle.

-> T

target Queue.T.

-> QueueEv 
-> Maybe T

prototype event that may provide timestamp, source queue

-> IO () 

startstopcontinue a queue

In the prototype event you can provide additional information. The prototype event does not need to be a queue control event, this part is ignored anyway. In the prototype event you may also specify a queue. This is the queue that the timestamp of the prototype event refers to. This way you can control the target queue using timing from another queue.