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

Safe HaskellNone



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.



data T a Source


run :: T mode -> T a -> IO aSource

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.