To prepare such an object for playing, different objects require different things, some very little, some more. As working with the placeholders does not show directly which actions are very efficient and which ones are not, it is shown here more in detail.
This is also important if you want to automate certain processes (e.g. for control by an external interface or a task) - some things (a) are not meant to be used in certain ways and better solutions should be used instead then, others are much more efficient (b, c).
the following code requires a rebuild and send of a SynthDef and is thus most cpu-expensive. though fine for slower use (esp.hand-use) for automatisation it is better to build a synthdef and assign it.
the following code sends commands to the server to start synths, which is load mainly on the server and depends on the characteristics of the synthdef:
these resend the synth with new properties
for these the least calculation has to be done
(this can now be done with map!)
todo: rewrite this part.
control rate sources can be easily and efficiently switched using map or xmap. here is an example of how already running audio rate inputs can be switched. it is about as efficient as (b) - first example (setting a defname). it works only for 1 or 2 channels right now.