linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / SharedIn.schelp
blobc04f239be2ee268c274e6d546923961956fa0583
1 class:: SharedIn
2 summary:: Read from a shared control bus.
3 related:: Classes/SharedOut
4 categories::  UGens>InOut
7 Description::
9 warning::
10 SharedIn has been deprecated. Synchronous access to busses on local servers is possible via
11 link::Classes/Bus#-getSynchronous:: and link::Classes/Bus#-setSynchronous::
14 Reads from a control bus shared between the internal server and the SC
15 client. Control rate only. Writing to a shared control bus from the
16 client is synchronous. When not using the internal server use node
17 arguments or the set method of Bus (or /c_set in messaging style).
20 classmethods::
22 method::kr
24 argument::bus
26 The index of the shared control bus to read from.
29 argument::numChannels
31 the number of channels (i.e. adjacent buses) to read in. The
32 default is 1. You cannot modulate this number by assigning it to
33 an argument in a SynthDef.
36 Examples::
38 code::
41 // only works with the internal server
42 s = Server.internal;
43 s.boot;
47 SynthDef("help-SharedIn1", {
48         Out.ar(0, SinOsc.ar(Lag.kr(SharedIn.kr(0, 1), 0.01), 0, 0.2));
49 }).send(s);
50 SynthDef("help-SharedIn2", {
51         Out.ar(1, SinOsc.ar(Lag.kr(SharedIn.kr(0, 1), 0.01, 1.5), 0, 0.2));
52 }).send(s);
56 s.setSharedControl(0, 300); // an initial value
57 s.sendMsg(\s_new, "help-SharedIn1", x = s.nextNodeID, 0, 1);
58 s.sendMsg(\s_new, "help-SharedIn2", y = s.nextNodeID, 0, 1);
60 Routine({
61         30.do({
62                 s.setSharedControl(0, 300 * (10.rand + 1));
63                 0.2.wait;
64         });
65         s.sendMsg(\n_free, x);
66         s.sendMsg(\n_free, y);
67 }).play;
71 s.quit;