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

Sound.ALSA.PCM

Synopsis

Documentation

data SoundFmt y Source

Constructors

SoundFmt 

Instances

data SoundSource y handle Source

Counts are in samples, not bytes. Multi-channel data is interleaved.

Constructors

SoundSource 

Fields

soundSourceFmt :: SoundFmt y
 
soundSourceOpen :: IO handle
 
soundSourceClose :: handle -> IO ()
 
soundSourceStart :: handle -> IO ()
 
soundSourceStop :: handle -> IO ()
 
soundSourceRead :: handle -> Ptr y -> Int -> IO Int
 

data SoundSink y handle Source

Constructors

SoundSink 

Fields

soundSinkFmt :: SoundFmt y
 
soundSinkOpen :: IO handle
 
soundSinkClose :: handle -> IO ()
 
soundSinkWrite :: handle -> Ptr y -> Int -> IO ()
 
soundSinkStart :: handle -> IO ()
 
soundSinkStop :: handle -> IO ()
 

data Pcm Source

Instances

withSoundSource :: SoundSource y h -> (h -> IO a) -> IO aSource

withSoundSink :: SoundSink y h -> (h -> IO a) -> IO aSource

copySoundSource

Arguments

:: SampleFmt y 
=> SoundSource y h1 
-> SoundSink y h2 
-> Int

Buffer size (in sample frames) to use

-> IO ()