alsa-pcm-0.6.1: Binding to the ALSA Library API (PCM audio).

Safe HaskellSafe
LanguageHaskell2010

Sound.ALSA.PCM.Parameters.Hardware

Contents

Synopsis

Types

data T i y a Source #

Instances

Monad (T i y) Source # 

Methods

(>>=) :: T i y a -> (a -> T i y b) -> T i y b #

(>>) :: T i y a -> T i y b -> T i y b #

return :: a -> T i y a #

fail :: String -> T i y a #

Functor (T i y) Source # 

Methods

fmap :: (a -> b) -> T i y a -> T i y b #

(<$) :: a -> T i y b -> T i y a #

Applicative (T i y) Source # 

Methods

pure :: a -> T i y a #

(<*>) :: T i y (a -> b) -> T i y a -> T i y b #

liftA2 :: (a -> b -> c) -> T i y a -> T i y b -> T i y c #

(*>) :: T i y a -> T i y b -> T i y b #

(<*) :: T i y a -> T i y b -> T i y a #

type Time = Int Source #

type Size = Int Source #

data Interleaved Source #

Instances

Primitive accessors to hardware parameters

setChannels :: Word -> T Noninterleaved y () Source #

For non-interleaved access the number of channels must be set manually. It can be chosen at runtime, but the compiler cannot check whether the number of allocated channels matches the one in readn and writen.

In interleaved access the number of channels is derived from the type and must not be set manually. The number is static but the compiler checks consistency with readi and writei.

setPeriods :: Word -> Ordering -> T i y () Source #

setBufferSize :: Size -> T i y () Source #

setTickTime :: Time -> Ordering -> T i y () Source #

Complex hardware parameter configuration

setRateBufferTime Source #

Arguments

:: SampleFreq

sample frequency

-> Time

buffer time

-> Time

period time

-> T Interleaved y (Size, Size)

(bufferSize,periodSize)