Safe Haskell | None |
---|
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
- run :: T mode -> T a -> IO a
- setInput :: T ()
- putInput :: Bool -> T ()
- getInput :: T Bool
- setOutput :: T ()
- putOutput :: Bool -> T ()
- getOutput :: T Bool
- setChannel :: Channel -> T ()
- putChannel :: Maybe Channel -> T ()
- getChannel :: T (Maybe Channel)
- setEventType :: Type e => e -> T ()
- putEventType :: Type e => Maybe e -> T ()
- setTag :: Tag -> T ()
- putTag :: Maybe Tag -> T ()
- getTag :: T (Maybe Tag)
- setDest :: (T, T) -> T ()
- putDest :: Maybe (T, T) -> T ()
- getDest :: T (Maybe (T, T))
- setTime :: Ordering -> Stamp -> T ()
- putTime :: Maybe Ordering -> Stamp -> T ()
- getTime :: T (Maybe Ordering, Stamp)
- setIgnoreOff :: T ()
- putIgnoreOff :: Bool -> T ()
- getIgnoreOff :: T Bool
Documentation
All events in the local input buffer are removed.
The conditions are not checked for these events.
This is equivalent to dropInputBuffer
.
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
.
setChannel :: Channel -> T ()Source
putChannel :: Maybe Channel -> T ()Source
getChannel :: T (Maybe Channel)Source
setEventType :: Type e => e -> T ()Source
putEventType :: Type e => Maybe e -> 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.
setIgnoreOff :: T ()Source
NoteOff events are kept in any case.
putIgnoreOff :: Bool -> T ()Source