Elements implementing the Lazy trait may participate in the building of a
SynthGraph body. They can be added to the current graph by calling
SynthGraph.builder.addLazy. Then, when the graph is expanded, the
force method is called on those registered elements, allowing them
to either spawn new graph elements or actually expand to UGens which
can be added to the ugen graph builder argument.
In most cases, lazy elements will expanded to ugens, and thus the subtype
Lazy.Expander is the most convenient way to implement this trait, as it already
does most of the logic, and provides for GEs expand method.
Elements implementing the
Lazy
trait may participate in the building of aSynthGraph
body. They can be added to the current graph by callingSynthGraph.builder.addLazy
. Then, when the graph is expanded, theforce
method is called on those registered elements, allowing them to either spawn new graph elements or actually expand toUGen
s which can be added to the ugen graph builder argument.In most cases, lazy elements will expanded to ugens, and thus the subtype
Lazy.Expander
is the most convenient way to implement this trait, as it already does most of the logic, and provides forGE
sexpand
method.de.sciss.synth.Lazy.Expander