-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | OpenAL 1.1 raw API.
--   
--   OpenAL is a minimalistic sound API that aims to provide bare features
--   for <i>spacialized audio</i>. The API looks like the OpenGL one, thus
--   the libs are pretty great together. Up to now, no OpenAL extension is
--   supported. You're highly invited to contribute ;). EAX is not
--   supported yet either. It'll be embedded in future releases, soon. In
--   order to build and install "al", you'll need to have pkg-config
--   installed. For Ubuntu users, there might be a bug with pkg-config. If
--   the install fails, consider using <tt>cabal install al your OpenAL
--   setup is located to – you can help find that with </tt>find / -name
--   al.h@.
@package al
@version 0.1.4.2



-- | <i>Warning: EAX{G,S}et not implemented yet!</i>
module Sound.AL.EAX


module Sound.AL.Types
type ALchar = (CChar)
type ALbyte = (CSChar)
type ALubyte = (CUChar)
type ALboolean = (CChar)
type ALshort = (CShort)
type ALushort = (CUShort)
type ALint = (CInt)
type ALuint = (CUInt)
type ALsizei = (CInt)
type ALenum = (CInt)
type ALfloat = (CFloat)
type ALdouble = (CDouble)
type ALvoid = (())


module Sound.AL.State
alEnable_ :: ALenum -> IO ()
alEnable :: (MonadIO m) => ALenum -> m ()
alDisable_ :: ALenum -> IO ()
alDisable :: (MonadIO m) => ALenum -> m ()
alIsEnabled_ :: ALenum -> IO ALboolean
alIsEnabled :: (MonadIO m) => ALenum -> m ALboolean
alGetBoolean_ :: ALenum -> IO ALboolean
alGetBoolean :: (MonadIO m) => ALenum -> m ALboolean
alGetDouble_ :: ALenum -> IO ALdouble
alGetDouble :: (MonadIO m) => ALenum -> m ALdouble
alGetFloat_ :: ALenum -> IO ALfloat
alGetFloat :: (MonadIO m) => ALenum -> m ALfloat
alGetInteger_ :: ALenum -> IO ALint
alGetInteger :: (MonadIO m) => ALenum -> m ALint
alGetBooleanv_ :: ALenum -> Ptr ALboolean -> IO ()
alGetBooleanv :: (MonadIO m) => ALenum -> Ptr ALboolean -> m ()
alGetDoublev_ :: ALenum -> Ptr ALdouble -> IO ()
alGetDoublev :: (MonadIO m) => ALenum -> Ptr ALdouble -> m ()
alGetFloatv_ :: ALenum -> Ptr ALfloat -> IO ()
alGetFloatv :: (MonadIO m) => ALenum -> Ptr ALfloat -> m ()
alGetIntegerv_ :: ALenum -> Ptr ALint -> IO ()
alGetIntegerv :: (MonadIO m) => ALenum -> Ptr ALint -> m ()
alGetString_ :: ALenum -> IO (Ptr ALubyte)
alGetString :: (MonadIO m) => ALenum -> m (Ptr ALubyte)
alDistanceModel_ :: ALenum -> IO ()
alDistanceModel :: (MonadIO m) => ALenum -> m ()
alDopplerFactor_ :: ALfloat -> IO ()
alDopplerFactor :: (MonadIO m) => ALfloat -> m ()
alDopplerVelocity_ :: ALfloat -> IO ()
alDopplerVelocity :: (MonadIO m) => ALfloat -> m ()


module Sound.AL.Source
alGenSources_ :: ALsizei -> Ptr ALuint -> IO ()
alGenSources :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alDeleteSources_ :: ALsizei -> Ptr ALuint -> IO ()
alDeleteSources :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alIsSource_ :: ALuint -> IO ALboolean
alIsSource :: (MonadIO m) => ALuint -> m ALboolean
alSourcef_ :: ALuint -> ALenum -> ALfloat -> IO ()
alSourcef :: (MonadIO m) => ALuint -> ALenum -> ALfloat -> m ()
alSourcefv_ :: ALuint -> ALenum -> Ptr ALfloat -> IO ()
alSourcefv :: (MonadIO m) => ALuint -> ALenum -> Ptr ALfloat -> m ()
alSource3f_ :: ALuint -> ALenum -> ALfloat -> ALfloat -> ALfloat -> IO ()
alSource3f :: (MonadIO m) => ALuint -> ALenum -> ALfloat -> ALfloat -> ALfloat -> m ()
alSourcei_ :: ALuint -> ALenum -> ALint -> IO ()
alSourcei :: (MonadIO m) => ALuint -> ALenum -> ALint -> m ()
alGetSourcef_ :: ALuint -> ALenum -> Ptr ALfloat -> IO ()
alGetSourcef :: (MonadIO m) => ALuint -> ALenum -> Ptr ALfloat -> m ()
alGetSourcefv_ :: ALuint -> ALenum -> Ptr ALfloat -> IO ()
alGetSourcefv :: (MonadIO m) => ALuint -> ALenum -> Ptr ALfloat -> m ()
alGetSourcei_ :: ALuint -> ALenum -> Ptr ALint -> IO ()
alGetSourcei :: (MonadIO m) => ALuint -> ALenum -> Ptr ALint -> m ()
alSourcePlay_ :: ALuint -> IO ()
alSourcePlay :: (MonadIO m) => ALuint -> m ()
alSourcePlayv_ :: ALsizei -> Ptr ALuint -> IO ()
alSourcePlayv :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alSourcePause_ :: ALuint -> IO ()
alSourcePause :: (MonadIO m) => ALuint -> m ()
alSourcePausev_ :: ALsizei -> Ptr ALuint -> IO ()
alSourcePausev :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alSourceStop_ :: ALuint -> IO ()
alSourceStop :: (MonadIO m) => ALuint -> m ()
alSourceStopv_ :: ALsizei -> Ptr ALuint -> IO ()
alSourceStopv :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alSourceRewind_ :: ALuint -> IO ()
alSourceRewind :: (MonadIO m) => ALuint -> m ()
alSourceRewindv_ :: ALsizei -> Ptr ALuint -> IO ()
alSourceRewindv :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alSourceQueueBuffers_ :: ALuint -> ALsizei -> Ptr ALuint -> IO ()
alSourceQueueBuffers :: (MonadIO m) => ALuint -> ALsizei -> Ptr ALuint -> m ()
alSourceUnqueueBuffers_ :: ALuint -> ALsizei -> Ptr ALuint -> IO ()
alSourceUnqueueBuffers :: (MonadIO m) => ALuint -> ALsizei -> Ptr ALuint -> m ()


