module Sound.SC3.UGen.Plain where
import Sound.SC3.Common
import Sound.SC3.UGen.Operator
import Sound.SC3.UGen.Rate
import Sound.SC3.UGen.Type
mk_plain :: Rate -> String -> [UGen] -> Int -> Special -> UGenId -> UGen
mk_plain r nm inp = mkUGen Nothing all_rates (Left r) nm inp Nothing
uop :: Case_Rule -> String -> Rate -> UGen -> UGen
uop cr nm r p =
case unaryIndex cr nm of
Just s -> mk_plain r "UnaryOpUGen" [p] 1 (Special s) NoId
Nothing -> error "uop"
binop :: Case_Rule -> String -> Rate -> UGen -> UGen -> UGen
binop cr nm r p q =
case binaryIndex cr nm of
Just s -> mk_plain r "BinaryOpUGen" [p,q] 1 (Special s) NoId
Nothing -> error "binop"
ugen :: String -> Rate -> [UGen] -> Int -> UGen
ugen nm r i nc = mk_plain r nm i nc (Special 0) NoId
nondet :: String -> UGenId -> Rate -> [UGen] -> Int -> UGen
nondet nm z r i nc = mk_plain r nm i nc (Special 0) z