JITLibExtensions/Classes (extension) | Libraries > JITLib > JITLibExtensions


play ordered synth and filter functions flexibly in one proxy


A ProxyChain is a wrapper around a nodeproxy which keeps an ordered collection of sound functions, which can be individually added to or removed from the proxy signal chain, by name.

The ProxyChain class keeps a global dictionary of such sound functions, and a ProxyChain can also have local sound functions.

Like Ndef, Pdef, Tdef, the ProxyChain class keeps all named instances in a class variable ProxyChain.all where they can be accessed by name: ProxyChain('chain1').

First Examples

Basic code-only usage first:

NOTE: When using ProxyChains with GUIs and controllers, things become much easier when specs for the process parameters are defined along with the processes. One can do this by adding global specs (Spec.add(\dens, [1, 100, \exp])s), or by adding specs to the ProxyChain's proxy. ProxyChain also supports defining these specs when setting up the repertoire of functions.

Class Methods


a dict of all available synth and filter functions


a dict of all ProxyChain instances.


put synth functions into ProxyChain.all, by name, func, name, func ...


add a named synth func with level and specs


add a source func at srcName


add a default level for the func at srcName


add specs for the func at srcName


access the dict which contains all sourceDicts


get the srcDict at given srcName


check all sourceDicts for integrity


check the sourceDict at srcName


look up an existing ProxyChain, or (if new and slotNames are given), make a new ProxyChain with ordered names of synth functions in the slotNames.



lookup name for the proxychain


the names of the functions to have available.


number of audio channels. default = 2.


server to use. default = s.


like new, but using an existing NodeProxy or Ndef

Instance Methods


the key under which the proxyChain is stored in ProxyChain.all


an optional dict of local source funcs - these will override source funcs with the same name in ProxyChain.all


the proxy inside the chain

methods that get forwarded to proxy






de/activating slots


kick in a source by name, with a mix level



which function to kick in


wet/dry mix ratio


an optional func that can locally replace the global func with that name.


remove a currently playing source by name.


set (add or remove) multiple slots at once.

configuration & introspection


get slotNames, change to new slotNames.

NOTE: Changing slotNames only works predictably when all slots are turned off!


the names of the currently playing slots.


get the currently active slot names


get the current settings (for the optional slotNames given)


get all keys at slotName


get all keys and values at slotName


make a ProxyChainGui for the ProxyChain - see examples.


Replacing a slot and reordering slots: