File: Pclump.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 (38 lines) | stat: -rw-r--r-- 1,081 bytes parent folder | download | duplicates (4)
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
TITLE:: Pclump
summary:: A pattern that takes another pattern and groups its values into arrays.
related:: Classes/SequenceableCollection#-clump
categories:: Streams-Patterns-Events>Patterns>List

DESCRIPTION::
Groups the source pattern into arrays whose size is given by n. Similar to LINK::Classes/SequenceableCollection#-clump::.

E.g. If the source pattern has 5 elements and you choose a clump size of 2, the new pattern will return two arrays containing 2 elements and a final array containing 1 element.

CLASSMETHODS::

METHOD:: new

ARGUMENT:: n
An integer, or a pattern that returns an integer. This integer will determine the size of the next clump.

ARGUMENT:: pattern
The pattern to be filtered.

EXAMPLES::

code::
// This will give you the sequence: [1, 2] [3] nil
// Note that the last grouping is just the remainder of the pattern (in this case [3]).
x = Pclump(2, Pseq([1,2,3], 1)).asStream;
x.next;
x.next;
x.next;
::

Play some random chords:
code::

Pbind(
  \degree, Pclump(Pseq([3, 3, 4, 2, 4, 2, 4], inf), Pseq([1, 3, 5, 7, 9], 8), inf),
  \dur, 1).play
::