module Sound.AL.Listener
alListenerf_ :: ALenum -> ALfloat -> IO ()
alListenerf :: (MonadIO m) => ALenum -> ALfloat -> m ()
alListener3f_ :: ALenum -> ALfloat -> ALfloat -> ALfloat -> IO ()
alListener3f :: (MonadIO m) => ALenum -> ALfloat -> ALfloat -> ALfloat -> m ()
alListenerfv_ :: ALenum -> Ptr ALfloat -> IO ()
alListenerfv :: (MonadIO m) => ALenum -> Ptr ALfloat -> m ()
alListeneri_ :: ALenum -> ALint -> IO ()
alListeneri :: (MonadIO m) => ALenum -> ALint -> m ()
alGetListenerf_ :: ALenum -> Ptr ALfloat -> IO ()
alGetListenerf :: (MonadIO m) => ALenum -> Ptr ALfloat -> m ()
alGetListener3f_ :: ALenum -> Ptr ALfloat -> Ptr ALfloat -> Ptr ALfloat -> IO ()
alGetListener3f :: (MonadIO m) => ALenum -> Ptr ALfloat -> Ptr ALfloat -> Ptr ALfloat -> m ()
alGetListenerfv_ :: ALenum -> Ptr ALfloat -> IO ()
alGetListenerfv :: (MonadIO m) => ALenum -> Ptr ALfloat -> m ()
alGetListeneri_ :: ALenum -> Ptr ALint -> IO ()
alGetListeneri :: (MonadIO m) => ALenum -> Ptr ALint -> m ()


module Sound.AL.Extensions
alIsExtensionPresent_ :: Ptr ALubyte -> IO ALboolean
alIsExtensionPresent :: (MonadIO m) => Ptr ALubyte -> m ALboolean
alGetProcAddress_ :: Ptr ALubyte -> IO (Ptr ALvoid)
alGetProcAddress :: (MonadIO m) => Ptr ALubyte -> m (Ptr ALvoid)
alGetEnumValue_ :: Ptr ALubyte -> IO ALenum
alGetEnumValue :: (MonadIO m) => Ptr ALubyte -> m ALenum


module Sound.AL.Errors
alGetError_ :: IO ALenum
alGetError :: (MonadIO m) => m ALenum


module Sound.AL.Defines
al_BITS :: ALenum
al_BUFFER :: ALenum
al_BUFFERS_PROCESSED :: ALenum
al_BUFFERS_QUEUED :: ALenum
al_CHANNELS :: ALenum
al_CONE_INNER_ANGLE :: ALenum
al_CONE_OUTER_ANGLE :: ALenum
al_CONE_OUTER_GAIN :: ALenum
al_DISTANCE_MODEL :: ALenum
al_DOPPLER_FACTOR :: ALenum
al_DOPPLER_VELOCITY :: ALenum
al_DIRECTION :: ALenum
al_EXTENSIONS :: ALenum
al_FALSE :: ALenum
al_FORMAT_MONO8 :: ALenum
al_FORMAT_MONO16 :: ALenum
al_FORMAT_STEREO8 :: ALenum
al_FORMAT_STEREO16 :: ALenum
al_FREQUENCY :: ALenum
al_GAIN :: ALenum
al_INITIAL :: ALenum
al_INVALID_ENUM :: ALenum
al_INVALID_NAME :: ALenum
al_INVALID_OPERATION :: ALenum
al_INVALID_VALUE :: ALenum
al_INVERSE_DISTANCE :: ALenum
al_INVERSE_DISTANCE_CLAMPED :: ALenum
al_LOOPING :: ALenum
al_MAX_DISTANCE :: ALenum
al_MAX_GAIN :: ALenum
al_MIN_GAIN :: ALenum
al_NONE :: ALenum
al_NO_ERROR :: ALenum
al_ORIENTATION :: ALenum
al_OUT_OF_MEMORY :: ALenum
al_PAUSED :: ALenum
al_PITCH :: ALenum
al_PLAYING :: ALenum
al_POSITION :: ALenum
al_REFERENCE_DISTANCE :: ALenum
al_RENDERER :: ALenum
al_ROLLOFF_FACTOR :: ALenum
al_SIZE :: ALenum
al_SOURCE_RELATIVE :: ALenum
al_SOURCE_STATE :: ALenum
al_TRUE :: ALenum
al_STOPPED :: ALenum
al_VELOCITY :: ALenum
al_VENDOR :: ALenum
al_VERSION :: ALenum


