hsc3-0.13: Haskell SuperCollider

Safe HaskellSafe-Inferred

Sound.SC3.UGen.UGen

Contents

Description

UGen data structure representation and associated functions.

Synopsis

Documentation

ugen_user_name :: String -> Special -> StringSource

Lookup operator name for operator UGens, else UGen name.

UGen graph functions

ugenTraverse :: (UGen -> UGen) -> UGen -> UGenSource

Depth first traversal of graph at u applying f to each node.

ugenFoldr :: (UGen -> a -> a) -> a -> UGen -> aSource

Right fold of UGen graph.

Unit generator node constructors

control :: Rate -> String -> Double -> UGenSource

Control input node constructor.

Note that if the name begins with a t_ prefix the control is not converted to a triggered control. Please see tr_control.

tr_control :: String -> Double -> UGenSource

Triggered (kr) control input node constructor.

mrg2 :: UGen -> UGen -> UGenSource

Multiple root graph node constructor.

Unit generator node predicates

Multiple channel expansion

mce2 :: UGen -> UGen -> UGenSource

Multiple channel expansion for two inputs.

mce2c :: UGen -> (UGen, UGen)Source

Extract two channels from possible MCE.

mce3 :: UGen -> UGen -> UGen -> UGenSource

Multiple channel expansion for two inputs.

mceMap :: (UGen -> UGen) -> UGen -> UGenSource

Apply a function to each channel at a unit generator.

mceEdit :: ([UGen] -> [UGen]) -> UGen -> UGenSource

Apply UGen list operation on MCE contents.

mceReverse :: UGen -> UGenSource

Reverse order of channels at MCE.

mceChannel :: Int -> UGen -> UGenSource

Obtain indexed channel at MCE.

mceTranspose :: UGen -> UGenSource

Transpose rows and columns, ie. {{a,b},{c,d}} to {{a,c},{b,d}}.

mceSum :: UGen -> UGenSource

Collapse mce by summing (see also mix and mixN).

Multiple root graphs

Labels

label :: String -> UGenSource

Lift a String to a UGen label (ie. for poll).

equal_length_p :: [[a]] -> BoolSource

Are lists of equal length?

 equal_length_p ["t1","t2"] == True
 equal_length_p ["t","t1","t2"] == False

unpackLabel :: UGen -> [UGen]Source

Unpack a label to a length prefixed list of Constants. There is a special case for mce nodes, but it requires labels to be equal length. Properly, poll would not unpack the label, it would be done by the synthdef builder.

Unit generator function builders

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

Oscillator constructor with constrained set of operating Rates.

no_id :: UGenIdSource

UGenId used for deterministic UGens.

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

Oscillator constructor with all_rates.

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

Oscillator constructor, rate restricted variant.

toUId :: ID a => a -> UGenIdSource

mkOscIdR :: ID a => [Rate] -> a -> Rate -> String -> [UGen] -> Int -> UGenSource

Rate restricted oscillator constructor, setting identifier.

mkOscId :: ID a => a -> Rate -> String -> [UGen] -> Int -> UGenSource

Oscillator constructor, setting identifier.

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

Provided UGenId variant of mkOscMCE.

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

Variant oscillator constructor with MCE collapsing input.

mkOscMCEId :: ID a => a -> Rate -> String -> [UGen] -> UGen -> Int -> UGenSource

Variant oscillator constructor with MCE collapsing input.

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

Rate constrained filter UGen constructor.

mkFilter :: String -> [UGen] -> Int -> UGenSource

Filter UGen constructor.

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

Filter UGen constructor.

mkFilterId :: ID a => a -> String -> [UGen] -> Int -> UGenSource

Filter UGen constructor.

mkFilterKeyed :: String -> Int -> [UGen] -> Int -> UGenSource

Variant filter with rate derived from keyed input.

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

Provided UGenId filter with mce input.

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

Variant filter constructor with MCE collapsing input.

mkFilterMCE :: String -> [UGen] -> UGen -> Int -> UGenSource

Variant filter constructor with MCE collapsing input.

mkFilterMCEId :: ID a => a -> String -> [UGen] -> UGen -> Int -> UGenSource

Variant filter constructor with MCE collapsing input.

mkInfo :: String -> UGenSource

Information unit generators are very specialized.

Bitwise