module Sound.ALSA.Sequencer.Port.Info
( T
, get
, getAny
, queryFirst
, queryNext
, queryLoop_
, queryLoop
, set
, copy
, clone
, getPort
, getClient
, getAddr
, getName
, getCapability
, getMidiChannels
, getMidiVoices
, getSynthVoices
, getPortSpecified
, getTimestamping
, getTimestampReal
, getTimestampQueue
, getReadUse
, getWriteUse
, setPort
, setClient
, setAddr
, setName
, setCapability
, setMidiChannels
, setSynthVoices
, setMidiVoices
, setPortSpecified
, setTimestamping
, setTimestampReal
, setTimestampQueue
) where
import Sound.ALSA.Sequencer.Marshal.PortInfo
import qualified Sound.ALSA.Sequencer.Marshal.Client as Client
import qualified Sound.ALSA.Sequencer.Marshal.Sequencer as Seq
import qualified Sound.ALSA.Sequencer.Query as Query
queryLoop_ :: Seq.T mode -> Client.T -> (T -> IO ()) -> IO ()
queryLoop_ :: forall mode. T mode -> T -> (T -> IO ()) -> IO ()
queryLoop_ T mode
h T
c = forall info mode.
C info =>
T mode -> (info -> IO ()) -> (info -> IO ()) -> IO ()
Query.loop_ T mode
h (forall a b c. (a -> b -> c) -> b -> a -> c
flip T -> T -> IO ()
setClient T
c)
queryLoop :: Seq.T mode -> Client.T -> (T -> IO a) -> IO [a]
queryLoop :: forall mode a. T mode -> T -> (T -> IO a) -> IO [a]
queryLoop T mode
h T
c = forall info mode a.
C info =>
T mode -> (info -> IO ()) -> (info -> IO a) -> IO [a]
Query.loop T mode
h (forall a b c. (a -> b -> c) -> b -> a -> c
flip T -> T -> IO ()
setClient T
c)