module Sound.AL.Buffer
alGenBuffers :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alDeleteBuffers :: (MonadIO m) => ALsizei -> Ptr ALuint -> m ()
alIsBuffer :: (MonadIO m) => ALuint -> m ALboolean
alBufferData :: (MonadIO m) => ALuint -> ALenum -> Ptr a -> ALsizei -> ALsizei -> m ()
alGetBufferf :: (MonadIO m) => ALuint -> ALenum -> Ptr ALfloat -> m ()
alGetBufferi :: (MonadIO m) => ALuint -> ALenum -> Ptr ALint -> m ()


module Sound.AL


module Sound.ALC.Types
data ALCdevice
ALCdevice :: ALCdevice
type ALCenum = (CInt)


module Sound.ALC.State
alcGetString_ :: Ptr ALCdevice -> ALenum -> IO (Ptr ALubyte)
alcGetString :: (MonadIO m) => Ptr ALCdevice -> ALenum -> m (Ptr ALubyte)
alcGetIntegerv_ :: Ptr ALCdevice -> ALenum -> ALsizei -> Ptr ALint -> IO ()
alcGetIntegerv :: (MonadIO m) => Ptr ALCdevice -> ALenum -> ALsizei -> Ptr ALint -> m ()


module Sound.ALC.Extensions
alcIsExtensionPresent_ :: Ptr ALCdevice -> Ptr ALubyte -> IO ALboolean
alcIsExtensionPresent :: (MonadIO m) => Ptr ALCdevice -> Ptr ALubyte -> m ALboolean
alcGetProcAddress_ :: Ptr ALCdevice -> Ptr ALubyte -> IO (Ptr ALvoid)
alcGetProcAddress :: (MonadIO m) => Ptr ALCdevice -> Ptr ALubyte -> m (Ptr ALvoid)
alcGetEnumValue_ :: Ptr ALCdevice -> Ptr ALubyte -> IO ALenum
alcGetEnumValue :: (MonadIO m) => Ptr ALCdevice -> Ptr ALubyte -> m ALenum


module Sound.ALC.Errors
alcGetError_ :: IO ALCenum
alcGetError :: (MonadIO m) => m ALCenum


module Sound.ALC.Device
alcOpenDevice_ :: Ptr ALubyte -> IO (Ptr ALCdevice)
alcOpenDevice :: (MonadIO m) => Ptr ALubyte -> m (Ptr ALCdevice)
alcCloseDevice_ :: Ptr ALCdevice -> IO ()
alcCloseDevice :: (MonadIO m) => Ptr ALCdevice -> m ()


module Sound.ALC.Defines
alc_DEFAULT_DEVICE_SPECIFIER :: ALCenum
alc_ALL_ATTRIBUTES :: ALCenum
alc_ATTRIBUTES_SIZE :: ALCenum
alc_DEVICE_SPECIFIER :: ALCenum
alc_EXTENSIONS :: ALCenum
alc_FREQUENCY :: ALCenum
alc_MAJOR_VERSION :: ALCenum
alc_MINOR_VERSION :: ALCenum
alc_REFRESH :: ALCenum
alc_SYNC :: ALCenum


module Sound.ALC.Context
alcCreateContext_ :: Ptr ALCdevice -> Ptr ALint -> IO (Ptr ALvoid)
alcCreateContext :: (MonadIO m) => Ptr ALCdevice -> Ptr ALint -> m (Ptr ALvoid)
alcMakeContextCurrent_ :: Ptr ALvoid -> IO ALCenum
alcMakeContextCurrent :: (MonadIO m) => Ptr ALvoid -> m ALCenum
alcProcessContext_ :: Ptr ALvoid -> IO ()
alcProcessContext :: (MonadIO m) => Ptr ALvoid -> m ()
alcSuspendContext_ :: Ptr ALvoid -> IO ()
alcSuspendContext :: (MonadIO m) => Ptr ALvoid -> m ()
alcDestroyContext_ :: Ptr ALvoid -> IO ALCenum
alcDestroyContext :: (MonadIO m) => Ptr ALvoid -> m ALCenum
alcGetCurrentContext_ :: IO (Ptr ALvoid)
alcGetCurrentContext :: (MonadIO m) => m (Ptr ALvoid)


module Sound.ALC
