/usr/share/doc/libhugs-alut-bundled/examples/ALUT/Basic/OpenALInfo.hs is in libhugs-alut-bundled 98.200609.21-5.4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | {-
OpenALInfo.hs (modeled after OpenGL's glxinfo)
Copyright (c) Sven Panne 2005 <sven.panne@aedion.de>
This file is part of the ALUT package & distributed under a BSD-style license
See the file libraries/ALUT/LICENSE
-}
import Text.PrettyPrint
import Sound.ALUT
-- This program prints some basic information about ALC and AL.
printVar :: (a -> Doc) -> GettableStateVar a -> IO ()
printVar format var = get var >>= putStrLn . render . format
printStringVar :: String -> GettableStateVar String -> IO ()
printStringVar header = printVar (\v -> text header <> colon <+> text v)
printStringListVar :: String -> GettableStateVar [String] -> IO ()
printStringListVar header =
printVar (\xs -> text header <> colon $$
nest 4 (fsep (punctuate comma (map text xs))))
main :: IO ()
main =
withProgNameAndArgs runALUT $ \_progName _args -> do
Just ctx <- get currentContext
Just dev <- get (contextsDevice ctx)
printStringVar "ALC version" alcVersion
printStringListVar "ALC extensions" (alcExtensions dev)
printStringVar "AL version" alVersion
printStringVar "AL renderer" alRenderer
printStringVar "AL vendor" alVendor
printStringListVar "AL extensions" alExtensions
|