A Uchain represents a groups of units (U) that together make up one audio chain where the audio output of one unit can be routed to subsequent units.The routing is done using private busses and the units are played together in one Group. Units in this context can be thought of as effects or plugins in a DAW, although almost the full flexibility of SuperCollider is still available. To get input from and output to other units in the chain the UIn and UOut pseudo-ugens are used. These ugens create automatic names for controls that allow changing the private bus number. This then allows easy re-patching of the units from a gui.
There should be only one chain playing per Server at a time, although it is not impossible to play multiple instancesof at once.
UChain implements the UEvent interface, therefore it has a startTime, track, duration, muted, releaseSelf variables.
The startTime determines when the UChain will start playing in a score, and the duration when it will stop. If the releaseSelf variable is set to True, then UChain will release itself using the doneAction of the envelope of one of the units (It is assumed that one of the units has the capability to free the UChain). If releaseSelf is False, then it will be the task that is playing the score that will free the UChain when it has finished playing. The difference between the two mode is that, if releaseSelf is true, when the score is paused, the chain will continue to play and will be freed, unaffected by the fact that the score is paused, on the other hand if it is false, then while the score is paused the chain will also not be freeed, and will only resume couting the time until the end of the envelope when the score is unpaused.
There is a GUI for the UChain class, implemented by UChainGUI which can be invoked using the UChain: -gui method. Most parameters of the UChain can be set from the gui:
post debugging messages
Returns the groupDict of type Event[UChain,Array[Group]]. The keys are instances of UChain and the values the corresponding Groups.
Event[UChain,Array[Group]]
Creates a new UChain from the arguments given.
Syntaxes for UChain creation:
Example of UChain instantiation:
... args |
UChain
Determines if event will be played or not in a score.
bool |
Returns a string composed from the units held by the chain.
String
Create a duplicate of the instance.
UChain
Returns a boolean indicating if the UChain contains a unit that can free the group due to it's doneAction.
Boolean
The time from the begging of the event until the moment when the chain should be released (to start the fade out).
Float
Set fade out time.
fadeOut |
A Float bigger then zero. |
Set fade in time.
fadeIn |
A Float bigger then zero. |
Array of type [fadeIn,fadeOut]
(describe method here)
(returnvalue)
(describe method here)
(returnvalue)
(describe method here)
dur |
(describe argument here) |
(returnvalue)
(describe method here)
bool |
(describe argument here) |
(returnvalue)
(describe method here)
x |
(describe argument here) |
(returnvalue)
(describe method here)
gain |
(describe argument here) |
(returnvalue)
(describe method here)
(returnvalue)
(describe method here)
(returnvalue)
(describe method here)
gain |
(describe argument here) |
(returnvalue)
(describe method here)
(returnvalue)
(describe method here)
(returnvalue)
(describe method here)
newEnd |
(describe argument here) |
removeFade |
(describe argument here) |
(returnvalue)
(describe method here)
newEnd |
(describe argument here) |
removeFade |
(describe argument here) |
(returnvalue)
(describe method here)
newStart |
(describe argument here) |
removeFade |
(describe argument here) |
(returnvalue)
(describe method here)
newStart |
(describe argument here) |
belongsToFolder |
(describe argument here) |
removeFade |
(describe argument here) |
(returnvalue)
(describe method here)
groups |
(describe argument here) |
(returnvalue)
(describe method here)
group |
(describe argument here) |
(returnvalue)
(describe method here)
group |
(describe argument here) |
(returnvalue)
(describe method here)
target |
(describe argument here) |
startPos |
(describe argument here) |
(returnvalue)
(describe method here)
targets |
(describe argument here) |
startPos |
(describe argument here) |
(returnvalue)
(describe method here)
target |
(describe argument here) |
startPos |
(describe argument here) |
latency |
(describe argument here) |
(returnvalue)
free synths
free synths
free synths by releasing the envelope in the duration give by the argument.
time |
(describe method here)
target |
(describe argument here) |
(returnvalue)
(describe method here)
target |
(describe argument here) |
(returnvalue)
Prepare units.
target |
A collection of targets. |
startPos |
Offset in seconds from the start of the event. |
action |
Action to perform when preparation is done. |
Prepare and start UChain.
target |
A collection of targets. |
startPos |
Offset in seconds from the start of the event. |
Time in seconds needed to prepare this UChain.
Start preparation, then wait during waitTime seconds, and finally start the UChain.
target |
A collection of targets. |
startPos |
Offset in seconds from the start of the event. |
Calls .dispose on each unit. This will dispose of Buffers or other resources opened.
Array support for accessing units.
Array support for accessing units.
Array support for accessing units.
Add unit to chian. Unit is added in after other units.
Add all units in collection to UChain.
inUnits |
Collection with units. |
Remove unit at index.
index |
Int |
Returns new UChain with the units from 'uchain' added to this UChain.
uchain |
Returns new UChain containing all the units of this UChain plus the unit passed in the argument.
unit |
Determine whether this object is a score.
False