synthesizer-dimensional-0.7: Audio signal processing with static physical dimensions

Safe HaskellNone

Synthesizer.Dimensional.Sample

Synopsis

Documentation

data T amp yv Source

The constructor is only needed for arr, which is a kind of a hack.

Constructors

Cons amp yv 

Instances

C q yv => C AllpassCascadeGlobal (Parameter q) (T amp yv) (T amp yv) 
C q yv => C MoogLowpassGlobal (Parameter q) (T amp yv) (T amp yv) 
C q yv => C UniversalGlobal (Parameter q) (T amp yv) (T amp (Result yv)) 
(Storable q, Storable yv, C q yv) => C SecondOrderCascadeGlobal (Parameter q) (T amp yv) (T amp yv) 
C q yv => C FirstOrderGlobal (Parameter q) (T amp yv) (T amp (Result yv)) 
C q yv => C AllpassPhaserGlobal (q, Parameter q) (T amp yv) (T amp yv) 
Inspect (T amp yv) 
Build (T amp yv) 

cons :: C amp => amp -> yv -> T amp yvSource

type Dimensional v y yv = T (Dimensional v y) yvSource

type Numeric amp yv = T (Numeric amp) yvSource

type Flat y = T (Flat y) ySource

type family Amplitude sample Source

When you define additional instances, take care that displacements and amplitudes cannot be brought out of order!

type family Displacement sample Source

class Build sample whereSource

Methods

build :: Amplitude sample -> Displacement sample -> sampleSource

Instances

(Build sample0, Build sample1) => Build (sample0, sample1) 
Build (T amp yv) 
(Build sample0, Build sample1, Build sample2) => Build (sample0, sample1, sample2) 

class Inspect sample whereSource

Methods

amplitude :: sample -> Amplitude sampleSource

displacement :: sample -> Displacement sampleSource

Instances

(Inspect sample0, Inspect sample1) => Inspect (sample0, sample1) 
Inspect (T amp yv) 
(Inspect sample0, Inspect sample1, Inspect sample2) => Inspect (sample0, sample1, sample2)