hsc3-0.20: Haskell SuperCollider
Safe HaskellSafe-Inferred
LanguageHaskell2010

Sound.Sc3.Ugen.Plain

Description

Plain notation for SuperCollider Ugen graphs.

s = ugen "SinOsc" ar [440,0] 1
m = binop CI "*" ar s 0.1
o = ugen "Out" ar [0,m] 0
map ugen_concise_pp [s, m, o]
Synopsis

Documentation

mk_plain :: Rate -> String -> [Ugen] -> Int -> Special -> UgenId -> Ugen Source #

Variant of mkUgen.

uop :: Case_Rule -> String -> Rate -> Ugen -> Ugen Source #

Construct unary operator.

uop CI "Neg" ar 1

binop :: Case_Rule -> String -> Rate -> Ugen -> Ugen -> Ugen Source #

Construct binary operator.

binop CI "*" ar 1 2 == binop CI "Mul" ar 1 2
binop CS "*" ar (ugen "SinOsc" ar [440,0] 1) 0.1 == sinOsc ar 440 0 * 0.1

ugen :: String -> Rate -> [Ugen] -> Int -> Ugen Source #

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 -> Ugen Source #

Construct non-deterministic Ugen.

import Sound.Sc3.Common.Uid
binop CI "*" ar (nondet "WhiteNoise" (Uid (fromEnum 'α')) ar [] 1) 0.05