module Sound.ALC.Device where
import Control.Monad.Trans ( MonadIO(..) )
import Foreign.Ptr ( Ptr )
import Sound.AL.Types
import Sound.ALC.Types
foreign import CALLCV "alcOpenDevice" alcOpenDevice_ :: Ptr ALubyte -> IO (Ptr ALCdevice)
alcOpenDevice :: (MonadIO m) => Ptr ALubyte -> m (Ptr ALCdevice)
alcOpenDevice = liftIO . alcOpenDevice_
foreign import CALLCV "alcCloseDevice" alcCloseDevice_ :: Ptr ALCdevice -> IO ()
alcCloseDevice :: (MonadIO m) => Ptr ALCdevice -> m ()
alcCloseDevice = liftIO . alcCloseDevice_