alsa-seq-0.5: examples/test4.hs
import qualified Sound.ALSA.Sequencer.Client.Info as ClientInfo
import qualified Sound.ALSA.Sequencer as SndSeq
import Control.Monad (when, )
main :: IO ()
main =
SndSeq.with SndSeq.defaultName SndSeq.Block $ \h -> do
i <- ClientInfo.queryFirst (h :: SndSeq.T SndSeq.OutputMode)
let loop = do putStrLn =<< ClientInfo.getName i
more <- ClientInfo.queryNext h i
when more loop
loop