sdl2-mixer-1.1.0: Bindings to SDL2_mixer.

LicenseBSD3
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

SDL.Raw.Mixer

Contents

Description

Raw bindings to the SDL2_mixer library. No error-handling is done here. For more information about specific function behaviour, see the SDL2_mixer documentation.

Synopsis

General

getVersion :: forall m. MonadIO m => m (Ptr Version) #

pattern SDL_MIXER_MAJOR_VERSION :: forall a. (Eq a, Num a) => a #

pattern SDL_MIXER_MINOR_VERSION :: forall a. (Eq a, Num a) => a #

pattern SDL_MIXER_PATCHLEVEL :: forall a. (Eq a, Num a) => a #

type InitFlag = CInt #

init :: MonadIO m => InitFlag -> m CInt #

pattern INIT_FLAC :: forall a. (Eq a, Num a) => a #

pattern INIT_MOD :: forall a. (Eq a, Num a) => a #

pattern INIT_MP3 :: forall a. (Eq a, Num a) => a #

pattern INIT_OGG :: forall a. (Eq a, Num a) => a #

quit :: forall m. MonadIO m => m () #

type Format = Word16 #

pattern DEFAULT_FORMAT :: forall a. (Eq a, Num a) => a #

pattern DEFAULT_FREQUENCY :: forall a. (Eq a, Num a) => a #

pattern DEFAULT_CHANNELS :: forall a. (Eq a, Num a) => a #

openAudio :: MonadIO m => CInt -> Format -> CInt -> CInt -> m CInt #

pattern AUDIO_U8 :: forall a. (Eq a, Num a) => a #

pattern AUDIO_S8 :: forall a. (Eq a, Num a) => a #

pattern AUDIO_U16LSB :: forall a. (Eq a, Num a) => a #

pattern AUDIO_S16LSB :: forall a. (Eq a, Num a) => a #

pattern AUDIO_U16MSB :: forall a. (Eq a, Num a) => a #

pattern AUDIO_S16MSB :: forall a. (Eq a, Num a) => a #

pattern AUDIO_U16 :: forall a. (Eq a, Num a) => a #

pattern AUDIO_S16 :: forall a. (Eq a, Num a) => a #

pattern AUDIO_U16SYS :: forall a. (Eq a, Num a) => a #

pattern AUDIO_S16SYS :: forall a. (Eq a, Num a) => a #

closeAudio :: forall m. MonadIO m => m () #

Samples

getNumChunkDecoders :: forall m. MonadIO m => m CInt #

data Chunk #

Instances
Eq Chunk # 
Instance details

Defined in SDL.Raw.Mixer

Methods

(==) :: Chunk -> Chunk -> Bool #

(/=) :: Chunk -> Chunk -> Bool #

Show Chunk # 
Instance details

Defined in SDL.Raw.Mixer

Methods

showsPrec :: Int -> Chunk -> ShowS #

show :: Chunk -> String #

showList :: [Chunk] -> ShowS #

Storable Chunk # 
Instance details

Defined in SDL.Raw.Mixer

Methods

sizeOf :: Chunk -> Int #

alignment :: Chunk -> Int #

peekElemOff :: Ptr Chunk -> Int -> IO Chunk #

pokeElemOff :: Ptr Chunk -> Int -> Chunk -> IO () #

peekByteOff :: Ptr b -> Int -> IO Chunk #

pokeByteOff :: Ptr b -> Int -> Chunk -> IO () #

peek :: Ptr Chunk -> IO Chunk #

poke :: Ptr Chunk -> Chunk -> IO () #

loadWAV :: MonadIO m => CString -> m (Ptr Chunk) #

pattern MAX_VOLUME :: forall a. (Eq a, Num a) => a #

freeChunk :: MonadIO m => Ptr Chunk -> m () #

Channels

pattern CHANNELS :: forall a. (Eq a, Num a) => a #

type Channel = CInt #

volume :: MonadIO m => Channel -> CInt -> m CInt #

pause :: MonadIO m => Channel -> m () #

resume :: MonadIO m => Channel -> m () #

channelFinished :: MonadIO m => FunPtr (Channel -> IO ()) -> m () #

wrapChannelCallback :: (Channel -> IO ()) -> IO (FunPtr (Channel -> IO ())) #

paused :: MonadIO m => Channel -> m CInt #

type Fading = Word32 #

pattern NO_FADING :: forall a. (Eq a, Num a) => a #

pattern FADING_OUT :: forall a. (Eq a, Num a) => a #

pattern FADING_IN :: forall a. (Eq a, Num a) => a #

Groups

type Tag = CInt #

groupCount :: MonadIO m => Tag -> m CInt #

groupNewer :: MonadIO m => Tag -> m CInt #

fadeOutGroup :: MonadIO m => Tag -> CInt -> m CInt #

haltGroup :: MonadIO m => Tag -> m CInt #

Music

getNumMusicDecoders :: forall m. MonadIO m => m CInt #

data Music #

loadMUS :: MonadIO m => CString -> m (Ptr Music) #

freeMusic :: MonadIO m => Ptr Music -> m () #

playMusic :: MonadIO m => Ptr Music -> CInt -> m CInt #

fadeInMusic :: MonadIO m => Ptr Music -> CInt -> CInt -> m CInt #

hookMusic :: MonadIO m => FunPtr (Ptr () -> Ptr Word8 -> CInt -> IO ()) -> Ptr () -> m () #

pauseMusic :: forall m. MonadIO m => m () #

resumeMusic :: forall m. MonadIO m => m () #

rewindMusic :: forall m. MonadIO m => m () #

haltMusic :: forall m. MonadIO m => m CInt #

wrapMusicCallback :: IO () -> IO (FunPtr (IO ())) #

hookMusicFinished :: MonadIO m => FunPtr (IO ()) -> m () #

pattern MUS_NONE :: forall a. (Eq a, Num a) => a #

pattern MUS_CMD :: forall a. (Eq a, Num a) => a #

pattern MUS_WAV :: forall a. (Eq a, Num a) => a #

pattern MUS_MOD :: forall a. (Eq a, Num a) => a #

pattern MUS_MID :: forall a. (Eq a, Num a) => a #

pattern MUS_OGG :: forall a. (Eq a, Num a) => a #

pattern MUS_MP3 :: forall a. (Eq a, Num a) => a #

pattern MUS_FLAC :: forall a. (Eq a, Num a) => a #

playingMusic :: forall m. MonadIO m => m CInt #

pausedMusic :: forall m. MonadIO m => m CInt #

fadingMusic :: forall m. MonadIO m => m Fading #

getMusicHookData :: forall m. MonadIO m => m (Ptr ()) #

Effects

type Effect = Channel -> Ptr () -> CInt -> Ptr () -> IO () #

type EffectFinished = Channel -> Ptr () -> IO () #

pattern CHANNEL_POST :: forall a. (Eq a, Num a) => a #

setPostMix :: MonadIO m => FunPtr (Ptr () -> Ptr Word8 -> CInt -> IO ()) -> Ptr () -> m () #

MikMod

getSynchroValue :: forall m. MonadIO m => m CInt #

MIDI backends

getSoundFonts :: forall m. MonadIO m => m (Ptr CString) #

eachSoundFont :: MonadIO m => FunPtr (CString -> Ptr () -> IO CInt) -> Ptr () -> m CInt #