Safe Haskell | None |
---|
- type Cell sig y = T (sig y)
- interpolateCell :: Read sig y => T a y -> T b y -> (a, b) -> Cell sig y -> y
- data Prototype sig a v = Prototype {
- protoMarginLeap :: Margin
- protoMarginStep :: Margin
- protoIpOffset :: Int
- protoPeriod :: a
- protoPeriodInt :: Int
- protoShapeLimits :: (a, a)
- protoSignal :: sig v
- makePrototype :: (C a, Read sig v) => Margin -> Margin -> a -> sig v -> Prototype sig a v
- sampledToneCell :: (C a, Transform sig v) => Prototype sig a v -> a -> T a -> ((a, a), Cell sig v)
- oscillatorCells :: (C t, Transform sig y) => Margin -> Margin -> t -> sig y -> (t, T t) -> (T t, T t) -> T ((t, t), Cell sig y)
- checkNonNeg :: (Ord a, C a, Show a) => a -> a
- makeCell :: Transform sig y => Int -> sig y -> Cell sig y
- oscillatorCoords :: C t => Int -> t -> (t, T t) -> (T t, T t) -> T (Coords t)
- limitRelativeShapes :: C t => Margin -> Margin -> Int -> (t, T t) -> (t, T t)
- limitMinRelativeValues :: (C t, Ord t) => t -> (t, T t) -> (t, T t)
Documentation
interpolateCell :: Read sig y => T a y -> T b y -> (a, b) -> Cell sig y -> y
cells are organised in a transposed style, when compared with Plain.ToneModulation
data Prototype sig a v
Prototype | |
|
lazy oscillator
oscillatorCells :: (C t, Transform sig y) => Margin -> Margin -> t -> sig y -> (t, T t) -> (T t, T t) -> T ((t, t), Cell sig y)
Deprecated: This function recomputes the shape and phase signals. Better use Causal.ToneModulation.oscillatorCells
This function should not be used,
since it requires recomputation of shapes
and freqs
lists.
checkNonNeg :: (Ord a, C a, Show a) => a -> a
limitMinRelativeValues :: (C t, Ord t) => t -> (t, T t) -> (t, T t)