Sound.Frame
- class C y where
- numberOfChannels :: y -> Int
- sizeOfElement :: y -> Int
- numberOfChannelsFoldable :: (C y, Foldable f) => f y -> Int
- sizeOfElementFoldable :: (C y, Foldable f) => f y -> Int
- sizeOfElementType :: C y => f y -> Int
- paddedSizeOf :: Storable a => a -> Int
- withSignal :: (y -> a) -> sig y -> a
Documentation
This is a class for nested tuples used as sample frames.
Should we make Storable a superclass of C?
Methods
numberOfChannels :: y -> IntSource
The argument is not touched and can be undefined
sizeOfElement :: y -> IntSource
Size of elements.
In a nested record type, like Stereo (Stereo a),
it is the size of the atomic element, in our example a.
We assume that the atomic element values all have the same size,
such that sizeOfElement undefined is defined.
numberOfChannelsFoldable :: (C y, Foldable f) => f y -> IntSource
Default implementations for a foldable Frame.
sizeOfElementFoldable :: (C y, Foldable f) => f y -> IntSource
sizeOfElementType :: C y => f y -> IntSource
Returns the size of an undefined element.
This might be more efficient than sizeOfElementFoldable.
paddedSizeOf :: Storable a => a -> IntSource
Space that an element consumes in a Storable Array. This is space for the element plus padding.
withSignal :: (y -> a) -> sig y -> aSource