79 lines
1.9 KiB
Text
79 lines
1.9 KiB
Text
|
#lang scribble/manual
|
||
|
@(require (for-label racket))
|
||
|
|
||
|
@title{ParGroup}
|
||
|
Client-side representation of a parallel group node on the server@section{categories}
|
||
|
Server>Nodes, Server>Abstractions
|
||
|
|
||
|
@section{description}
|
||
|
Parallel Groups are server-side node containers that work similar to link::Classes/Group::s, but without
|
||
|
ordering constraints for the contained nodes. This means that on parallel architectures the elements of a Parallel Group
|
||
|
can be executed concurrently.
|
||
|
|
||
|
@section{ClassMethods}
|
||
|
|
||
|
@section{private}
|
||
|
creationCmd
|
||
|
|
||
|
@section{subsection}
|
||
|
Creation with Immediate Instantiation on the Server
|
||
|
|
||
|
@section{copymethod}
|
||
|
Group *new
|
||
|
|
||
|
@section{subsection}
|
||
|
Convenience methods for add actions
|
||
|
The following convenience methods correspond to the add actions above:
|
||
|
|
||
|
@section{copymethod}
|
||
|
Group *after
|
||
|
@section{copymethod}
|
||
|
Group *before
|
||
|
@section{copymethod}
|
||
|
Group *head
|
||
|
@section{copymethod}
|
||
|
Group *tail
|
||
|
@section{copymethod}
|
||
|
Group *replace
|
||
|
|
||
|
@section{subsection}
|
||
|
Creation without Instantiation on the Server
|
||
|
|
||
|
Like with Groups, it is possible to create a a ParGroup object without immediately creating a parallel group in the server.
|
||
|
|
||
|
@section{method}
|
||
|
basicNew
|
||
|
Create and return a ParGroup object without creating a group node on the server. (This method is inherited from Node and is documented here only for convenience.)
|
||
|
@section{argument}
|
||
|
server
|
||
|
An optional instance of Server. If nil this will default to the default Server.
|
||
|
@section{argument}
|
||
|
nodeID
|
||
|
An optional node ID number. If not supplied one will be generated by the Server's NodeIDAllocator. Normally you should not need to supply an ID.
|
||
|
|
||
|
@section{discussion}
|
||
|
|
||
|
For a detailed discussion please refer to link::Classes/Group#*basicNew::.
|
||
|
|
||
|
@section{Examples}
|
||
|
|
||
|
|
||
|
|
||
|
@racketblock[
|
||
|
fork {
|
||
|
p = ParGroup.new;
|
||
|
loop {
|
||
|
(
|
||
|
degree: rrand(0.0, 12.0).round(1/4),
|
||
|
group: p,
|
||
|
db: rrand(-30, -25),
|
||
|
pan: rrand(-1.0, 1.0)
|
||
|
).play;
|
||
|
0.2.wait;
|
||
|
}
|
||
|
}
|
||
|
::
|
||
|
]
|
||
|
|
||
|
|