Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Internal. Just use Vivid.SynthDef
- data Signal
- data CalculationRate
- data SynthDef = SynthDef {}
- data SDName
- type SDState = State ([Int], SynthDef)
- data UGen = UGen {}
- data UGenName
- data UnaryOp
- = Neg
- | Not
- | IsNil
- | NotNil
- | BitNot
- | Abs
- | AsFloat
- | AsInt
- | Ciel
- | Floor
- | Frac
- | Sign
- | Squared
- | Cubed
- | Sqrt
- | Exp
- | Recip
- | MIDICPS
- | CPSMIDI
- | MIDIRatio
- | RatioMIDI
- | DbAmp
- | AmpDb
- | OctCPS
- | CPSOct
- | Log
- | Log2
- | Log10
- | Sin
- | Cos
- | Tan
- | ArcSin
- | ArcCos
- | ArcTan
- | SinH
- | CosH
- | TanH
- | Rand
- | Rand2
- | LinRand
- | BiLinRand
- | Sum3Rand
- | Distort
- | SoftClip
- | Coin
- | DigitValue
- | Silence
- | Thru
- | RectWindow
- | HanWindow
- | WelchWindow
- | TriWindow
- | Ramp
- | SCurve
- | NumUnarySelectors
- data BinaryOp
- = Add
- | Sub
- | Mul
- | IDiv
- | FDiv
- | Mod
- | Eq
- | Ne
- | Lt
- | Gt
- | Le
- | Ge
- | Min
- | Max
- | BitAnd
- | BitOr
- | BitXor
- | Lcm
- | Gcd
- | Round
- | RoundUp
- | Trunc
- | Atan2
- | Hypot
- | Hypotx
- | Pow
- | ShiftLeft
- | ShiftRight
- | UnsignedShift
- | Fill
- | Ring1
- | Ring2
- | Ring3
- | Ring4
- | DifSqr
- | SumSqr
- | SqrSum
- | SqrDif
- | AbsDif
- | Thresh
- | AMClip
- | ScaleNeg
- | Clip2
- | Excess
- | Fold2
- | Wrap2
- | FirstArg
- | RandRange
- | ExpRandRange
- | NumBinarySelectors
Documentation
data CalculationRate Source
The rate that a UGen computes at
type SDState = State ([Int], SynthDef) Source
State monad to construct SynthDefs
The SynthDef is an under-construction synth definition The [Int] is the id supply. Its type definitely could change in the future
Representation of Unit Generators. You usually won't be creating these
by hand, but instead using things from the library in UGens
UGen | |
|
Unary signal operations. Many of these have functions so you don't need to
use this internal representation (e.g. Neg
has neg
, etc).
This type might not be exposed in the future.
Binary signal operations. For the simple ones (like Add
, Mul
, etc.),
there are functions (like ~+
, ~*
, etc.)
that wrap them up so you
don't have to make a ugen for them yourself.
In the future these may not be exported -- we'll just have functions for all of them.
Add | |
Sub | |
Mul | |
IDiv | Integer division |
FDiv | Float division |
Mod | |
Eq | |
Ne | |
Lt | |
Gt | |
Le | |
Ge | |
Min | |
Max | |
BitAnd | |
BitOr | |
BitXor | |
Lcm | |
Gcd | |
Round | |
RoundUp | |
Trunc | |
Atan2 | |
Hypot | |
Hypotx | |
Pow | |
ShiftLeft | |
ShiftRight | |
UnsignedShift | |
Fill | |
Ring1 | a * (b + 1) == a * b + a |
Ring2 | a * b + a + b |
Ring3 | a * a * b |
Ring4 | a * a * b - a * b * b |
DifSqr | a * a - b * b |
SumSqr | a * a + b * b |
SqrSum | (a + b) ^ 2 |
SqrDif | (a - b) ^ 2 |
AbsDif | abs(a - b) |
Thresh | |
AMClip | |
ScaleNeg | |
Clip2 | |
Excess | |
Fold2 | |
Wrap2 | |
FirstArg | |
RandRange | |
ExpRandRange | |
NumBinarySelectors |