SDL-mixer 0.5.2 → 0.5.5
raw patch · 6 files changed
+23/−113 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Graphics/UI/SDL/Mixer/General.hs +0/−66
- Graphics/UI/SDL/Mixer/Samples.hs +4/−1
- Graphics/UI/SDL/Mixer/Version.hs +0/−45
- SDL-mixer.cabal +5/−1
- cbits/macros.c +9/−0
- cbits/macros.h +5/−0
− Graphics/UI/SDL/Mixer/General.hs
@@ -1,66 +0,0 @@-{-# OPTIONS_GHC -optc-D__GLASGOW_HASKELL__=606 #-}-{-# OPTIONS_GHC -optc-D_GNU_SOURCE=1 #-}-{-# OPTIONS_GHC -optc-D_REENTRANT #-}-{-# INCLUDE <SDL_mixer.h> #-}-{-# LINE 1 "Graphics/UI/SDL/Mixer/General.hsc" #-}--{-# LINE 2 "Graphics/UI/SDL/Mixer/General.hsc" #-}--------------------------------------------------------------------------------- |--- Module : Graphics.UI.SDL.Mixer.General--- Copyright : (c) David Himmelstrup 2005--- License : BSD-like------ Maintainer : lemmih@gmail.com--- Stability : provisional--- Portability : portable----------------------------------------------------------------------------------module Graphics.UI.SDL.Mixer.General- ( AudioFormat (..)- , tryOpenAudio- , openAudio- , closeAudio- , tryQuerySpec- , querySpec- , defaultFrequency- ) where--import Graphics.UI.SDL.General(unwrapMaybe, unwrapBool)-import Graphics.UI.SDL.Audio(AudioFormat(..), fromAudioFormat, toAudioFormat)--import Data.Word(Word16)-import Foreign(Ptr, Storable(peek), alloca)--defaultFrequency :: Int-defaultFrequency = 22050---- int Mix_OpenAudio(int frequency, Uint16 format, int channels, int chunksize)-foreign import ccall unsafe "Mix_OpenAudio" mixOpenAudio :: Int -> Word16 -> Int -> Int -> IO Int-tryOpenAudio :: Int -> AudioFormat -> Int -> Int -> IO Bool-tryOpenAudio frequency format channels chunksize- = fmap (0==) (mixOpenAudio frequency (fromAudioFormat format) channels chunksize)--openAudio :: Int -> AudioFormat -> Int -> Int -> IO ()-openAudio frequency format channels chunksize- = unwrapBool "Mix_OpenAudio" (tryOpenAudio frequency format channels chunksize)---- void Mix_CloseAudio()-foreign import ccall unsafe "Mix_CloseAudio" closeAudio :: IO ()---- int Mix_QuerySpec(int *frequency, Uint16 *format, int *channels)-foreign import ccall unsafe "Mix_QuerySpec" mixQuerySpec :: Ptr Int -> Ptr Word16 -> Ptr Int -> IO Int-tryQuerySpec :: IO (Maybe (Int,AudioFormat,Int))-tryQuerySpec- = alloca $ \freq ->- alloca $ \format ->- alloca $ \channels ->- do ret <- mixQuerySpec freq format channels- case ret of- 0 -> return Nothing- _ -> do [f,c] <- mapM peek [freq,channels]- fm <- peek format- return (Just (f,toAudioFormat fm,c))--querySpec :: IO (Int,AudioFormat,Int)-querySpec = unwrapMaybe "Mix_QuerySpec" tryQuerySpec
Graphics/UI/SDL/Mixer/Samples.hs view
@@ -32,7 +32,10 @@ mkFinalizedChunk = newForeignPtr mixFreeChunkFinal -- Mix_Chunk *Mix_LoadWAV(char *file)-foreign import ccall unsafe "Mix_LoadWAV" mixLoadWAV :: CString -> IO (Ptr ChunkStruct)+-- foreign import ccall unsafe "Mix_LoadWAV" mixLoadWAV :: CString -> IO (Ptr ChunkStruct)+foreign import ccall unsafe "macros.h HS_Mix_LoadWAV"+ mixLoadWAV :: CString -> IO (Ptr ChunkStruct)+ tryLoadWAV :: FilePath -> IO (Maybe Chunk) tryLoadWAV string = withCString string $ \cString ->
− Graphics/UI/SDL/Mixer/Version.hs
@@ -1,45 +0,0 @@-{-# OPTIONS_GHC -optc-D__GLASGOW_HASKELL__=606 #-}-{-# OPTIONS_GHC -optc-D_GNU_SOURCE=1 #-}-{-# OPTIONS_GHC -optc-D_REENTRANT #-}-{-# INCLUDE "SDL_mixer.h" #-}-{-# LINE 1 "Graphics/UI/SDL/Mixer/Version.hsc" #-}--{-# LINE 2 "Graphics/UI/SDL/Mixer/Version.hsc" #-}-module Graphics.UI.SDL.Mixer.Version- ( compiledFor- , linkedWith- ) where--import Data.Version (Version(Version))--import Foreign (Word8, Ptr, Storable(sizeOf, alignment, peekByteOff, peek))--data SDLVersion- = SDLVersion Word8 Word8 Word8--instance Storable SDLVersion where- sizeOf _ = (3)-{-# LINE 16 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- alignment _ = 1- peek ptr = do major <- (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr-{-# LINE 18 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- minor <- (\hsc_ptr -> peekByteOff hsc_ptr 1) ptr-{-# LINE 19 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- patch <- (\hsc_ptr -> peekByteOff hsc_ptr 2) ptr-{-# LINE 20 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- return (SDLVersion major minor patch)--compiledFor :: Version-compiledFor = Version [ 1-{-# LINE 24 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- , 2-{-# LINE 25 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- , 6-{-# LINE 26 "Graphics/UI/SDL/Mixer/Version.hsc" #-}- ] []--foreign import ccall unsafe "Mix_Linked_Version" sdlLinkedVersion :: IO (Ptr SDLVersion)-linkedWith :: IO Version-linkedWith = do versionPtr <- sdlLinkedVersion- SDLVersion major minor patch <- peek versionPtr- return (Version (map fromIntegral [major,minor,patch]) [])
SDL-mixer.cabal view
@@ -1,5 +1,5 @@ Name: SDL-mixer-Version: 0.5.2+Version: 0.5.5 Maintainer: Lemmih (lemmih@gmail.com) Author: Lemmih (lemmih@gmail.com) Copyright: 2004-2008, Lemmih@@ -18,6 +18,10 @@ Graphics.UI.SDL.Mixer.Types, Graphics.UI.SDL.Mixer.Version, Graphics.UI.SDL.Mixer+c-sources: cbits/macros.c+include-dirs: cbits+includes: macros.h+install-includes: macros.h Includes: SDL.h SDL_mixer.h Extra-Source-Files: SDL-mixer.buildinfo.in, configure, config.mk.in, includes/HsSDLConfig.h.in Data-Files: TODO, README, MACOSX
+ cbits/macros.c view
@@ -0,0 +1,9 @@++#include <SDL.h>+#include <SDL_mixer.h>++// Mix_LoadWAV(file) Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1)++Mix_Chunk * HS_Mix_LoadWAV(const char* file) {+ Mix_LoadWAV(file);+}
+ cbits/macros.h view
@@ -0,0 +1,5 @@++#include <SDL.h>+#include <SDL_mixer.h>++Mix_Chunk * HS_Mix_LoadWAV(const char* file);