module Sound.ALSA.Sequencer.Utility where
import qualified Sound.ALSA.Exception as Exc
import qualified Foreign.C.Types as C
import Foreign.C.Error (Errno(Errno), eNOENT, )
import Data.Maybe.HT (toMaybe, )
showsField :: Show a => a -> ShowS
showsField = showsPrec 11
showsRecord :: Int -> String -> [ShowS] -> ShowS
showsRecord prec name fields =
showParen (prec >= 10) $
showString name . showString ".Cons" .
foldr (.) id (map (\f -> showChar ' ' . f) fields)
checkResultQuery :: String -> C.CInt -> IO Bool
checkResultQuery name =
Exc.checkResultMaybe name
(const True)
(\e -> toMaybe (Errno (negate e) == eNOENT) False)