/usr/share/SuperCollider/HelpSource/Classes/Pseed.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 60 61 62 63 64 65 | class:: Pseed
summary:: set the random seed in subpattern
related:: Reference/randomSeed
categories:: Streams-Patterns-Events>Patterns>Language Control
description::
Set the random generator seed of the resulting stream.
ClassMethods::
method::new
argument::randSeed
integer number, pattern or stream that return an integer number.
note::
randSeed is always treated as a pattern/stream. If you provide a single, constant seed value, it will behave as an infinite-length stream. This will cause the subpattern to be embedded an infinite number of times. Compare:
code::
// Pwhite repeats its three values forever
Pseed(1000, Pwhite(1, 10, 3)).asStream.nextN(10);
// Pwhite runs once:
// the output stream consists of three values, then 'nil' ad infinitum
Pseed(Pn(1000, 1), Pwhite(1, 10, 3)).asStream.nextN(10);
::
::
argument::pattern
Examples::
code::
a = Pseed(1972, Prand([1,2,3], inf));
b = a.asStream;
10.do({ b.next.post });
c = a.asStream;
10.do({ c.next.post });
// using a seed pattern as input:
a = Pseed(Pseq([1812, 1912], inf), Prand([1,2,3], 5));
b = a.asStream;
2.do({ 5.do({ b.next.post });"".postln; });
c = a.asStream;
2.do({ 5.do({ c.next.post });"".postln; });
// outer thread is independant:
a = Pseed(Prand([1534, 1600, 1798, 1986, 2005], inf), Pshuf([1, Prand([7, 9], 2), 1, 2, 3], 1));
// returns random streams
b = a.asStream;
2.do({ 5.do({ b.next.post });"".postln; });
c = a.asStream;
2.do({ 5.do({ c.next.post });"".postln; });
::
|