Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data T amp yv = Cons amp yv
- cons :: C amp => amp -> yv -> T amp yv
- type Dimensional v y yv = T (Dimensional v y) yv
- type Numeric amp yv = T (Numeric amp) yv
- type Flat y = T (Flat y) y
- type Abstract y = T Abstract y
- type family Amplitude sample
- type family Displacement sample
- class Build sample where
- build :: Amplitude sample -> Displacement sample -> sample
- class Inspect sample where
- amplitude :: sample -> Amplitude sample
- displacement :: sample -> Displacement sample
Documentation
The constructor is only needed for arr
,
which is a kind of a hack.
Cons amp yv |
Instances
C q yv => C AllpassCascadeGlobal (Parameter q) (T amp yv) (T amp yv) Source # | |
C q yv => C FirstOrderGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # | |
C q yv => C MoogLowpassGlobal (Parameter q) (T amp yv) (T amp yv) Source # | |
(Storable q, Storable yv, C q yv) => C SecondOrderCascadeGlobal (Parameter q) (T amp yv) (T amp yv) Source # | |
C q yv => C UniversalGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # | |
C q yv => C AllpassPhaserGlobal (q, Parameter q) (T amp yv) (T amp yv) Source # | |
Build (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
Inspect (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Amplitude (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Displacement (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample |
type Dimensional v y yv = T (Dimensional v y) yv Source #
type family Amplitude sample Source #
When you define additional instances, take care that displacements and amplitudes cannot be brought out of order!
Instances
type Amplitude (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Amplitude (sample0, sample1) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Amplitude (sample0, sample1, sample2) Source # | |
Defined in Synthesizer.Dimensional.Sample |
type family Displacement sample Source #
Instances
type Displacement (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Displacement (sample0, sample1) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
type Displacement (sample0, sample1, sample2) Source # | |
Defined in Synthesizer.Dimensional.Sample type Displacement (sample0, sample1, sample2) = (Displacement sample0, Displacement sample1, Displacement sample2) |
class Build sample where Source #
build :: Amplitude sample -> Displacement sample -> sample Source #
Instances
Build (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
(Build sample0, Build sample1) => Build (sample0, sample1) Source # | |
Defined in Synthesizer.Dimensional.Sample build :: Amplitude (sample0, sample1) -> Displacement (sample0, sample1) -> (sample0, sample1) Source # | |
(Build sample0, Build sample1, Build sample2) => Build (sample0, sample1, sample2) Source # | |
Defined in Synthesizer.Dimensional.Sample build :: Amplitude (sample0, sample1, sample2) -> Displacement (sample0, sample1, sample2) -> (sample0, sample1, sample2) Source # |
class Inspect sample where Source #
amplitude :: sample -> Amplitude sample Source #
displacement :: sample -> Displacement sample Source #
Instances
Inspect (T amp yv) Source # | |
Defined in Synthesizer.Dimensional.Sample | |
(Inspect sample0, Inspect sample1) => Inspect (sample0, sample1) Source # | |
Defined in Synthesizer.Dimensional.Sample amplitude :: (sample0, sample1) -> Amplitude (sample0, sample1) Source # displacement :: (sample0, sample1) -> Displacement (sample0, sample1) Source # | |
(Inspect sample0, Inspect sample1, Inspect sample2) => Inspect (sample0, sample1, sample2) Source # | |
Defined in Synthesizer.Dimensional.Sample amplitude :: (sample0, sample1, sample2) -> Amplitude (sample0, sample1, sample2) Source # displacement :: (sample0, sample1, sample2) -> Displacement (sample0, sample1, sample2) Source # |