linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / RandID.schelp
blob5b5ab86f6578991702b9aeb3ce49311b0fcc4983
1 class:: RandID
2 summary:: Set the synth's random generator ID.
3 related:: Classes/RandSeed
4 categories::  UGens>Generators>Stochastic, UGens>Random
7 Description::
9 Choose which random number generator to use for this synth.
10 All synths that use the same generator reproduce the same sequence
11 of numbers when the same seed is set again.
14 classmethods::
16 method::kr, ir
18 argument::id
19 The random number generator ID.
21 Examples::
23 code::
25 //start a noise patch and set the id of the generator
27 SynthDef("help-RandID", { arg out=0, id=1;
28         RandID.ir(id);
29         Out.ar(out,
30                 WhiteNoise.ar(0.05) + Dust2.ar(70)
31         )
32 }).send(s);
35 //reset the seed of my rgen at a variable rate
37 SynthDef("help-RandSeed", { arg seed=1910, id=1;
38                 RandID.kr(id);
39                 RandSeed.kr(Impulse.kr(FSinOsc.kr(0.2, 0, 10, 11)), seed);
40 }).send(s);
44 //start two noise synths on left and right channel with a different randgen id
45 a = Synth("help-RandID", [\out, 0, \id, 1]);
46 b = Synth("help-RandID", [\out, 1, \id, 2]);
48 //reset the seed of randgen 1
49 x = Synth("help-RandSeed", [\id, 1]);
51 //change the target randgen to 2 (affects right channel)
52 x.set(\id, 2);