{-# LINE 1 "Bindings/PortAudio.hsc" #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Bindings.PortAudio where
import Foreign.Ptr
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
{-# LINE 7 "Bindings/PortAudio.hsc" #-}
type C'PaStream = ()
{-# LINE 9 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetVersion" c'Pa_GetVersion
:: IO CInt
foreign import ccall "&Pa_GetVersion" p'Pa_GetVersion
:: FunPtr (IO CInt)
{-# LINE 11 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetVersionText" c'Pa_GetVersionText
:: IO CString
foreign import ccall "&Pa_GetVersionText" p'Pa_GetVersionText
:: FunPtr (IO CString)
{-# LINE 12 "Bindings/PortAudio.hsc" #-}
type C'PaError = CInt
{-# LINE 14 "Bindings/PortAudio.hsc" #-}
type C'PaErrorCode = CInt
{-# LINE 47 "Bindings/PortAudio.hsc" #-}
c'paNoError = 0
c'paNoError :: (Num a) => a
{-# LINE 48 "Bindings/PortAudio.hsc" #-}
c'paNotInitialized = -10000
c'paNotInitialized :: (Num a) => a
{-# LINE 49 "Bindings/PortAudio.hsc" #-}
c'paUnanticipatedHostError = -9999
c'paUnanticipatedHostError :: (Num a) => a
{-# LINE 50 "Bindings/PortAudio.hsc" #-}
c'paInvalidChannelCount = -9998
c'paInvalidChannelCount :: (Num a) => a
{-# LINE 51 "Bindings/PortAudio.hsc" #-}
c'paInvalidSampleRate = -9997
c'paInvalidSampleRate :: (Num a) => a
{-# LINE 52 "Bindings/PortAudio.hsc" #-}
c'paInvalidDevice = -9996
c'paInvalidDevice :: (Num a) => a
{-# LINE 53 "Bindings/PortAudio.hsc" #-}
c'paInvalidFlag = -9995
c'paInvalidFlag :: (Num a) => a
{-# LINE 54 "Bindings/PortAudio.hsc" #-}
c'paSampleFormatNotSupported = -9994
c'paSampleFormatNotSupported :: (Num a) => a
{-# LINE 55 "Bindings/PortAudio.hsc" #-}
c'paBadIODeviceCombination = -9993
c'paBadIODeviceCombination :: (Num a) => a
{-# LINE 56 "Bindings/PortAudio.hsc" #-}
c'paInsufficientMemory = -9992
c'paInsufficientMemory :: (Num a) => a
{-# LINE 57 "Bindings/PortAudio.hsc" #-}
c'paBufferTooBig = -9991
c'paBufferTooBig :: (Num a) => a
{-# LINE 58 "Bindings/PortAudio.hsc" #-}
c'paBufferTooSmall = -9990
c'paBufferTooSmall :: (Num a) => a
{-# LINE 59 "Bindings/PortAudio.hsc" #-}
c'paNullCallback = -9989
c'paNullCallback :: (Num a) => a
{-# LINE 60 "Bindings/PortAudio.hsc" #-}
c'paBadStreamPtr = -9988
c'paBadStreamPtr :: (Num a) => a
{-# LINE 61 "Bindings/PortAudio.hsc" #-}
c'paTimedOut = -9987
c'paTimedOut :: (Num a) => a
{-# LINE 62 "Bindings/PortAudio.hsc" #-}
c'paInternalError = -9986
c'paInternalError :: (Num a) => a
{-# LINE 63 "Bindings/PortAudio.hsc" #-}
c'paDeviceUnavailable = -9985
c'paDeviceUnavailable :: (Num a) => a
{-# LINE 64 "Bindings/PortAudio.hsc" #-}
c'paIncompatibleHostApiSpecificStreamInfo = -9984
c'paIncompatibleHostApiSpecificStreamInfo :: (Num a) => a
{-# LINE 65 "Bindings/PortAudio.hsc" #-}
c'paStreamIsStopped = -9983
c'paStreamIsStopped :: (Num a) => a
{-# LINE 66 "Bindings/PortAudio.hsc" #-}
c'paStreamIsNotStopped = -9982
c'paStreamIsNotStopped :: (Num a) => a
{-# LINE 67 "Bindings/PortAudio.hsc" #-}
c'paInputOverflowed = -9981
c'paInputOverflowed :: (Num a) => a
{-# LINE 68 "Bindings/PortAudio.hsc" #-}
c'paOutputUnderflowed = -9980
c'paOutputUnderflowed :: (Num a) => a
{-# LINE 69 "Bindings/PortAudio.hsc" #-}
c'paHostApiNotFound = -9979
c'paHostApiNotFound :: (Num a) => a
{-# LINE 70 "Bindings/PortAudio.hsc" #-}
c'paInvalidHostApi = -9978
c'paInvalidHostApi :: (Num a) => a
{-# LINE 71 "Bindings/PortAudio.hsc" #-}
c'paCanNotReadFromACallbackStream = -9977
c'paCanNotReadFromACallbackStream :: (Num a) => a
{-# LINE 72 "Bindings/PortAudio.hsc" #-}
c'paCanNotWriteToACallbackStream = -9976
c'paCanNotWriteToACallbackStream :: (Num a) => a
{-# LINE 73 "Bindings/PortAudio.hsc" #-}
c'paCanNotReadFromAnOutputOnlyStream = -9975
c'paCanNotReadFromAnOutputOnlyStream :: (Num a) => a
{-# LINE 74 "Bindings/PortAudio.hsc" #-}
c'paCanNotWriteToAnInputOnlyStream = -9974
c'paCanNotWriteToAnInputOnlyStream :: (Num a) => a
{-# LINE 75 "Bindings/PortAudio.hsc" #-}
c'paIncompatibleStreamHostApi = -9973
c'paIncompatibleStreamHostApi :: (Num a) => a
{-# LINE 76 "Bindings/PortAudio.hsc" #-}
c'paBadBufferPtr = -9972
c'paBadBufferPtr :: (Num a) => a
{-# LINE 77 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetErrorText" c'Pa_GetErrorText
:: CInt -> IO CString
foreign import ccall "&Pa_GetErrorText" p'Pa_GetErrorText
:: FunPtr (CInt -> IO CString)
{-# LINE 78 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Initialize" c'Pa_Initialize
:: IO CInt
foreign import ccall "&Pa_Initialize" p'Pa_Initialize
:: FunPtr (IO CInt)
{-# LINE 79 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Terminate" c'Pa_Terminate
:: IO CInt
foreign import ccall "&Pa_Terminate" p'Pa_Terminate
:: FunPtr (IO CInt)
{-# LINE 80 "Bindings/PortAudio.hsc" #-}
type C'PaDeviceIndex = CInt
{-# LINE 82 "Bindings/PortAudio.hsc" #-}
type C'PaHostApiIndex = CInt
{-# LINE 84 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetHostApiCount" c'Pa_GetHostApiCount
:: IO CInt
foreign import ccall "&Pa_GetHostApiCount" p'Pa_GetHostApiCount
:: FunPtr (IO CInt)
{-# LINE 85 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultHostApi" c'Pa_GetDefaultHostApi
:: IO CInt
foreign import ccall "&Pa_GetDefaultHostApi" p'Pa_GetDefaultHostApi
:: FunPtr (IO CInt)
{-# LINE 86 "Bindings/PortAudio.hsc" #-}
type C'PaHostApiTypeId = CUInt
{-# LINE 103 "Bindings/PortAudio.hsc" #-}
c'paInDevelopment = 0
c'paInDevelopment :: (Num a) => a
c'paASIO :: a
{-# LINE 104 "Bindings/PortAudio.hsc" #-}
c'paDirectSound = 1
c'paDirectSound :: (Num a) => a
{-# LINE 105 "Bindings/PortAudio.hsc" #-}
c'paMME = 2
c'paMME :: (Num a) => a
{-# LINE 106 "Bindings/PortAudio.hsc" #-}
c'paASIO = 3
c'paASIO :: (Num a) => a
{-# LINE 107 "Bindings/PortAudio.hsc" #-}
c'paSoundManager = 4
c'paSoundManager :: (Num a) => a
c'paALSA :: a
{-# LINE 108 "Bindings/PortAudio.hsc" #-}
c'paCoreAudio = 5
c'paCoreAudio :: (Num a) => a
{-# LINE 109 "Bindings/PortAudio.hsc" #-}
c'paOSS = 7
c'paOSS :: (Num a) => a
c'paBeOS :: a
{-# LINE 110 "Bindings/PortAudio.hsc" #-}
c'paALSA = 8
c'paALSA :: (Num a) => a
{-# LINE 111 "Bindings/PortAudio.hsc" #-}
c'paAL = 9
c'paAL :: (Num a) => a
c'paJACK :: a
{-# LINE 112 "Bindings/PortAudio.hsc" #-}
c'paBeOS = 10
c'paBeOS :: (Num a) => a
{-# LINE 113 "Bindings/PortAudio.hsc" #-}
c'paWDMKS = 11
c'paWDMKS :: (Num a) => a
{-# LINE 114 "Bindings/PortAudio.hsc" #-}
c'paJACK = 12
c'paJACK :: (Num a) => a
{-# LINE 115 "Bindings/PortAudio.hsc" #-}
c'paWASAPI = 13
c'paWASAPI :: (Num a) => a
{-# LINE 116 "Bindings/PortAudio.hsc" #-}
c'paAudioScienceHPI = 14
c'paAudioScienceHPI :: (Num a) => a
{-# LINE 117 "Bindings/PortAudio.hsc" #-}
{-# LINE 126 "Bindings/PortAudio.hsc" #-}
{-# LINE 127 "Bindings/PortAudio.hsc" #-}
{-# LINE 128 "Bindings/PortAudio.hsc" #-}
{-# LINE 129 "Bindings/PortAudio.hsc" #-}
{-# LINE 130 "Bindings/PortAudio.hsc" #-}
{-# LINE 131 "Bindings/PortAudio.hsc" #-}
{-# LINE 132 "Bindings/PortAudio.hsc" #-}
data C'PaHostApiInfo = C'PaHostApiInfo{
c'PaHostApiInfo'structVersion :: CInt,
c'PaHostApiInfo'type :: C'PaHostApiTypeId,
c'PaHostApiInfo'name :: CString,
c'PaHostApiInfo'deviceCount :: CInt,
c'PaHostApiInfo'defaultInputDevice :: CInt,
c'PaHostApiInfo'defaultOutputDevice :: CInt
} deriving (Eq,Show)
p'PaHostApiInfo'structVersion :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'structVersion p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 0
p'PaHostApiInfo'structVersion :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'type :: Ptr C'PaHostApiInfo -> Ptr C'PaHostApiTypeId
p'PaHostApiInfo'type p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr C'PaHostApiTypeId
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 4
p'PaHostApiInfo'type :: Ptr (C'PaHostApiInfo) -> Ptr (C'PaHostApiTypeId)
p'PaHostApiInfo'name :: Ptr C'PaHostApiInfo -> Ptr CString
p'PaHostApiInfo'name p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CString
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 8
p'PaHostApiInfo'name :: Ptr (C'PaHostApiInfo) -> Ptr (CString)
p'PaHostApiInfo'deviceCount :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'deviceCount p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 16
p'PaHostApiInfo'deviceCount :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'defaultInputDevice :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'defaultInputDevice p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 20
p'PaHostApiInfo'defaultInputDevice :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'defaultOutputDevice :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'defaultOutputDevice p :: Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p 24
p'PaHostApiInfo'defaultOutputDevice :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
instance Storable C'PaHostApiInfo where
sizeOf _ = 32
alignment _ = 8
peek _p = do
v0 <- peekByteOff _p 0
v1 <- peekByteOff _p 4
v2 <- peekByteOff _p 8
v3 <- peekByteOff _p 16
v4 <- peekByteOff _p 20
v5 <- peekByteOff _p 24
return $ C'PaHostApiInfo v0 v1 v2 v3 v4 v5
poke _p (C'PaHostApiInfo v0 v1 v2 v3 v4 v5) = do
pokeByteOff _p 0 v0
pokeByteOff _p 4 v1
pokeByteOff _p 8 v2
pokeByteOff _p 16 v3
pokeByteOff _p 20 v4
pokeByteOff _p 24 v5
return ()
{-# LINE 133 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetHostApiInfo" c'Pa_GetHostApiInfo
:: CInt -> IO (Ptr C'PaHostApiInfo)
foreign import ccall "&Pa_GetHostApiInfo" p'Pa_GetHostApiInfo
:: FunPtr (CInt -> IO (Ptr C'PaHostApiInfo))
{-# LINE 134 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_HostApiTypeIdToHostApiIndex" c'Pa_HostApiTypeIdToHostApiIndex
:: C'PaHostApiTypeId -> IO CInt
foreign import ccall "&Pa_HostApiTypeIdToHostApiIndex" p'Pa_HostApiTypeIdToHostApiIndex
:: FunPtr (C'PaHostApiTypeId -> IO CInt)
{-# LINE 135 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_HostApiDeviceIndexToDeviceIndex" c'Pa_HostApiDeviceIndexToDeviceIndex
:: CInt -> CInt -> IO CInt
foreign import ccall "&Pa_HostApiDeviceIndexToDeviceIndex" p'Pa_HostApiDeviceIndexToDeviceIndex
:: FunPtr (CInt -> CInt -> IO CInt)
{-# LINE 136 "Bindings/PortAudio.hsc" #-}
{-# LINE 142 "Bindings/PortAudio.hsc" #-}
{-# LINE 143 "Bindings/PortAudio.hsc" #-}
{-# LINE 144 "Bindings/PortAudio.hsc" #-}
{-# LINE 145 "Bindings/PortAudio.hsc" #-}
data C'PaHostErrorInfo = C'PaHostErrorInfo{
c'PaHostErrorInfo'hostApiType :: C'PaHostApiTypeId,
c'PaHostErrorInfo'errorCode :: CLong,
c'PaHostErrorInfo'errorText :: CString
} deriving (Eq,Show)
p'PaHostErrorInfo'hostApiType p = plusPtr p 0
p'PaHostErrorInfo'hostApiType :: Ptr (C'PaHostErrorInfo) -> Ptr (C'PaHostApiTypeId)
p'PaHostErrorInfo'errorCode p = plusPtr p 8
p'PaHostErrorInfo'errorCode :: Ptr (C'PaHostErrorInfo) -> Ptr (CLong)
p'PaHostErrorInfo'errorText p = plusPtr p 16
p'PaHostErrorInfo'errorText :: Ptr (C'PaHostErrorInfo) -> Ptr (CString)
instance Storable C'PaHostErrorInfo where
sizeOf _ = 24
alignment _ = 8
peek _p = do
v0 <- peekByteOff _p 0
v1 <- peekByteOff _p 8
v2 <- peekByteOff _p 16
return $ C'PaHostErrorInfo v0 v1 v2
poke _p (C'PaHostErrorInfo v0 v1 v2) = do
pokeByteOff _p 0 v0
pokeByteOff _p 8 v1
pokeByteOff _p 16 v2
return ()
{-# LINE 146 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetLastHostErrorInfo" c'Pa_GetLastHostErrorInfo
:: IO (Ptr C'PaHostErrorInfo)
foreign import ccall "&Pa_GetLastHostErrorInfo" p'Pa_GetLastHostErrorInfo
:: FunPtr (IO (Ptr C'PaHostErrorInfo))
{-# LINE 147 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDeviceCount" c'Pa_GetDeviceCount
:: IO CInt
foreign import ccall "&Pa_GetDeviceCount" p'Pa_GetDeviceCount
:: FunPtr (IO CInt)
{-# LINE 148 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultInputDevice" c'Pa_GetDefaultInputDevice
:: IO CInt
foreign import ccall "&Pa_GetDefaultInputDevice" p'Pa_GetDefaultInputDevice
:: FunPtr (IO CInt)
{-# LINE 149 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultOutputDevice" c'Pa_GetDefaultOutputDevice
:: IO CInt
foreign import ccall "&Pa_GetDefaultOutputDevice" p'Pa_GetDefaultOutputDevice
:: FunPtr (IO CInt)
{-# LINE 150 "Bindings/PortAudio.hsc" #-}
type C'PaTime = CDouble
{-# LINE 152 "Bindings/PortAudio.hsc" #-}
type C'PaSampleFormat = CULong
{-# LINE 154 "Bindings/PortAudio.hsc" #-}
{-# LINE 167 "Bindings/PortAudio.hsc" #-}
{-# LINE 168 "Bindings/PortAudio.hsc" #-}
{-# LINE 169 "Bindings/PortAudio.hsc" #-}
{-# LINE 170 "Bindings/PortAudio.hsc" #-}
{-# LINE 171 "Bindings/PortAudio.hsc" #-}
{-# LINE 172 "Bindings/PortAudio.hsc" #-}
{-# LINE 173 "Bindings/PortAudio.hsc" #-}
{-# LINE 174 "Bindings/PortAudio.hsc" #-}
{-# LINE 175 "Bindings/PortAudio.hsc" #-}
{-# LINE 176 "Bindings/PortAudio.hsc" #-}
{-# LINE 177 "Bindings/PortAudio.hsc" #-}
data C'PaDeviceInfo = C'PaDeviceInfo{
c'PaDeviceInfo'structVersion :: CInt,
c'PaDeviceInfo'name :: CString,
c'PaDeviceInfo'hostApi :: CInt,
c'PaDeviceInfo'maxInputChannels :: CInt,
c'PaDeviceInfo'maxOutputChannels :: CInt,
c'PaDeviceInfo'defaultLowInputLatency :: CDouble,
c'PaDeviceInfo'defaultLowOutputLatency :: CDouble,
c'PaDeviceInfo'defaultHighInputLatency :: CDouble,
c'PaDeviceInfo'defaultHighOutputLatency :: CDouble,
c'PaDeviceInfo'defaultSampleRate :: CDouble
} deriving (Eq,Show)
p'PaDeviceInfo'structVersion :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'structVersion p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 0
p'PaDeviceInfo'structVersion :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'name :: Ptr C'PaDeviceInfo -> Ptr CString
p'PaDeviceInfo'name p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CString
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 8
p'PaDeviceInfo'name :: Ptr (C'PaDeviceInfo) -> Ptr (CString)
p'PaDeviceInfo'hostApi :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'hostApi p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 16
p'PaDeviceInfo'hostApi :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'maxInputChannels :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'maxInputChannels p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 20
p'PaDeviceInfo'maxInputChannels :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'maxOutputChannels :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'maxOutputChannels p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 24
p'PaDeviceInfo'maxOutputChannels :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'defaultLowInputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultLowInputLatency p :: Ptr C'PaDeviceInfo
p Ptr C'PaStreamParameters
= Ptr C'PaDeviceInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 32
p'PaDeviceInfo'defaultLowInputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultLowOutputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultLowOutputLatency p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 40
p'PaDeviceInfo'defaultLowOutputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultHighInputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultHighInputLatency p :: Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p 48
p'PaDeviceInfo'defaultHighInputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultHighOutputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultHighOutputLatency p :: Ptr C'PaDeviceInfo
p = plusPtr p 56
p'PaDeviceInfo'defaultHighOutputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultSampleRate :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultSampleRate p :: Ptr C'PaDeviceInfo
p = plusPtr p 64
p'PaDeviceInfo'defaultSampleRate :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
instance Storable C'PaDeviceInfo where
sizeOf :: C'PaDeviceInfo -> Int
sizeOf :: C'PaStreamParameters -> Int
sizeOf _ = 72
alignment _ = 8
peek _p = do
v0 <- peekByteOff _p 0
v1 <- peekByteOff _p 8
v2 <- peekByteOff _p 16
v3 <- peekByteOff _p 20
v4 <- peekByteOff _p 24
v5 <- peekByteOff _p 32
v6 <- peekByteOff _p 40
v7 <- peekByteOff _p 48
v8 <- peekByteOff _p 56
v9 <- peekByteOff _p 64
return $ C'PaDeviceInfo v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
poke _p (C'PaDeviceInfo v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
pokeByteOff _p 0 v0
pokeByteOff _p 8 v1
pokeByteOff _p 16 v2
pokeByteOff _p 20 v3
pokeByteOff _p 24 v4
pokeByteOff _p 32 v5
pokeByteOff _p 40 v6
pokeByteOff _p 48 v7
Ptr C'PaDeviceInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaDeviceInfo
_p 56 CDouble
v8
Ptr C'PaDeviceInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaDeviceInfo
_p 64 CDouble
v9
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
{-# LINE 178 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDeviceInfo" c'Pa_GetDeviceInfo
:: CInt -> IO (Ptr C'PaDeviceInfo)
foreign import ccall "&Pa_GetDeviceInfo" p'Pa_GetDeviceInfo
:: FunPtr (CInt -> IO (Ptr C'PaDeviceInfo))
{-# LINE 179 "Bindings/PortAudio.hsc" #-}
{-# LINE 187 "Bindings/PortAudio.hsc" #-}
{-# LINE 188 "Bindings/PortAudio.hsc" #-}
{-# LINE 189 "Bindings/PortAudio.hsc" #-}
{-# LINE 190 "Bindings/PortAudio.hsc" #-}
{-# LINE 191 "Bindings/PortAudio.hsc" #-}
{-# LINE 192 "Bindings/PortAudio.hsc" #-}
data C'PaStreamParameters = C'PaStreamParameters{
c'PaStreamParameters'device :: CInt,
c'PaStreamParameters'channelCount :: CInt,
c'PaStreamParameters'sampleFormat :: CULong,
c'PaStreamParameters'suggestedLatency :: CDouble,
c'PaStreamParameters'hostApiSpecificStreamInfo :: Ptr ()
} deriving (Eq,Show)
p'PaStreamParameters'device p = plusPtr p 0
p'PaStreamParameters'device :: Ptr (C'PaStreamParameters) -> Ptr (CInt)
p'PaStreamParameters'channelCount p = plusPtr p 4
p'PaStreamParameters'channelCount :: Ptr (C'PaStreamParameters) -> Ptr (CInt)
p'PaStreamParameters'sampleFormat p = plusPtr p 8
p'PaStreamParameters'sampleFormat :: Ptr (C'PaStreamParameters) -> Ptr (CULong)
p'PaStreamParameters'suggestedLatency p = plusPtr p 16
p'PaStreamParameters'suggestedLatency :: Ptr (C'PaStreamParameters) -> Ptr (CDouble)
p'PaStreamParameters'hostApiSpecificStreamInfo p = plusPtr p 24
p'PaStreamParameters'hostApiSpecificStreamInfo :: Ptr (C'PaStreamParameters) -> Ptr (Ptr ())
instance Storable C'PaStreamParameters where
sizeOf _ = 32
alignment _ = 8
peek _p = do
v0 <- peekByteOff _p 0
v1 <- peekByteOff _p 4
v2 <- peekByteOff _p 8
v3 <- peekByteOff _p 16
v4 <- peekByteOff _p 24
return $ C'PaStreamParameters v0 v1 v2 v3 v4
poke _p (C'PaStreamParameters v0 v1 v2 v3 v4) = do
pokeByteOff _p 0 v0
pokeByteOff _p 4 v1
pokeByteOff _p 8 v2
pokeByteOff _p 16 v3
pokeByteOff _p 24 v4
return ()
{-# LINE 193 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsFormatSupported" c'Pa_IsFormatSupported
:: Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> IO CInt
foreign import ccall "&Pa_IsFormatSupported" p'Pa_IsFormatSupported
:: FunPtr (Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> IO CInt)
{-# LINE 194 "Bindings/PortAudio.hsc" #-}
type C'PaStreamFlags = CULong
{-# LINE 197 "Bindings/PortAudio.hsc" #-}
{-# LINE 203 "Bindings/PortAudio.hsc" #-}
{-# LINE 204 "Bindings/PortAudio.hsc" #-}
{-# LINE 205 "Bindings/PortAudio.hsc" #-}
{-# LINE 206 "Bindings/PortAudio.hsc" #-}
data C'PaStreamCallbackTimeInfo = C'PaStreamCallbackTimeInfo{
c'PaStreamCallbackTimeInfo'inputBufferAdcTime :: CDouble,
c'PaStreamCallbackTimeInfo'currentTime :: CDouble,
c'PaStreamCallbackTimeInfo'outputBufferDacTime :: CDouble
} deriving (Eq,Show)
p'PaStreamCallbackTimeInfo'inputBufferAdcTime p = plusPtr p 0
p'PaStreamCallbackTimeInfo'inputBufferAdcTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
p'PaStreamCallbackTimeInfo'currentTime p = plusPtr p 8
p'PaStreamCallbackTimeInfo'currentTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
p'PaStreamCallbackTimeInfo'outputBufferDacTime p = plusPtr p 16
p'PaStreamCallbackTimeInfo'outputBufferDacTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
instance Storable C'PaStreamCallbackTimeInfo where
sizeOf _ = 24
alignment _ = 8
peek _p = do
v0 <- peekByteOff _p 0
v1 <- peekByteOff _p 8
v2 <- peekByteOff _p 16
return $ C'PaStreamCallbackTimeInfo v0 v1 v2
poke _p (C'PaStreamCallbackTimeInfo v0 v1 v2) = do
pokeByteOff _p 0 v0
pokeByteOff _p 8 v1
pokeByteOff _p 16 v2
return ()
{-# LINE 207 "Bindings/PortAudio.hsc" #-}
type C'PaStreamCallbackFlags = CULong
{-# LINE 209 "Bindings/PortAudio.hsc" #-}
type C'PaStreamCallbackResult = CUInt
{-# LINE 213 "Bindings/PortAudio.hsc" #-}
c'paContinue = 0
c'paContinue :: (Num a) => a
{-# LINE 214 "Bindings/PortAudio.hsc" #-}
c'paComplete = 1
c'paComplete :: (Num a) => a
{-# LINE 215 "Bindings/PortAudio.hsc" #-}
c'paAbort = 2
c'paAbort :: (Num a) => a
{-# LINE 216 "Bindings/PortAudio.hsc" #-}
type C'PaStreamCallback = FunPtr (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult)
foreign import ccall "wrapper" mk'PaStreamCallback
:: (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult) -> IO C'PaStreamCallback
foreign import ccall "dynamic" mK'PaStreamCallback
:: C'PaStreamCallback -> (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult)
{-# LINE 218 "Bindings/PortAudio.hsc" #-}
type C'PaStreamFinishedCallback = FunPtr (Ptr () -> IO ())
foreign import ccall "wrapper" mk'PaStreamFinishedCallback
:: (Ptr () -> IO ()) -> IO C'PaStreamFinishedCallback
foreign import ccall "dynamic" mK'PaStreamFinishedCallback
:: C'PaStreamFinishedCallback -> (Ptr () -> IO ())
{-# LINE 220 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_OpenStream" c'Pa_OpenStream
:: Ptr (Ptr C'PaStream) -> Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> CULong -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt
foreign import ccall "&Pa_OpenStream" p'Pa_OpenStream
:: FunPtr (Ptr (Ptr C'PaStream) -> Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> CULong -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt)
{-# LINE 222 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_OpenDefaultStream" c'Pa_OpenDefaultStream
:: Ptr (Ptr C'PaStream) -> CInt -> CInt -> CULong -> CDouble -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt
foreign import ccall "&Pa_OpenDefaultStream" p'Pa_OpenDefaultStream
:: FunPtr (Ptr (Ptr C'PaStream) -> CInt -> CInt -> CULong -> CDouble -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt)
{-# LINE 223 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_CloseStream" c'Pa_CloseStream
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_CloseStream" p'Pa_CloseStream
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 224 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_SetStreamFinishedCallback" c'Pa_SetStreamFinishedCallback
:: Ptr C'PaStream -> Ptr C'PaStreamFinishedCallback -> IO CInt
foreign import ccall "&Pa_SetStreamFinishedCallback" p'Pa_SetStreamFinishedCallback
:: FunPtr (Ptr C'PaStream -> Ptr C'PaStreamFinishedCallback -> IO CInt)
{-# LINE 225 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_StartStream" c'Pa_StartStream
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_StartStream" p'Pa_StartStream
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 226 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_StopStream" c'Pa_StopStream
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_StopStream" p'Pa_StopStream
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 227 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_AbortStream" c'Pa_AbortStream
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_AbortStream" p'Pa_AbortStream
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 228 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsStreamStopped" c'Pa_IsStreamStopped
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_IsStreamStopped" p'Pa_IsStreamStopped
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 229 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsStreamActive" c'Pa_IsStreamActive
:: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_IsStreamActive" p'Pa_IsStreamActive
:: FunPtr (Ptr C'PaStream -> IO CInt)
{-# LINE 230 "Bindings/PortAudio.hsc" #-}
{-# LINE 237 "Bindings/PortAudio.hsc" #-}
{-# LINE 238 "Bindings/PortAudio.hsc" #-}
{-# LINE 239 "Bindings/PortAudio.hsc" #-}
{-# LINE 240 "Bindings/PortAudio.hsc" #-}
{-# LINE 241 "Bindings/PortAudio.hsc" #-}
data C'PaStreamInfo = C'PaStreamInfo{
c'PaStreamInfo'structVersion :: CInt,
c'PaStreamInfo'inputLatency :: CDouble,
c'PaStreamInfo'outputLatency :: CDouble,
c'PaStreamInfo'sampleRate :: CDouble
} deriving (Eq,Show)
p'PaStreamInfo'structVersion :: Ptr C'PaStreamInfo -> Ptr CInt
p'PaStreamInfo'structVersion p :: Ptr C'PaStreamInfo
p = Ptr C'PaStreamInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p 0
p'PaStreamInfo'structVersion :: Ptr (C'PaStreamInfo) -> Ptr (CInt)
p'PaStreamInfo'inputLatency p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p 8
p'PaStreamInfo'inputLatency :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
p'PaStreamInfo'outputLatency :: Ptr C'PaStreamInfo -> Ptr CDouble
p'PaStreamInfo'outputLatency p :: Ptr C'PaStreamInfo
p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p 16
p'PaStreamInfo'outputLatency :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
p'PaStreamInfo'sampleRate p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p 24
p'PaStreamInfo'sampleRate :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
instance Storable C'PaStreamInfo where
sizeOf :: C'PaStreamInfo -> Int
sizeOf _ = 32
alignment :: C'PaStreamInfo -> Int
alignment _ = 8
peek :: Ptr C'PaStreamInfo -> IO C'PaStreamInfo
peek _p :: Ptr C'PaStreamInfo
_p = do
CInt
v0 <- Ptr C'PaStreamInfo -> Int -> IO CInt
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p 0
CDouble
v1 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p 8
CDouble
v2 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p 16
CDouble
v3 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p 24
C'PaStreamInfo -> IO C'PaStreamInfo
forall (m :: * -> *) a. Monad m => a -> m a
return (C'PaStreamInfo -> IO C'PaStreamInfo)
-> C'PaStreamInfo -> IO C'PaStreamInfo
forall a b. (a -> b) -> a -> b
$ CInt -> CDouble -> CDouble -> CDouble -> C'PaStreamInfo
C'PaStreamInfo CInt
v0 CDouble
v1 CDouble
v2 CDouble
v3
poke :: Ptr C'PaStreamInfo -> C'PaStreamInfo -> IO ()
poke _p :: Ptr C'PaStreamInfo
_p (C'PaStreamInfo v0 :: CInt
v0 v1 :: CDouble
v1 v2 :: CDouble
v2 v3 :: CDouble
v3) = do
Ptr C'PaStreamInfo -> Int -> CInt -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p 0 CInt
v0
Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p 8 CDouble
v1
Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p 16 CDouble
v2
Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p 24 CDouble
v3
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
{-# LINE 242 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamInfo" c'Pa_GetStreamInfo
:: Ptr C'PaStream -> IO (Ptr C'PaStreamInfo)
foreign import ccall "&Pa_GetStreamInfo" p'Pa_GetStreamInfo
:: FunPtr (Ptr C'PaStream -> IO (Ptr C'PaStreamInfo))
{-# LINE 243 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamTime" c'Pa_GetStreamTime
:: Ptr C'PaStream -> IO CDouble
foreign import ccall "&Pa_GetStreamTime" p'Pa_GetStreamTime
:: FunPtr (Ptr C'PaStream -> IO CDouble)
{-# LINE 244 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamCpuLoad" c'Pa_GetStreamCpuLoad
:: Ptr C'PaStream -> IO CDouble
foreign import ccall "&Pa_GetStreamCpuLoad" p'Pa_GetStreamCpuLoad
:: FunPtr (Ptr C'PaStream -> IO CDouble)
{-# LINE 245 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_ReadStream" c'Pa_ReadStream
:: Ptr C'PaStream -> Ptr () -> CULong -> IO CInt
foreign import ccall "&Pa_ReadStream" p'Pa_ReadStream
:: FunPtr (Ptr C'PaStream -> Ptr () -> CULong -> IO CInt)
{-# LINE 246 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_WriteStream" c'Pa_WriteStream
:: Ptr C'PaStream -> Ptr () -> CULong -> IO CInt
foreign import ccall "&Pa_WriteStream" p'Pa_WriteStream
:: FunPtr (Ptr C'PaStream -> Ptr () -> CULong -> IO CInt)
{-# LINE 247 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamReadAvailable" c'Pa_GetStreamReadAvailable
:: Ptr C'PaStream -> IO CLong
foreign import ccall "&Pa_GetStreamReadAvailable" p'Pa_GetStreamReadAvailable
:: FunPtr (Ptr C'PaStream -> IO CLong)
{-# LINE 248 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamWriteAvailable" c'Pa_GetStreamWriteAvailable
:: Ptr C'PaStream -> IO CLong
foreign import ccall "&Pa_GetStreamWriteAvailable" p'Pa_GetStreamWriteAvailable
:: FunPtr (Ptr C'PaStream -> IO CLong)
{-# LINE 249 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetSampleSize" c'Pa_GetSampleSize
:: CULong -> IO CInt
foreign import ccall "&Pa_GetSampleSize" p'Pa_GetSampleSize
:: FunPtr (CULong -> IO CInt)
{-# LINE 250 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Sleep" c'Pa_Sleep
:: CLong -> IO ()
foreign import ccall "&Pa_Sleep" p'Pa_Sleep
:: FunPtr (CLong -> IO ())
{-# LINE 251 "Bindings/PortAudio.hsc" #-}