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

Safe HaskellSafe
LanguageHaskell2010

Sound.ALSA.PCM.Node.File

Contents

Synopsis

Types

data Handle y #

type Time = Int #

type Size = Int #

Classes

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

Minimal complete definition

sampleFmtToPcmFormat

Instances

SampleFmt Double # 

Methods

sampleFmtToPcmFormat :: Double -> Format #

SampleFmt Float # 

Methods

sampleFmtToPcmFormat :: Float -> Format #

SampleFmt Int8 # 

Methods

sampleFmtToPcmFormat :: Int8 -> Format #

SampleFmt Int16 # 

Methods

sampleFmtToPcmFormat :: Int16 -> Format #

SampleFmt Int32 # 

Methods

sampleFmtToPcmFormat :: Int32 -> Format #

SampleFmt Word8 # 

Methods

sampleFmtToPcmFormat :: Word8 -> Format #

SampleFmt Word16 # 

Methods

sampleFmtToPcmFormat :: Word16 -> Format #

SampleFmt Word32 # 

Methods

sampleFmtToPcmFormat :: Word32 -> Format #

SampleFmt T # 

Methods

sampleFmtToPcmFormat :: T -> Format #

SampleFmt a => SampleFmt (T a) # 

Methods

sampleFmtToPcmFormat :: T a -> Format #

Management of streams

open :: SampleFmt y => IOMode -> FilePath -> IO (Handle y) #

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

Data transfer

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

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 () #

Same restrictions as for fileRead.