File: Pgroup.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 (32 lines) | stat: -rw-r--r-- 893 bytes parent folder | download | duplicates (5)
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
class:: Pgroup
summary:: Starts a new Group and plays the pattern in this group
related:: Classes/Group, Classes/Pbus
categories:: Streams-Patterns-Events>Patterns>Server Control

description::

The group is released when the stream has ended. The group's strong::release:: is delayed (default 0.1 beats) until after the last note releases. But, Pgroup does not know how long the synths' envelopes last. You can extend the lag by putting the number of beats into the event prototype's code::\groupReleaseTime:: key:
code::
Pgroup(...).play(protoEvent: Event.default.put(\groupReleaseTime, releaseLag));
::

Examples::

code::

p = Pbind(\degree, Prand((0..7), inf), \dur, 0.3, \legato, 0.2);

 // watch the node structure as it changes
s.waitForBoot({ s.plotTree });

// one group
Pgroup(p).play;

// two nested groups
Pgroup(Pgroup(p)).play;
Pgroup(Ppar([Pgroup(p), Pgroup(p)])).play;




::