File: ParGroup.schelp

package info (click to toggle)
supercollider 1%3A3.13.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,292 kB
  • sloc: cpp: 476,363; lisp: 84,680; ansic: 77,685; sh: 25,509; python: 7,909; makefile: 3,440; perl: 1,964; javascript: 974; xml: 826; java: 677; yacc: 314; lex: 175; objc: 152; ruby: 136
file content (54 lines) | stat: -rw-r--r-- 1,699 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Class:: ParGroup
summary:: Client-side representation of a parallel group node on the server
categories:: Server>Nodes, Server>Abstractions

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.

ClassMethods::
private:: creationCmd

subsection:: Creation with Immediate Instantiation on the Server

copymethod:: Group *new

subsection:: Convenience methods for add actions
The following convenience methods correspond to the add actions above:

copymethod:: Group *after
copymethod:: Group *before
copymethod:: Group *head
copymethod:: Group *tail
copymethod:: Group *replace

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.

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.)
argument:: server
An optional instance of Server. If nil this will default to the default Server.
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.

discussion::
For a detailed discussion please refer to link::Classes/Group#*basicNew::.

Examples::

code::
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;
	}
}
::