File: loop.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 (59 lines) | stat: -rw-r--r-- 1,104 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
55
56
57
58
59
title:: loop / repeat
summary:: Repeat stuff
categories::Core,Common methods

method:: loop, repeat

Create an object that behaves like a stream that returns values for a limited (or infinite) number of times.

For a full list of implementing classes, see link::Overviews/Methods#loop:: and link::Overviews/Methods#repeat::

definitionlist::
## link::Classes/Function#-loop:: ||
	repeats the function forever.
code::
	f = { 3.yield };
	x = Routine({ f.loop });
	10.do({ x.next.postln })
::

## link::Classes/Object#-repeat:: (n) ||
	repeat to yield the object
code::
	x = 5;
	y = x.repeat(6);
	y.nextN(8);
::

## link::Classes/Pattern#-repeat:: (n) ||

code::
	x = Prand([1, 2]).repeat(6).asStream;
	x.nextN(8);
::

## link::Classes/Pattern#-loop:: ||

code::
	x = Prand([1, 2]).loop.asStream;
	x.nextN(8);
::

## link::Classes/Stream#-repeat:: (n) ||

	embeds the stream repeatedly

code::
	x = Routine({ 3.do({ arg i; i.yield }) }).repeat(6);
	x.nextN(8);
::

## link::Classes/Stream#-loop:: ||

	embeds the stream repeatedly

code::
	x = Routine({ 3.do({ arg i; i.yield }) }).loop;
	x.nextN(8);
::
::