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


-- | Binding to libSDL_mixer
--   
--   SDL_mixer is a sample multi-channel audio mixer library. It supports
--   any number of simultaneously playing channels of 16 bit stereo audio,
--   plus a single channel of music, mixed by the popular MikMod MOD,
--   Timidity MIDI, Ogg Vorbis, and SMPEG MP3 libraries.
@package SDL-mixer
@version 0.6.1

module Graphics.UI.SDL.Mixer.Version
compiledFor :: Version
linkedWith :: IO Version
instance Storable SDLVersion


module Graphics.UI.SDL.Mixer.Types
data ChunkStruct
type Chunk = ForeignPtr ChunkStruct
data MusicStruct
type Music = ForeignPtr MusicStruct
type Channel = Int
data MusicType
MusicNone :: MusicType
MusicCmd :: MusicType
MusicWav :: MusicType
MusicMod :: MusicType
MusicMid :: MusicType
MusicOgg :: MusicType
MusicMp3 :: MusicType
data Fading
NoFading :: Fading
FadingOut :: Fading
FadingIn :: Fading
instance Show MusicType
instance Eq MusicType
instance Ord MusicType
instance Enum MusicType
instance Bounded MusicType
instance Show Fading
instance Eq Fading
instance Ord Fading
instance Enum Fading
instance Bounded Fading


module Graphics.UI.SDL.Mixer.Channels
allocateChannels :: Int -> IO Int
volume :: Int -> Int -> IO Int
tryPlayChannel :: Channel -> Chunk -> Int -> IO Int
playChannel :: Channel -> Chunk -> Int -> IO Int
tryFadeInChannel :: Channel -> Chunk -> Int -> Int -> IO Int
fadeInChannel :: Channel -> Chunk -> Int -> Int -> IO Int
tryFadeInChannelTimed :: Channel -> Chunk -> Int -> Int -> Int -> IO Int
fadeInChannelTimed :: Channel -> Chunk -> Int -> Int -> Int -> IO Int
pause :: Channel -> IO ()
resume :: Channel -> IO ()
haltChannel :: Channel -> IO ()
expireChannel :: Channel -> Int -> IO Int
fadeOutChannel :: Channel -> Int -> IO Int
isChannelPlaying :: Channel -> IO Bool
numChannelsPlaying :: IO Int
isChannelPaused :: Channel -> IO Bool
numChannelsPaused :: IO Int
fadingChannel :: Channel -> IO Fading
getChunk :: Channel -> IO Chunk


module Graphics.UI.SDL.Mixer.Music
freeMusic :: Music -> IO ()
tryLoadMUS :: FilePath -> IO (Maybe Music)
loadMUS :: FilePath -> IO Music
tryPlayMusic :: Music -> Int -> IO Bool
playMusic :: Music -> Int -> IO ()
tryFadeInMusic :: Music -> Int -> Int -> IO Bool
fadeInMusic :: Music -> Int -> Int -> IO ()
tryFadeInMusicPos :: Music -> Int -> Int -> Double -> IO Bool
fadeInMusicPos :: Music -> Int -> Int -> Double -> IO ()
setMusicVolume :: Int -> IO ()
getMusicVolume :: IO Int
modifyMusicVolume :: (Int -> Int) -> IO ()
pauseMusic :: IO ()
resumeMusic :: IO ()
rewindMusic :: IO ()
trySetMusicPosition :: Double -> IO Bool
setMusicPosition :: Double -> IO ()
trySetMusicCmd :: String -> IO Bool
setMusicCmd :: String -> IO ()
disableMusicCmd :: IO ()
haltMusic :: IO ()
tryFadeOutMusic :: Int -> IO Bool
fadeOutMusic :: Int -> IO ()
getMusicType :: Maybe Music -> IO MusicType
playingMusic :: IO Bool
pausedMusic :: IO Bool
fadingMusic :: IO Fading


module Graphics.UI.SDL.Mixer.Samples
mkFinalizedChunk :: Ptr ChunkStruct -> IO Chunk
maxVolume :: Int
tryLoadWAV :: FilePath -> IO (Maybe Chunk)
loadWAV :: FilePath -> IO Chunk
volumeChunk :: Chunk -> Int -> IO Int


module Graphics.UI.SDL.Mixer.General
data AudioFormat :: *
AudioU8 :: AudioFormat
AudioS8 :: AudioFormat
AudioU16LSB :: AudioFormat
AudioS16LSB :: AudioFormat
AudioU16MSB :: AudioFormat
AudioS16MSB :: AudioFormat
AudioU16Sys :: AudioFormat
AudioS16Sys :: AudioFormat
tryOpenAudio :: Int -> AudioFormat -> Int -> Int -> IO Bool
openAudio :: Int -> AudioFormat -> Int -> Int -> IO ()
closeAudio :: IO ()
tryQuerySpec :: IO (Maybe (Int, AudioFormat, Int))
querySpec :: IO (Int, AudioFormat, Int)
defaultFrequency :: Int

module Graphics.UI.SDL.Mixer
