Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype SampleBuffer sampleType = MkSampleBuffer (Vector sampleType)
- sampleBufferFromByteString :: Storable a => ByteString -> SampleBuffer a
- byteStringFromSampleBuffer :: Storable a => SampleBuffer a -> ByteString
- sampleBufferToList :: Storable s => SampleBuffer s -> [s]
- sampleBufferFromList :: Storable s => [s] -> SampleBuffer s
- sampleVector :: forall sampleType sampleType. Iso (SampleBuffer sampleType) (SampleBuffer sampleType) (Vector sampleType) (Vector sampleType)
- createSampleBufferFrom :: Storable sample' => (forall s. Vector sample -> ST s (MVector s sample')) -> SampleBuffer sample -> SampleBuffer sample'
- class (Storable (GetSampleType s), SetSampleType s (GetSampleType s) ~ s) => HasSampleBuffer s where
- type SetSampleType s t
- type GetSampleType s
- type GetSampleBuffer s = SampleBuffer (GetSampleType s)
- mutateSamples :: Storable a => (forall s. MVector s a -> ST s ()) -> SampleBuffer a -> SampleBuffer a
- unsafeMutateSamples :: Storable a => (forall s. MVector s a -> ST s r) -> SampleBuffer a -> (r, SampleBuffer a)
Documentation
newtype SampleBuffer sampleType Source #
A sample is a discrete value of a continuous signal, periodically sampled at the sampling frequency. This is a full buffer of those things.
MkSampleBuffer (Vector sampleType) |
sampleBufferFromByteString :: Storable a => ByteString -> SampleBuffer a Source #
byteStringFromSampleBuffer :: Storable a => SampleBuffer a -> ByteString Source #
sampleBufferToList :: Storable s => SampleBuffer s -> [s] Source #
sampleBufferFromList :: Storable s => [s] -> SampleBuffer s Source #
sampleVector :: forall sampleType sampleType. Iso (SampleBuffer sampleType) (SampleBuffer sampleType) (Vector sampleType) (Vector sampleType) Source #
createSampleBufferFrom :: Storable sample' => (forall s. Vector sample -> ST s (MVector s sample')) -> SampleBuffer sample -> SampleBuffer sample' Source #
class (Storable (GetSampleType s), SetSampleType s (GetSampleType s) ~ s) => HasSampleBuffer s where Source #
A type class for media formats, like encodings, sample rate, etc...
type SetSampleType s t Source #
type GetSampleType s Source #
sampleCount :: s -> Int Source #
eachSample :: Storable t => Traversal s (SetSampleType s t) (GetSampleType s) t Source #
sampleBuffer :: Storable t => Lens s (SetSampleType s t) (SampleBuffer (GetSampleType s)) (SampleBuffer t) Source #
Storable a => HasSampleBuffer (SampleBuffer a) Source # | |
type GetSampleBuffer s = SampleBuffer (GetSampleType s) Source #
mutateSamples :: Storable a => (forall s. MVector s a -> ST s ()) -> SampleBuffer a -> SampleBuffer a Source #
unsafeMutateSamples :: Storable a => (forall s. MVector s a -> ST s r) -> SampleBuffer a -> (r, SampleBuffer a) Source #
Unsafe because results can be returned, which might contain the thawn vector.