Safe Haskell | None |
---|---|
Language | Haskell2010 |
Channel representation types.
- class Typeable c => KnownChannelLayout c where
- data ChannelLayoutProxy c where
- MkChannelLayoutProxy :: ChannelLayoutProxy c
- ConvertChannelLayoutProxy :: proxy c -> ChannelLayoutProxy c
- class SetChannelLayout s (ChannelLayout s) ~ s => HasChannelLayout s where
- type ChannelLayout s
- type SetChannelLayout s b
- class EachChannel s t where
- type ChannelsFrom s
- type ChannelsTo t
- type EachChannelL s t a b = (EachChannel s t, ChannelsFrom s ~ a, ChannelsTo t ~ b)
- type EachChannelL' s a = (EachChannel s s, ChannelsFrom s ~ a, ChannelsTo s ~ a)
- type EachChannel' s = (ChannelsFrom s ~ ChannelsTo s, EachChannel s s)
- eachChannel' :: EachChannel' i => Traversal' i (ChannelsFrom i)
Documentation
class Typeable c => KnownChannelLayout c where Source #
Like KnownNat
but for promoted ChannelLayout
s.
numberOfChannels :: proxy c -> Int Source #
Return the ChannelLayout
for type c
data ChannelLayoutProxy c where Source #
A Proxy specifically to prevent orphan instances of e.g. Proxy channelLayoyt
.
MkChannelLayoutProxy :: ChannelLayoutProxy c | |
ConvertChannelLayoutProxy :: proxy c -> ChannelLayoutProxy c |
KnownChannelLayout k c => Show (ChannelLayoutProxy k c) Source # | Create a textual representation of the channel layout. |
class SetChannelLayout s (ChannelLayout s) ~ s => HasChannelLayout s Source #
Types that have some KnownChannelLayout
type ChannelLayout s Source #
The channel layout contained in s
type SetChannelLayout s b Source #
The type resulting from changing the channel layout type in s
to b
KnownChannelLayout * c => HasChannelLayout (Audio r c t) Source # | |
class EachChannel s t where Source #
Types, e.g samples, that have one or more channels
type ChannelsFrom s Source #
The channel layout contained in s
type ChannelsTo t Source #
The channel layout contained in t
eachChannel :: Traversal s t (ChannelsFrom s) (ChannelsTo t) Source #
EachChannel a b => EachChannel (Discontinous a) (Discontinous b) Source # | |
EachChannel c c' => EachChannel (Segment d c) (Segment d c') Source # | |
(IsPcmValue a, IsPcmValue b) => EachChannel (Pcm Mono a) (Pcm Mono b) Source # | |
EachChannel (Pcm Stereo a) (Pcm Stereo b) Source # | |
(CanBeSample (Pcm c t), CanBeSample (Pcm c' t'), EachSampleL (Audio r c (Raw * t)) (Audio r' c' (Raw * t')) (Pcm c t) (Pcm c' t'), EachChannelL (Pcm c t) (Pcm c' t') t t') => EachChannel (Audio r c (Raw * t)) (Audio r' c' (Raw * t')) Source # | |
EachChannel c c' => EachChannel (Frame s t c) (Frame s t c') Source # | |
EachChannel (Frame s t c) (Frame s t c') => EachChannel (Stream i s t p c) (Stream i s t p c') Source # | |
type EachChannelL s t a b = (EachChannel s t, ChannelsFrom s ~ a, ChannelsTo t ~ b) Source #
A constraint type alias for EachChannel
similar to the parameters of type class Each
from the lens package.
type EachChannelL' s a = (EachChannel s s, ChannelsFrom s ~ a, ChannelsTo s ~ a) Source #
A constraint type alias for EachChannel
with a simple traversal
type EachChannel' s = (ChannelsFrom s ~ ChannelsTo s, EachChannel s s) Source #
A simple Traversal
for the channels in samples
eachChannel' :: EachChannel' i => Traversal' i (ChannelsFrom i) Source #
A simple Traversal
for the channels in samples