| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Sound.ALSA.PCM.Parameters.Hardware
- data T i y a
- type SampleFreq = Int
- type Time = Int
- type Size = Int
- data Interleaved
- data Noninterleaved
- canMmapSampleResolution :: T i y Bool
- isDouble :: T i y Bool
- isBatch :: T i y Bool
- isBlockTransfer :: T i y Bool
- canOverrange :: T i y Bool
- canPause :: T i y Bool
- canResume :: T i y Bool
- isHalfDuplex :: T i y Bool
- isJointDuplex :: T i y Bool
- canSyncStart :: T i y Bool
- getRateNumden :: T i y (Word, Word)
- getSbits :: T i y Word
- getFifoSize :: T i y Word
- getChannels :: T i y Word
- getChannelsMin :: T i y Word
- getChannelsMax :: T i y Word
- testChannels :: Word -> T i y Errno
- setChannels :: Word -> T Noninterleaved y ()
- setChannelsMin :: Word -> T Noninterleaved y Word
- setChannelsMax :: Word -> T Noninterleaved y Word
- setChannelsMinmax :: Word -> Word -> T Noninterleaved y (Word, Word)
- setChannelsNear :: Word -> T Noninterleaved y Word
- setChannelsFirst :: Word -> T Noninterleaved y Word
- setChannelsLast :: Word -> T Noninterleaved y Word
- getRate :: T i y (SampleFreq, Ordering)
- getRateMin :: T i y (SampleFreq, Ordering)
- getRateMax :: T i y (SampleFreq, Ordering)
- testRate :: SampleFreq -> Ordering -> T i y Errno
- setRate :: SampleFreq -> Ordering -> T i y ()
- setRateMin :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering)
- setRateMax :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering)
- setRateMinmax :: SampleFreq -> Ordering -> SampleFreq -> Ordering -> T i y (SampleFreq, Ordering, SampleFreq, Ordering)
- setRateNear :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering)
- setRateFirst :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering)
- setRateLast :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering)
- setRateResample :: Bool -> T i y ()
- getRateResample :: T i y Bool
- setExportBuffer :: Bool -> T i y ()
- getExportBuffer :: T i y Bool
- getPeriodTime :: T i y (Time, Ordering)
- getPeriodTimeMin :: T i y (Time, Ordering)
- getPeriodTimeMax :: T i y (Time, Ordering)
- testPeriodTime :: Time -> Ordering -> T i y Errno
- setPeriodTime :: Time -> Ordering -> T i y ()
- setPeriodTimeMin :: Time -> Ordering -> T i y (Time, Ordering)
- setPeriodTimeMax :: Time -> Ordering -> T i y (Time, Ordering)
- setPeriodTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering)
- setPeriodTimeNear :: Time -> Ordering -> T i y (Time, Ordering)
- setPeriodTimeFirst :: Time -> Ordering -> T i y (Time, Ordering)
- setPeriodTimeLast :: Time -> Ordering -> T i y (Time, Ordering)
- getPeriodSize :: T i y (Size, Ordering)
- getPeriodSizeMin :: T i y (Size, Ordering)
- getPeriodSizeMax :: T i y (Size, Ordering)
- testPeriodSize :: Size -> Ordering -> T i y Errno
- setPeriodSize :: Size -> Ordering -> T i y ()
- setPeriodSizeMin :: Size -> Ordering -> T i y (Size, Ordering)
- setPeriodSizeMax :: Size -> Ordering -> T i y (Size, Ordering)
- setPeriodSizeMinmax :: Size -> Ordering -> Size -> Ordering -> T i y (Size, Ordering, Size, Ordering)
- setPeriodSizeNear :: Size -> Ordering -> T i y (Size, Ordering)
- setPeriodSizeFirst :: Size -> Ordering -> T i y (Size, Ordering)
- setPeriodSizeLast :: Size -> Ordering -> T i y (Size, Ordering)
- setPeriodSizeInteger :: T i y ()
- getPeriods :: T i y (Word, Ordering)
- getPeriodsMin :: T i y (Word, Ordering)
- getPeriodsMax :: T i y (Word, Ordering)
- testPeriods :: Word -> Ordering -> T i y Errno
- setPeriods :: Word -> Ordering -> T i y ()
- setPeriodsMin :: Word -> Ordering -> T i y (Word, Ordering)
- setPeriodsMax :: Word -> Ordering -> T i y (Word, Ordering)
- setPeriodsMinmax :: Word -> Ordering -> Word -> Ordering -> T i y (Word, Ordering, Word, Ordering)
- setPeriodsNear :: Word -> Ordering -> T i y (Word, Ordering)
- setPeriodsFirst :: Word -> Ordering -> T i y (Word, Ordering)
- setPeriodsLast :: Word -> Ordering -> T i y (Word, Ordering)
- setPeriodsInteger :: T i y ()
- getBufferTime :: T i y (Time, Ordering)
- getBufferTimeMin :: T i y (Time, Ordering)
- getBufferTimeMax :: T i y (Time, Ordering)
- testBufferTime :: Time -> Ordering -> T i y Errno
- setBufferTime :: Time -> Ordering -> T i y ()
- setBufferTimeMin :: Time -> Ordering -> T i y (Time, Ordering)
- setBufferTimeMax :: Time -> Ordering -> T i y (Time, Ordering)
- setBufferTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering)
- setBufferTimeNear :: Time -> Ordering -> T i y (Time, Ordering)
- setBufferTimeFirst :: Time -> Ordering -> T i y (Time, Ordering)
- setBufferTimeLast :: Time -> Ordering -> T i y (Time, Ordering)
- getBufferSize :: T i y Size
- getBufferSizeMin :: T i y Size
- getBufferSizeMax :: T i y Size
- testBufferSize :: Size -> T i y Errno
- setBufferSize :: Size -> T i y ()
- setBufferSizeMin :: Size -> T i y Size
- setBufferSizeMax :: Size -> T i y Size
- setBufferSizeMinmax :: Size -> Size -> T i y (Size, Size)
- setBufferSizeNear :: Size -> T i y Size
- setBufferSizeFirst :: Size -> T i y Size
- setBufferSizeLast :: Size -> T i y Size
- getTickTime :: T i y (Time, Ordering)
- getTickTimeMin :: T i y (Time, Ordering)
- getTickTimeMax :: T i y (Time, Ordering)
- testTickTime :: Time -> Ordering -> T i y Errno
- setTickTime :: Time -> Ordering -> T i y ()
- setTickTimeMin :: Time -> Ordering -> T i y (Time, Ordering)
- setTickTimeMax :: Time -> Ordering -> T i y (Time, Ordering)
- setTickTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering)
- setTickTimeNear :: Time -> Ordering -> T i y (Time, Ordering)
- setTickTimeFirst :: Time -> Ordering -> T i y (Time, Ordering)
- setTickTimeLast :: Time -> Ordering -> T i y (Time, Ordering)
- getMinAlign :: T i y Size
- setRateBufferTime :: SampleFreq -> Time -> Time -> T Interleaved y (Size, Size)
Types
type SampleFreq = Int #
data Interleaved #
Instances
data Noninterleaved #
Instances
Primitive accessors to hardware parameters
canMmapSampleResolution :: T i y Bool #
isBlockTransfer :: T i y Bool #
canOverrange :: T i y Bool #
isHalfDuplex :: T i y Bool #
isJointDuplex :: T i y Bool #
canSyncStart :: T i y Bool #
getRateNumden :: T i y (Word, Word) #
getFifoSize :: T i y Word #
getChannels :: T i y Word #
getChannelsMin :: T i y Word #
getChannelsMax :: T i y Word #
testChannels :: Word -> T i y Errno #
setChannels :: Word -> T Noninterleaved y () #
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.
setChannelsMin :: Word -> T Noninterleaved y Word #
setChannelsMax :: Word -> T Noninterleaved y Word #
setChannelsMinmax :: Word -> Word -> T Noninterleaved y (Word, Word) #
setChannelsNear :: Word -> T Noninterleaved y Word #
setChannelsFirst :: Word -> T Noninterleaved y Word #
setChannelsLast :: Word -> T Noninterleaved y Word #
getRate :: T i y (SampleFreq, Ordering) #
getRateMin :: T i y (SampleFreq, Ordering) #
getRateMax :: T i y (SampleFreq, Ordering) #
setRate :: SampleFreq -> Ordering -> T i y () #
setRateMin :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering) #
setRateMax :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering) #
setRateMinmax :: SampleFreq -> Ordering -> SampleFreq -> Ordering -> T i y (SampleFreq, Ordering, SampleFreq, Ordering) #
setRateNear :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering) #
setRateFirst :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering) #
setRateLast :: SampleFreq -> Ordering -> T i y (SampleFreq, Ordering) #
setRateResample :: Bool -> T i y () #
getRateResample :: T i y Bool #
setExportBuffer :: Bool -> T i y () #
getExportBuffer :: T i y Bool #
getPeriodTime :: T i y (Time, Ordering) #
getPeriodTimeMin :: T i y (Time, Ordering) #
getPeriodTimeMax :: T i y (Time, Ordering) #
setPeriodTime :: Time -> Ordering -> T i y () #
setPeriodTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering) #
getPeriodSize :: T i y (Size, Ordering) #
getPeriodSizeMin :: T i y (Size, Ordering) #
getPeriodSizeMax :: T i y (Size, Ordering) #
setPeriodSize :: Size -> Ordering -> T i y () #
setPeriodSizeMinmax :: Size -> Ordering -> Size -> Ordering -> T i y (Size, Ordering, Size, Ordering) #
setPeriodSizeInteger :: T i y () #
getPeriods :: T i y (Word, Ordering) #
getPeriodsMin :: T i y (Word, Ordering) #
getPeriodsMax :: T i y (Word, Ordering) #
setPeriods :: Word -> Ordering -> T i y () #
setPeriodsMinmax :: Word -> Ordering -> Word -> Ordering -> T i y (Word, Ordering, Word, Ordering) #
setPeriodsInteger :: T i y () #
getBufferTime :: T i y (Time, Ordering) #
getBufferTimeMin :: T i y (Time, Ordering) #
getBufferTimeMax :: T i y (Time, Ordering) #
setBufferTime :: Time -> Ordering -> T i y () #
setBufferTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering) #
getBufferSize :: T i y Size #
getBufferSizeMin :: T i y Size #
getBufferSizeMax :: T i y Size #
testBufferSize :: Size -> T i y Errno #
setBufferSize :: Size -> T i y () #
setBufferSizeMin :: Size -> T i y Size #
setBufferSizeMax :: Size -> T i y Size #
setBufferSizeNear :: Size -> T i y Size #
setBufferSizeFirst :: Size -> T i y Size #
setBufferSizeLast :: Size -> T i y Size #
getTickTime :: T i y (Time, Ordering) #
getTickTimeMin :: T i y (Time, Ordering) #
getTickTimeMax :: T i y (Time, Ordering) #
setTickTime :: Time -> Ordering -> T i y () #
setTickTimeMinmax :: Time -> Ordering -> Time -> Ordering -> T i y (Time, Ordering, Time, Ordering) #
getMinAlign :: T i y Size #
Complex hardware parameter configuration
Arguments
| :: SampleFreq | sample frequency |
| -> Time | buffer time |
| -> Time | period time |
| -> T Interleaved y (Size, Size) | (bufferSize,periodSize) |