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')
.
Basic code-only usage first:
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.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.
key |
lookup name for the proxychain |
slotNames |
the names of the functions to have available. |
numChannels |
number of audio channels. default = 2. |
server |
server to use. default = s. |
like new, but using an existing NodeProxy or Ndef
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
kick in a source by name, with a mix level
key |
which function to kick in |
wet |
wet/dry mix ratio |
func |
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.
get slotNames, change to new slotNames.
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: