Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Vivid.SynthDef.Types
Description
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
Internal representation of Synth Definitions. Usually, use sd
instead of
making these by hand.
This representation (especially _sdUGens
) might change in the future.
Constructors
SynthDef | |
Constructors
SDName_Named ByteString | |
SDName_Hash |
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
Constructors
UGen | |
Fields
|
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.
Constructors
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.
Constructors
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 |