78 lines
1.9 KiB
Racket
78 lines
1.9 KiB
Racket
#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;
|
|
}
|
|
}
|
|
::
|
|
]
|
|
|
|
|