3 , MultiParamTypeClasses
6 module Sound.EsounD.Streams
12 import Control.Monad.IO.Class
13 import Control.Monad.Trans.Region
17 streamSampleRate ∷ s pr → Int
19 -- | ESD streams which behave as sources.
20 class Stream rs ⇒ ReadableStream rs dvec where
21 readFrames ∷ ( AncestorRegion pr cr
25 → Int -- ^ number of frames to read
26 → cr dvec -- ^ frames in deinterleaved vectors
28 -- | ESD streams which behave as sinks.
29 class Stream ws ⇒ WritableStream ws dvec where
30 writeFrames ∷ ( AncestorRegion pr cr
34 → dvec -- ^ frames in deinterleaved vectors