packages feed

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