hsc3-0.15.1: Haskell SuperCollider

Safe HaskellSafe-Inferred
LanguageHaskell98

Sound.SC3.UGen.Protect

Description

Functions to re-write assigned node identifiers at UGen graphs. Used carefully it allows for composition of sub-graphs with psuedo-random nodes.

Synopsis

Documentation

ugenIds :: UGen -> [UGenId] Source

Collect Ids at UGen graph

atUGenId :: (Int -> Int) -> UGenId -> UGenId Source

Apply f at UId, or no-op at NoId.

uprotect :: ID a => a -> UGen -> UGen Source

Add idHash of e to all Primitive_U at u.

uprotect' :: ID a => a -> [UGen] -> [UGen] Source

Variant of uprotect with subsequent identifiers derived by incrementing initial identifier.

uclone' :: ID a => a -> Int -> UGen -> [UGen] Source

Make n parallel instances of UGen with protected identifiers.

uclone :: ID a => a -> Int -> UGen -> UGen Source

mce variant of uclone'.

ucompose :: ID a => a -> [UGen -> UGen] -> UGen -> UGen Source

Left to right UGen function composition with UGenId protection.

useq :: ID a => a -> Int -> (UGen -> UGen) -> UGen -> UGen Source

Make n sequential instances of f with protected Ids.