{-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE EmptyDataDecls #-} module Sound.UI.ALURE.Internal ( c_alureGetVersion, c_alureGetErrorString, c_alureGetDeviceNames, c_alureFreeDeviceNames, c_alureInitDevice, c_alureShutdownDevice, c_alureGetSampleFormat, c_alureSleep, c_alureCreateBufferFromFile, c_alureCreateBufferFromMemory, c_alureBufferDataFromFile, c_alureBufferDataFromMemory, AlureStreamStruct, c_alureCreateStreamFromFile, c_alureCreateStreamFromMemory, c_alureCreateStreamFromStaticMemory, c_alureBufferDataFromStream, c_alureRewindStream, c_alureDestroyStream, CALUInt, CALChar, CALBoolean, CALEnum, CALFloat, CALUByte, CALSizei, CALCBoolean, CALCSizei, CALCChar, CALCInt, ) where import Foreign import Foreign.C.Types type CALUInt = CUInt type CALChar = CChar type CALBoolean = CChar type CALEnum = CInt type CALFloat = CFloat type CALUByte = CChar type CALSizei = CInt type CALCBoolean = CChar type CALCSizei = CInt type CALCChar = CChar type CALCInt = CInt -------------------------------------------------------------------------------- -- Main and Miscellanious foreign import ccall unsafe "alure.h alureGetVersion" c_alureGetVersion :: Ptr CALUInt -> Ptr CALUInt -> IO () foreign import ccall unsafe "alure.h alureGetErrorString" c_alureGetErrorString :: IO (Ptr CALChar) foreign import ccall unsafe "alure.h alureGetDeviceNames" c_alureGetDeviceNames :: CALCBoolean -> Ptr CALCSizei -> IO (Ptr (Ptr CALCChar)) foreign import ccall unsafe "alure.h alureFreeDeviceNames" c_alureFreeDeviceNames :: Ptr (Ptr CALCChar) -> IO () foreign import ccall unsafe "alure.h alureInitDevice" c_alureInitDevice :: Ptr CALCChar -> Ptr CALCInt -> IO CALBoolean foreign import ccall unsafe "alure.h alureShutdownDevice" c_alureShutdownDevice :: IO CALBoolean foreign import ccall unsafe "alure.h alureGetSampleFormat" c_alureGetSampleFormat :: CALUInt -> CALUInt -> CALUInt -> IO CALEnum --foreign import ccall unsafe "alure.h alureInstallDecodeCallbacks" -- c_alureInstallDecodeCallbacks :: CALInt -> foreign import ccall unsafe "alure.h alureSleep" c_alureSleep :: CALFloat -> CFloat -> IO CALBoolean -------------------------------------------------------------------------------- -- File Loading foreign import ccall unsafe "alure.h alureCreateBufferFromFile" c_alureCreateBufferFromFile :: Ptr CALChar -> IO CALUInt foreign import ccall unsafe "alure.h alureCreateBufferFromMemory" c_alureCreateBufferFromMemory :: Ptr CALUByte -> CALSizei -> IO CALUInt foreign import ccall unsafe "alure.h alureBufferDataFromFile" c_alureBufferDataFromFile :: Ptr CALChar -> CALUInt -> IO CALBoolean foreign import ccall unsafe "alure.h alureBufferDataFromMemory" c_alureBufferDataFromMemory :: Ptr CALUByte -> CALSizei -> CALUInt -> IO CALBoolean -------------------------------------------------------------------------------- -- Streaming data AlureStreamStruct foreign import ccall unsafe "alure.h alureCreateStreamFromFile" c_alureCreateStreamFromFile :: Ptr CALChar -> CALSizei -> CALSizei -> Ptr CALUInt -> IO (Ptr AlureStreamStruct) foreign import ccall unsafe "alure.h alureCreateStreamFromMemory" c_alureCreateStreamFromMemory :: Ptr CALUByte -> CALUInt -> CALSizei -> CALSizei -> Ptr CALUInt -> IO (Ptr AlureStreamStruct) foreign import ccall unsafe "alure.h alureCreateStreamFromStaticMemory" c_alureCreateStreamFromStaticMemory :: Ptr CALUByte -> CALUInt -> CALSizei -> CALSizei -> CALUInt -> IO (Ptr AlureStreamStruct) --foreign import ccall unsafe "alure.h alureCreateStreamFromCallback" -- c_alureCreateStreamFromCallback :: foreign import ccall unsafe "alure.h alureBufferDataFromStream" c_alureBufferDataFromStream :: Ptr AlureStreamStruct -> CALSizei -> CALUInt -> IO CALSizei foreign import ccall unsafe "alure.h alureRewindStream" c_alureRewindStream :: Ptr AlureStreamStruct -> IO CALBoolean foreign import ccall unsafe "alure.h alureDestroyStream" c_alureDestroyStream :: Ptr AlureStreamStruct -> CALSizei -> Ptr CALUInt -> CALBoolean