module Sound.ALSA.Sequencer.Client.Info
( T
, get
, getAny
, queryFirst
, queryNext
, queryLoop_
, queryLoop
, set
, copy
, clone
, getClient
, getType
, getName
, getBroadcastFilter
, getErrorBounce
, getNumPorts
, getEventLost
, setClient
, setName
, setBroadcastFilter
, setErrorBounce
, filterClear
, filterAdd
, filterDel
, filterCheck
) where
import Sound.ALSA.Sequencer.Marshal.ClientInfo
import qualified Sound.ALSA.Sequencer.Client.Info.EventFilter as Filter
import qualified Sound.ALSA.Sequencer.Marshal.Sequencer as Seq
import qualified Sound.ALSA.Sequencer.Marshal.Event as Event
import qualified Sound.ALSA.Sequencer.Query as Query
queryFirst :: Seq.T mode -> IO T
queryFirst = Query.first
queryLoop_ :: Seq.T mode -> (T -> IO ()) -> IO ()
queryLoop_ h = Query.loop_ h (const $ return ())
queryLoop :: Seq.T mode -> (T -> IO a) -> IO [a]
queryLoop h = Query.loop h (const $ return ())
filterClear :: T -> IO ()
filterAdd :: Event.Type e => T -> e -> IO ()
filterDel :: Event.Type e => T -> e -> IO ()
filterCheck :: Event.Type e => T -> e -> IO Bool
filterClear = Filter.clear
filterAdd = Filter.add
filterDel = Filter.delete
filterCheck = Filter.check