|
Synthesizer.Dimensional.ControlledProcess | Portability | requires multi-parameter type classes (OccasionallyScalar)
and local universal quantification | Stability | provisional | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
Description |
Basic definitions for signal processors
which are controlled by another signal.
If a control curve is expensive to compute,
or, what happens more frequently,
the conversion from natural control parameters
to internal control parameters is expensive,
then it can be more efficient to compute the control curve at a lower rate
and interpolate the internal control parameters of a particular process.
CSound and SuperCollider have a sample rate
that is common to all control curves
and they use constant interpolation exclusively.
|
|
Synopsis |
|
newtype T s u t ec ic a = Cons {} | | runSynchronous :: T s u t ec ic a -> T s u t (ec -> a) | | runSynchronous1 :: T s u t (T s sig0 ec0) ic a -> T s u t (T s sig0 ec0 -> a) | | runSynchronous2 :: T s u t (T s sig0 ec0, T s sig1 ec1) ic a -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> a) | | runSynchronous3 :: T s u t (T s sig0 ec0, T s sig1 ec1, T s sig2 ec2) ic a -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> T s sig2 ec2 -> a) | | runAsynchronous :: (C u, C ic, C t) => T t ic -> T s u t ec ic a -> T r u t -> ec -> T s u t a | | runAsynchronous1 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0) ic a -> T u t sig0 ec0 -> T s u t a | | runAsynchronous2 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0, T r sig1 ec1) ic a -> T u t sig0 ec0 -> T u t sig1 ec1 -> T s u t a | | runAsynchronous3 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0, T r sig1 ec1, T r sig2 ec2) ic a -> T u t sig0 ec0 -> T u t sig1 ec1 -> T u t sig2 ec2 -> T s u t a |
|
|
Documentation |
|
newtype T s u t ec ic a | Source |
|
ec is the type for the curve of external control parameters,
ic for internal control parameters.
| Constructors | Cons | | process :: T s u t (ec -> T ic, T ic -> a) | |
|
|
|
|
runSynchronous :: T s u t ec ic a -> T s u t (ec -> a) | Source |
|
|
runSynchronous1 :: T s u t (T s sig0 ec0) ic a -> T s u t (T s sig0 ec0 -> a) | Source |
|
|
runSynchronous2 :: T s u t (T s sig0 ec0, T s sig1 ec1) ic a -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> a) | Source |
|
|
runSynchronous3 :: T s u t (T s sig0 ec0, T s sig1 ec1, T s sig2 ec2) ic a -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> T s sig2 ec2 -> a) | Source |
|
|
runAsynchronous :: (C u, C ic, C t) => T t ic -> T s u t ec ic a -> T r u t -> ec -> T s u t a | Source |
|
|
runAsynchronous1 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0) ic a -> T u t sig0 ec0 -> T s u t a | Source |
|
|
runAsynchronous2 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0, T r sig1 ec1) ic a -> T u t sig0 ec0 -> T u t sig1 ec1 -> T s u t a | Source |
|
|
runAsynchronous3 :: (C u, C ic, C t) => T t ic -> T s u t (T r sig0 ec0, T r sig1 ec1, T r sig2 ec2) ic a -> T u t sig0 ec0 -> T u t sig1 ec1 -> T u t sig2 ec2 -> T s u t a | Source |
|
|
Produced by Haddock version 2.3.0 |