hsc3-0.13: Haskell SuperCollider

Safe HaskellSafe-Inferred

Sound.SC3.UGen.Plain

Description

Plain UGen constructor functions.

 let {s = ugen "SinOsc" AR [440,0] 1
     ;m = binop "*" AR s 0.1
     ;o = ugen "Out" AR [0,m] 0}
 in Sound.SC3.Server.Play.audition o >> Sound.SC3.UGen.Dot.draw o
 audition (out 0 (sinOsc AR 440 0 * 0.1))

Synopsis

Documentation

mk_plain :: Rate -> String -> [UGen] -> Int -> Special -> UGenId -> UGenSource

Variant of mkUGen.

uop :: String -> Rate -> UGen -> UGenSource

Construct unary operator, the name can textual or symbolic.

 uop "-" AR 1 == uop "Neg" AR 1

binop :: String -> Rate -> UGen -> UGen -> UGenSource

Construct binary operator, the name can textual or symbolic.

 binop "*" AR 1 2 == binop "Mul" AR 1 2
 binop "*" AR (ugen "SinOsc" AR [440,0] 1) 0.1 == sinOsc AR 440 0 * 0.1
 ugenName (binop "*" AR 1 2) == "BinaryOpUGen"

ugen :: String -> Rate -> [UGen] -> Int -> UGenSource

Construct deterministic UGen.

 let o = ugen "SinOsc" AR [440,0] 1
 o == sinOsc AR 440 0
 ugen "Out" AR [0,o] 0 == out 0 (sinOsc AR 440 0)

nondet :: String -> UGenId -> Rate -> [UGen] -> Int -> UGenSource

Construct non-deterministic UGen.

 import Sound.SC3.ID
 nondet "WhiteNoise" (UId (fromEnum 'a')) AR [] 1 == whiteNoise 'a' AR