Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Re-export functions from Sound.Frame.Stereo and add (orphan) instances for various LLVM type classes. If you want to use the Stereo datatype with synthesizer-llvm we recommend to import this module instead of Sound.Frame.Stereo or Sound.Frame.NumericPrelude.Stereo.
Synopsis
- data T a
- cons :: a -> a -> T a
- left :: T a -> a
- right :: T a -> a
- data Channel
- select :: T a -> Channel -> a
- swap :: T a -> T a
- multiValue :: T (T a) -> T (T a)
- unMultiValue :: T (T a) -> T (T a)
- consMultiValue :: T a -> T a -> T (T a)
- unExpression :: Exp (T a) -> T (Exp a)
- multiVector :: T (T n a) -> T n (T a)
- unMultiVector :: T n (T a) -> T (T n a)
- multiValueSerial :: T (T (T n a)) -> T (T n (T a))
- unMultiValueSerial :: T (T n (T a)) -> T (T (T n a))
- arrowFromMono :: Arrow arrow => arrow a b -> arrow (T a) (T b)
- arrowFromMonoControlled :: Arrow arrow => arrow (c, a) b -> arrow (c, T a) (T b)
- arrowFromChannels :: Arrow arrow => arrow a b -> arrow a b -> arrow (T a) (T b)
- interleave :: (T a, T b) -> T (a, b)
- sequence :: Functor f => f (T a) -> T (f a)
- liftApplicative :: Applicative f => (f a -> f b) -> f (T a) -> f (T b)
Documentation
Instances
arrowFromMono :: Arrow arrow => arrow a b -> arrow (T a) (T b) #
Run a causal process independently on each stereo channel.
arrowFromMonoControlled :: Arrow arrow => arrow (c, a) b -> arrow (c, T a) (T b) #
arrowFromChannels :: Arrow arrow => arrow a b -> arrow a b -> arrow (T a) (T b) #
interleave :: (T a, T b) -> T (a, b) #
liftApplicative :: Applicative f => (f a -> f b) -> f (T a) -> f (T b) #