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

Safe HaskellSafe
LanguageHaskell2010

Sound.ALSA.PCM.Node.File

Contents

Synopsis

Types

data Handle y Source #

type Time = Int Source #

type Size = Int Source #

Classes

class (Storable y, C y) => SampleFmt y Source #

Minimal complete definition

sampleFmtToPcmFormat

Instances
SampleFmt Double Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Double -> Format Source #

SampleFmt Float Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Float -> Format Source #

SampleFmt Int8 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Int8 -> Format Source #

SampleFmt Int16 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Int16 -> Format Source #

SampleFmt Int32 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Int32 -> Format Source #

SampleFmt Word8 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Word8 -> Format Source #

SampleFmt Word16 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Word16 -> Format Source #

SampleFmt Word32 Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: Word32 -> Format Source #

SampleFmt T Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: T -> Format Source #

SampleFmt a => SampleFmt (T a) Source # 
Instance details

Defined in Sound.ALSA.PCM.Core.Class

Methods

sampleFmtToPcmFormat :: T a -> Format Source #

Management of streams

close :: SampleFmt y => Handle y -> IO () Source #

Data transfer

read :: SampleFmt y => Handle y -> Ptr y -> Size -> IO Size Source #

This expects pad bytes that are needed in memory in order to satisfy aligment constraints. This is only a problem for samples sizes like 24 bit.

write :: SampleFmt y => Handle y -> Ptr y -> Size -> IO () Source #

Same restrictions as for fileRead.