sdl2-mixer-1.2.0.0: Haskell bindings to SDL2_mixer
LicenseBSD3
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

SDL.Raw.Mixer

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 :: MonadIO m => m (Ptr Version) Source #

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

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

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

type InitFlag = CInt Source #

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

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

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

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

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

quit :: MonadIO m => m () Source #

type Format = Word16 Source #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

closeAudio :: MonadIO m => m () Source #

querySpec :: MonadIO m => Ptr CInt -> Ptr Format -> Ptr CInt -> m CInt Source #

Samples

getNumChunkDecoders :: MonadIO m => m CInt Source #

getChunkDecoder :: MonadIO m => CInt -> m CString Source #

data Chunk Source #

Constructors

Chunk 

Fields

Instances

Instances details
Storable Chunk Source # 
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 ()

Show Chunk Source # 
Instance details

Defined in SDL.Raw.Mixer

Methods

showsPrec :: Int -> Chunk -> ShowS

show :: Chunk -> String

showList :: [Chunk] -> ShowS

Eq Chunk Source # 
Instance details

Defined in SDL.Raw.Mixer

Methods

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

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

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

loadWAV_RW :: MonadIO m => Ptr RWops -> CInt -> m (Ptr Chunk) Source #

quickLoadWAV :: MonadIO m => Ptr Word8 -> m (Ptr Chunk) Source #

quickLoadRaw :: MonadIO m => Ptr Word8 -> m (Ptr Chunk) Source #

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

volumeChunk :: MonadIO m => Ptr Chunk -> CInt -> m CInt Source #

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

Channels

allocateChannels :: MonadIO m => CInt -> m CInt Source #

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

type Channel = CInt Source #

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

playChannel :: MonadIO m => Channel -> Ptr Chunk -> CInt -> m CInt Source #

playChannelTimed :: MonadIO m => Channel -> Ptr Chunk -> CInt -> CInt -> m CInt Source #

fadeInChannel :: MonadIO m => Channel -> Ptr Chunk -> CInt -> CInt -> m CInt Source #

fadeInChannelTimed :: MonadIO m => Channel -> Ptr Chunk -> CInt -> CInt -> CInt -> m CInt Source #

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

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

haltChannel :: MonadIO m => Channel -> m CInt Source #

expireChannel :: MonadIO m => Channel -> CInt -> m CInt Source #

fadeOutChannel :: MonadIO m => Channel -> CInt -> m CInt Source #

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

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

playing :: MonadIO m => Channel -> m CInt Source #

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

type Fading = Word32 Source #

fadingChannel :: MonadIO m => Channel -> m Fading Source #

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

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

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

getChunk :: MonadIO m => Channel -> m (Ptr Chunk) Source #

Groups

reserveChannels :: MonadIO m => CInt -> m CInt Source #

type Tag = CInt Source #

groupChannel :: MonadIO m => Channel -> Tag -> m CInt Source #

groupChannels :: MonadIO m => Channel -> Channel -> Tag -> m CInt Source #

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

groupAvailable :: MonadIO m => Tag -> m CInt Source #

groupOldest :: MonadIO m => Tag -> m CInt Source #

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

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

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

Music

getNumMusicDecoders :: MonadIO m => m CInt Source #

getMusicDecoder :: MonadIO m => CInt -> m CString Source #

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

loadMUS_RW :: MonadIO m => Ptr RWops -> CInt -> m (Ptr Music) Source #

loadMUSType_RW :: MonadIO m => Ptr RWops -> MusicType -> CInt -> m (Ptr Music) Source #

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

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

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

fadeInMusicPos :: MonadIO m => Ptr Music -> CInt -> CInt -> CDouble -> m CInt Source #

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

volumeMusic :: MonadIO m => CInt -> m CInt Source #

pauseMusic :: MonadIO m => m () Source #

resumeMusic :: MonadIO m => m () Source #

rewindMusic :: MonadIO m => m () Source #

setMusicPosition :: MonadIO m => CDouble -> m CInt Source #

setMusicCMD :: MonadIO m => CString -> m CInt Source #

haltMusic :: MonadIO m => m CInt Source #

fadeOutMusic :: MonadIO m => CInt -> m CInt Source #

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

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

type MusicType = Word32 Source #

getMusicType :: MonadIO m => Ptr Music -> m MusicType Source #

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

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

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

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

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

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

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

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

playingMusic :: MonadIO m => m CInt Source #

pausedMusic :: MonadIO m => m CInt Source #

fadingMusic :: MonadIO m => m Fading Source #

getMusicHookData :: MonadIO m => m (Ptr ()) Source #

Effects

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

wrapEffect :: Effect -> IO (FunPtr Effect) Source #

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

registerEffect :: MonadIO m => Channel -> FunPtr Effect -> FunPtr EffectFinished -> Ptr () -> m CInt Source #

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

unregisterEffect :: MonadIO m => Channel -> FunPtr Effect -> m CInt Source #

unregisterAllEffects :: MonadIO m => Channel -> m CInt Source #

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

setPanning :: MonadIO m => Channel -> Word8 -> Word8 -> m CInt Source #

setDistance :: MonadIO m => Channel -> Word8 -> m CInt Source #

setPosition :: MonadIO m => Channel -> Int16 -> Word8 -> m CInt Source #

setReverseStereo :: MonadIO m => Channel -> CInt -> m CInt Source #

MikMod

setSynchroValue :: MonadIO m => CInt -> m CInt Source #

getSynchroValue :: MonadIO m => m CInt Source #

MIDI backends

setSoundFonts :: MonadIO m => Ptr CString -> m CInt Source #

getSoundFonts :: MonadIO m => m (Ptr CString) Source #

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