-- 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
