alsa-seq-0.6.0.7: Binding to the ALSA Library API (MIDI sequencer).

Safe HaskellNone
LanguageHaskell2010

Sound.ALSA.Sequencer.Event.RemoveMonad

Description

This module allows to cancel events according to some criteria. In all cases other than setInput and setOutput the criteria are combined by logical AND. For every criterion we provide three kinds of accessors:

  • set: enable a criterion
  • put: enable or disable a criterion
  • get: query, whether the criterion is enabled or disabled.

Currently only the set functions are really usable. The put and get functions would become useful for manipulating the remove criterion record, that ALSA maintains.

Synopsis

Documentation

data T a Source #

Instances

Monad T Source # 

Methods

(>>=) :: T a -> (a -> T b) -> T b #

(>>) :: T a -> T b -> T b #

return :: a -> T a #

fail :: String -> T a #

Functor T Source # 

Methods

fmap :: (a -> b) -> T a -> T b #

(<$) :: a -> T b -> T a #

Applicative T Source # 

Methods

pure :: a -> T a #

(<*>) :: T (a -> b) -> T a -> T b #

(*>) :: T a -> T b -> T b #

(<*) :: T a -> T b -> T a #

run :: T mode -> T a -> IO a Source #

Remove events according to the given conditions

setInput :: T () Source #

All events in the local input buffer are removed. The conditions are not checked for these events. This is equivalent to dropInputBuffer.

setOutput :: T () Source #

Matching events in the local output buffer are removed, too. Matching events in the kernel buffer are removed in any case. If there are no further conditions, then this is equivalent to dropOutputBuffer.

setEventType :: Type e => e -> T () Source #

putEventType :: Type e => Maybe e -> T () Source #

setTag :: Tag -> T () Source #

setDest :: (T, T) -> T () Source #

ALSA maintainers say, that destination address and queue are checked together, at least in the kernel buffer. However up to ALSA-1.0.22 the check for the queue is missing in libasound for the local buffer.

putDest :: Maybe (T, T) -> T () Source #

setIgnoreOff :: T () Source #

NoteOff events are kept in any case.