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

Safe HaskellSafe
LanguageHaskell2010

Sound.ALSA.PCM

Synopsis

Documentation

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

Minimal complete definition

sampleFmtToPcmFormat

Methods

sampleFmtToPcmFormat :: y -> Format Source #

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 #

type Time = Int Source #

type Size = Int Source #

data SoundFmt y Source #

Constructors

SoundFmt 
Instances
Show (SoundFmt y) Source # 
Instance details

Defined in Sound.ALSA.PCM

Methods

showsPrec :: Int -> SoundFmt y -> ShowS #

show :: SoundFmt y -> String #

showList :: [SoundFmt y] -> ShowS #

data SoundSource handle y Source #

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

Constructors

SoundSource 

Fields

data SoundSink handle y Source #

Constructors

SoundSink 

Fields

withSoundSource :: SoundSource handle y -> (handle y -> IO a) -> IO a Source #

withSoundSourceRunning :: SoundSource handle y -> handle y -> IO a -> IO a Source #

withSoundSink :: SoundSink handle y -> (handle y -> IO a) -> IO a Source #

withSoundSinkRunning :: SoundSink handle y -> handle y -> IO a -> IO a Source #

copySound Source #

Arguments

:: SampleFmt y 
=> SoundSource handleIn y 
-> SoundSink handleOut y 
-> Size

Buffer size (in sample frames) to use

-> IO ()