A Scinth is the client-side representation of a synth node on the Scintillator server. A Scinth is a single video-producing using, analagous to a Synth on the audio server. What it does is defined by a ScinthDef, which specifices which VGens are used and how they are conncted together.
Create and return a new Scinth object, and immedately start the corresponding Scinth node on the server.
defName |
A Symbol specifying the name of the ScinthDef to use in creating the Scinth. |
args |
An optional Array specifying initial values for the ScinthDef's controls. These are pairs of control name or index and value. |
target |
A ScinNode to add the new Scinth relative to. If nil, the default group on the default ScinServer will be used. |
addAction |
one of the following Symbols:
NOTE: Unlike the audio server, the default for Scinths is to add them to the tail of the target group. This means they will draw last in the group, overwriting (or blending with) anything that was drawn by previous Scinths. |
A new Scinth object.
Pauses or resumes a running Scinth. Paused Scinths produce no video output.
Pausing a running Scinth is one area where the analagous behavior in audio makes for some ambiguity in a video synth. One could imagine two different behaviors for a paused video synth. The first is to continue to produce a still frame while paused, so continuing to render output but just not advancing the Scinth time, so animations would freeze. The other behavior is to stop producing video output entirely. This is what the current synth implementation does, as it seemed like the better fit for the analogy, e.g. audio synths do not reproduce their last frame of audio data when paused. When framebuffer support is added, it could be possible to render a Scinth output to a desired point, save the output in a framebuffer, pause the Scinth, and use the framebuffer as a frozen output. This would be similar to a "freeze" concept in audio, and it might make sense to make a VGen that does exactly that, to ease use. Feedback welcome if this seems like the counterintuitive approach to you.
flag |
A boolean. If true, resumes the Scinth if it was paused. If false, pauses the Scinth if it was running. |
The Scinth object itself, to enable method chaining.
Stops the Scinth if running and frees all server-side associated resources.
Sets control values on the Scinth.
... args |
A sequence of pairs of control identifiers and values. The first item in the pair is either a Symbol naming a control or an integer control index. The second item in the pair is either a float or integer control value. |
The Scinth object itself, to enable method chaining.