Copyright | (c) Henning Thielemann 2008-2009 |
---|---|
License | GPL |
Maintainer | synthesizer@henning-thielemann.de |
Stability | provisional |
Portability | requires multi-parameter type classes |
Safe Haskell | None |
Language | Haskell2010 |
- unzip :: (Transform sig (yv0, yv1), Transform sig yv0, Transform sig yv1) => T rate amp (sig (yv0, yv1)) -> (T rate amp (sig yv0), T rate amp (sig yv1))
- unzip3 :: (Transform sig (yv0, yv1, yv2), Transform sig yv0, Transform sig yv1, Transform sig yv2) => T rate amp (sig (yv0, yv1, yv2)) -> (T rate amp (sig yv0), T rate amp (sig yv1), T rate amp (sig yv2))
- leftFromStereo :: C u => R s u y (T yv) -> R s u y yv
- rightFromStereo :: C u => R s u y (T yv) -> R s u y yv
- span :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> (T rate (Dimensional v y) (sig yv), T rate (Dimensional v y) (sig yv))
- dropWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv)
- takeWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv)
- spanPrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> (T rate amp (sig y), T rate amp (sig y))
- dropWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y)
- takeWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y)
- concat :: (Ord y, C y, C u, C y yv, Transform sig yv) => [Signal s u y sig yv] -> Signal s u y sig yv
- concatVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> [Signal s u y sig yv] -> Signal s u y sig yv
- concatPrimitive :: (Transform sig, Primitive amp) => [T (Phantom s) amp sig] -> T (Phantom s) amp sig
- append :: (Ord y, C y, C u, C y yv, Transform sig yv) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yv
- appendVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yv
- appendPrimitive :: (Transform sig, Primitive amp) => T (Phantom s) amp sig -> T (Phantom s) amp sig -> T (Phantom s) amp sig
- zip :: (Ord y, C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1, Transform sig (yv0, yv1)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1)
- zipVolume :: (C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1, Transform sig (yv0, yv1)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1)
- zip3 :: (Ord y, C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2, Transform sig (yv0, yv1, yv2)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2)
- zip3Volume :: (C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2, Transform sig (yv0, yv1, yv2)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2)
- mergeStereo :: (Ord y, C y, C u, C y yv, Transform sig yv, Transform sig (T yv)) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv)
- mergeStereoVolume :: (C y, C u, C y yv, Transform sig yv, Transform sig (T yv)) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv)
- mergeStereoPrimitive :: (Primitive amp, Transform sig y, Transform sig (T y)) => T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig (T y))
- selectBool :: (Ord y, C y, C u, C y yv, Read sig yv, Transform sig Bool, Transform sig yv) => Signal s u y sig yv -> Signal s u y sig yv -> T (Phantom s) Abstract (sig Bool) -> Signal s u y sig yv
- reverse :: Transform sig yv => T rate amp (sig yv) -> T rate amp (sig yv)
dissection
unzip :: (Transform sig (yv0, yv1), Transform sig yv0, Transform sig yv1) => T rate amp (sig (yv0, yv1)) -> (T rate amp (sig yv0), T rate amp (sig yv1)) Source #
unzip3 :: (Transform sig (yv0, yv1, yv2), Transform sig yv0, Transform sig yv1, Transform sig yv2) => T rate amp (sig (yv0, yv1, yv2)) -> (T rate amp (sig yv0), T rate amp (sig yv1), T rate amp (sig yv2)) Source #
span :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> (T rate (Dimensional v y) (sig yv), T rate (Dimensional v y) (sig yv)) Source #
dropWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv) Source #
takeWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv) Source #
spanPrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> (T rate amp (sig y), T rate amp (sig y)) Source #
dropWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y) Source #
takeWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y) Source #
glueing
concat :: (Ord y, C y, C u, C y yv, Transform sig yv) => [Signal s u y sig yv] -> Signal s u y sig yv Source #
Similar to foldr1 append
but more efficient and accurate,
because it reduces the number of amplifications.
Does not work for infinite lists,
because no maximum amplitude can be computed.
concatVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> [Signal s u y sig yv] -> Signal s u y sig yv Source #
Give the output volume explicitly. Does also work for infinite lists.
concatPrimitive :: (Transform sig, Primitive amp) => [T (Phantom s) amp sig] -> T (Phantom s) amp sig Source #
append :: (Ord y, C y, C u, C y yv, Transform sig yv) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yv Source #
appendVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yv Source #
appendPrimitive :: (Transform sig, Primitive amp) => T (Phantom s) amp sig -> T (Phantom s) amp sig -> T (Phantom s) amp sig Source #
zip :: (Ord y, C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1, Transform sig (yv0, yv1)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1) Source #
zipVolume :: (C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1, Transform sig (yv0, yv1)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1) Source #
zip3 :: (Ord y, C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2, Transform sig (yv0, yv1, yv2)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2) Source #
zip3Volume :: (C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2, Transform sig (yv0, yv1, yv2)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2) Source #
mergeStereo :: (Ord y, C y, C u, C y yv, Transform sig yv, Transform sig (T yv)) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv) Source #
mergeStereoVolume :: (C y, C u, C y yv, Transform sig yv, Transform sig (T yv)) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv) Source #
mergeStereoPrimitive :: (Primitive amp, Transform sig y, Transform sig (T y)) => T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig (T y)) Source #