1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8">
5 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
7 <meta name=
"Generator" content=
"Cocoa HTML Writer">
8 <meta name=
"CocoaVersion" content=
"949.54">
9 <style type=
"text/css">
10 p
.p1
{margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica
}
11 p
.p2
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; min-height: 14.0px}
12 p
.p3
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
}
13 p
.p4
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; color: #0000ff}
14 p
.p5
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #bf0000; min-height: 12.0px}
15 p
.p6
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #bf0000}
16 p
.p7
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #000000; min-height: 12.0px}
17 p
.p8
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #0000bf}
18 p
.p9
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #000000}
19 p
.p10
{margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica
}
20 p
.p11
{margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica
}
21 p
.p12
{margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica
; min-height: 14.0px}
22 p
.p13
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #ad140d}
23 p
.p14
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
}
24 p
.p15
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; min-height: 12.0px}
25 p
.p16
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #001bb9}
26 p
.p17
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #2c7014}
27 span
.s1
{text-decoration: underline
; color: #0021e7}
28 span
.s2
{color: #000000}
29 span
.s3
{color: #0024f8}
30 span
.s4
{color: #0000ff}
31 span
.s5
{color: #0000bf}
32 span
.s6
{color: #007300}
33 span
.s7
{font: 12.0px Helvetica
}
34 span
.s8
{font: 12.0px Helvetica
; color: #000000}
35 span
.s9
{color: #001bb9}
36 span
.s10
{color: #2c7014}
37 span
.s11
{font: 9.0px Monaco
}
38 span
.Apple-tab-span
{white-space:pre
}
42 <p class=
"p1"><b>Roles in NodeProxy
</b></p>
43 <p class=
"p2"><br></p>
44 <p class=
"p3">Similar to Adverbs (see
<a href=
"../../../Language/J_concepts_in_SC.html"><span class=
"s1">J Concepts In SC
</span></a>), roles allow to specify how a source for a
<a href=
"NodeProxy.html"><span class=
"s1">NodeProxy
</span></a> is being used. A role is an association of a
<a href=
"../../../Core/Symbol.html"><span class=
"s1">Symbol
</span></a> and the new proxy source object.
</p>
45 <p class=
"p2"><br></p>
46 <p class=
"p4"><span class=
"s2">see also:
<a href=
"NodeProxy.html"><span class=
"s3">NodeProxy
</span></a></span><span class=
"s3">,
<a href=
"Ndef.html"><span class=
"s4">Ndef
</span></a>,
<a href=
"../environments/ProxySpace.html"><span class=
"s4">ProxySpace
</span></a></span></p>
47 <p class=
"p2"><br></p>
48 <p class=
"p3">The below examples can equally be used for Ndef and in ProxySpace.
</p>
49 <p class=
"p5"><br></p>
50 <p class=
"p6">// Thus, the following expressions behave in an equivalent way:
</p>
51 <p class=
"p7"><br></p>
52 <p class=
"p8"><span class=
"s2">a =
</span>NodeProxy
<span class=
"s2">(s);
</span></p>
53 <p class=
"p9">a[
0] = ...
</p>
54 <p class=
"p7"><br></p>
55 <p class=
"p8">ProxySpace
<span class=
"s2">.push(s);
</span></p>
56 <p class=
"p9">~a[
0] = ...
</p>
57 <p class=
"p7"><br></p>
58 <p class=
"p9"><span class=
"s5">Ndef
</span>(
<span class=
"s6">\a
</span>, ...)
<span class=
"s7"><span class=
"Apple-converted-space"> </span></span></p>
59 <p class=
"p2"><br></p>
60 <p class=
"p10"><b>Existing roles:
</b></p>
61 <p class=
"p2"><br></p>
62 <p class=
"p11"><span class=
"Apple-tab-span"> </span>\
<b>set -
> event pattern
</b>:
</p>
63 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Set the proxy controls with an event pattern of type \set
</p>
64 <p class=
"p12"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
65 <p class=
"p13"><span class=
"s8"><span class=
"Apple-converted-space"> <span class=
"Apple-tab-span"> </span></span></span>// example:
</p>
66 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s9">NodeProxy
</span>(s);
</p>
67 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
0] = {
<span class=
"s9">|freq =
440, dt=
0.1, rate=
2|
</span> <span class=
"s9">Ringz
</span>.ar(
<span class=
"s9">Impulse
</span>.ar(rate * [
1,
1.2]), freq, dt)*
0.1 };
</p>
68 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.play;
</p>
69 <p class=
"p14"><span class=
"Apple-tab-span"> </span>(
</p>
70 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
1] =
<span class=
"s10">\set
</span> -
> <span class=
"s9">Pbind
</span>(
</p>
71 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\dur
</span>,
<span class=
"s9">Prand
</span>([
1,
0.5],
<span class=
"s9">inf
</span>),
<span class=
"Apple-converted-space"> </span></p>
72 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\freq
</span>,
<span class=
"s9">Pwhite
</span>(
200.0,
1000,
<span class=
"s9">inf
</span>),
<span class=
"Apple-converted-space"> </span></p>
73 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\rate
</span>,
<span class=
"s9">Pstutter
</span>(
4,
<span class=
"s9">Prand
</span>([
1,
3,
6,
10],
<span class=
"s9">inf
</span>)),
</p>
74 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\dt
</span>,
<span class=
"s9">Pwhite
</span>(
0.01,
0.1,
<span class=
"s9">inf
</span>)
</p>
75 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
76 <p class=
"p14"><span class=
"Apple-tab-span"> </span>);
</p>
77 <p class=
"p13"><span class=
"s2"><span class=
"Apple-tab-span"> </span></span>// modify the source in the meanwhile:
</p>
78 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
0] = {
<span class=
"s9">|freq =
440, dt=
0.1, rate=
2|
</span> <span class=
"s9">Ringz
</span>.ar(
<span class=
"s9">Dust
</span>.ar(rate *
10.dup), freq, dt)*
0.1 };
</p>
79 <p class=
"p15"><br></p>
80 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.clear(
3);
</p>
81 <p class=
"p15"><span class=
"Apple-tab-span"> </span></p>
82 <p class=
"p3"><span class=
"s11"><span class=
"Apple-tab-span"> </span></span>\
<b>setbus -
> event pattern
</b>:
</p>
83 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Set the proxy bus with an event pattern of type \c_set
</p>
84 <p class=
"p12"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
85 <p class=
"p6"><span class=
"s8"><span class=
"Apple-converted-space"> <span class=
"Apple-tab-span"> </span></span></span>// example:
</p>
86 <p class=
"p9"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s5">NodeProxy
</span>(s);
</p>
87 <p class=
"p9"><span class=
"Apple-tab-span"> </span>b =
<span class=
"s5">NodeProxy
</span>(s).play;
</p>
88 <p class=
"p9"><span class=
"Apple-tab-span"> </span>b[
0] = {
<span class=
"s5">SinOsc
</span>.ar(a.kr(
4)).sum *
0.2 };
</p>
89 <p class=
"p9"><span class=
"Apple-tab-span"> </span>(
</p>
90 <p class=
"p9"><span class=
"Apple-tab-span"> </span>a[
0] =
<span class=
"s6">\setbus
</span> -
> <span class=
"s5">Pbind
</span>(
</p>
91 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s6">\dur
</span>,
<span class=
"s5">Prand
</span>([
1,
0.5],
<span class=
"s5">inf
</span>),
<span class=
"Apple-converted-space"> </span></p>
92 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s6">\value
</span>,
<span class=
"s5">Pfunc
</span> {
<span class=
"s5">var
</span> z = rrand(
300,
4000); [
300,
400, z, z +
30.rand2] }
</p>
93 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
94 <p class=
"p9"><span class=
"Apple-tab-span"> </span>);
</p>
95 <p class=
"p6"><span class=
"s2"><span class=
"Apple-tab-span"> </span></span>// modify the other source in the meanwhile:
</p>
96 <p class=
"p9"><span class=
"Apple-tab-span"> </span>b[
0] = {
<span class=
"s5">Pulse
</span>.ar(a.ar(
4)).sum *
0.2 };
</p>
97 <p class=
"p7"><br></p>
98 <p class=
"p9"><span class=
"Apple-tab-span"> </span>a.clear; b.clear;
</p>
99 <p class=
"p15"><span class=
"Apple-tab-span"> </span></p>
100 <p class=
"p3"><span class=
"s11"><span class=
"Apple-tab-span"> </span></span>\
<b>setsrc -
> event pattern
</b>:
</p>
101 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Set the proxy source at the next index with any object, controlled by a pattern.
</p>
102 <p class=
"p11"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>Note that any existing source at the next index (in the example below it is index
1) is overridden by the procedure.
</p>
103 <p class=
"p12"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
104 <p class=
"p13"><span class=
"s8"><span class=
"Apple-converted-space"> <span class=
"Apple-tab-span"> </span></span></span>// example:
</p>
105 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s9">NodeProxy
</span>(s);
</p>
106 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.play;
</p>
107 <p class=
"p14"><span class=
"Apple-tab-span"> </span>(
</p>
108 <p class=
"p9"><span class=
"Apple-tab-span"> </span>a[
0] =
<span class=
"s6">\setsrc
</span> -
> <span class=
"s5">Pbind
</span>(
</p>
109 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s6">\dur
</span>,
<span class=
"s5">Prand
</span>([
1,
0.5,
2],
<span class=
"s5">inf
</span>),
<span class=
"Apple-converted-space"> </span></p>
110 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s6">\source
</span>,
<span class=
"s5">Prand
</span> ([
</p>
111 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>{
<span class=
"s5">SinOsc
</span>.ar(
<span class=
"s5">SinOsc
</span>.ar({
5.rand}.dup +
4) *
50 +
400 +
50.rand) *
0.1 },
</p>
112 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>{
<span class=
"s5">SinOsc
</span>.ar(
<span class=
"s5">LFSaw
</span>.ar({
5.rand}.dup +
4) *
50 +
400 +
50.rand) *
0.1},
</p>
113 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>{
<span class=
"s5">LFSaw
</span>.ar(
<span class=
"s5">SinOsc
</span>.ar({
5.rand}.dup +
4) *
50 +
400 +
50.rand) *
0.1 },
</p>
114 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>{
<span class=
"s5">LFSaw
</span>.ar(
<span class=
"s5">LFSaw
</span>.ar({
5.rand}.dup +
4) *
50 +
400 +
50.rand) *
0.1 }
</p>
115 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>],
<span class=
"s5">inf
</span>)
</p>
116 <p class=
"p9"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>)
</p>
117 <p class=
"p14"><span class=
"s2"><span class=
"Apple-tab-span"> </span></span>);
</p>
118 <p class=
"p15"><br></p>
119 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.clear(
3);
</p>
120 <p class=
"p12"><span class=
"Apple-tab-span"> </span></p>
121 <p class=
"p11"><span class=
"Apple-tab-span"> </span>\
<b>filter -
> function
</b>:
</p>
122 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Filter the audio on the proxy's own bus, using the first argument to pass in the sound.
<span class=
"Apple-converted-space"> </span></p>
123 <p class=
"p11"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>The function is any valid UGen function, which may be control or audio rate.
</p>
124 <p class=
"p11"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>Default controls are wet++index, where
<b>index
</b> is the slot of the proxy (default
0), in the example below, the control is \wet1.
</p>
125 <p class=
"p12"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></p>
126 <p class=
"p13"><span class=
"s8"><span class=
"Apple-converted-space"> <span class=
"Apple-tab-span"> </span></span></span>// example:
</p>
127 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s9">NodeProxy
</span>(s);
</p>
128 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
0] = {
<span class=
"s9">PinkNoise
</span>.ar(
0.1.dup) };
</p>
129 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.play;
</p>
130 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
1] =
<span class=
"s10">\filter
</span> -
> {
<span class=
"s9">|in|
</span> <span class=
"s9">RLPF
</span>.ar(in,
<span class=
"s9">LFNoise2
</span>.kr(
1).exprange(
300,
1000),
0.1) };
</p>
131 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.set(\wet1,
0.2);
</p>
132 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.clear(
3);
<span class=
"Apple-converted-space"> </span></p>
133 <p class=
"p2"><br></p>
134 <p class=
"p3"><span class=
"s11"><span class=
"Apple-tab-span"> </span></span>\
<b>filterIn -
> function
</b>:
</p>
135 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Like \filter, only that the input is controled by the \wet control, not the output.
</p>
136 <p class=
"p12"><span class=
"Apple-tab-span"> </span></p>
137 <p class=
"p13"><span class=
"s2"><span class=
"Apple-tab-span"> </span></span>// example:
</p>
138 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s9">NodeProxy
</span>(s);
</p>
139 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
0] = {
<span class=
"s9">PinkNoise
</span>.ar(
0.1.dup) };
</p>
140 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.play;
</p>
141 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
1] =
<span class=
"s10">\filterIn
</span> -
> {
<span class=
"s9">|in|
</span> <span class=
"s9">RLPF
</span>.ar(in,
<span class=
"s9">LFNoise2
</span>.kr(
1).exprange(
300,
1000),
0.1) };
</p>
142 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.set(\wet1,
0.2);
</p>
143 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.clear(
3);
<span class=
"Apple-converted-space"> </span></p>
144 <p class=
"p15"><span class=
"Apple-tab-span"> </span></p>
145 <p class=
"p3"><span class=
"s11"><span class=
"Apple-tab-span"> </span></span>\
<b>filterIn -
> mix
</b>:
</p>
146 <p class=
"p11"><b><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></b>Mix in the UGen in the function.
</p>
147 <p class=
"p12"><span class=
"Apple-tab-span"> </span></p>
148 <p class=
"p13"><span class=
"s2"><span class=
"Apple-tab-span"> </span></span>// example:
</p>
149 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a =
<span class=
"s9">NodeProxy
</span>(s);
</p>
150 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
0] = {
<span class=
"s9">PinkNoise
</span>.ar(
0.1.dup) };
</p>
151 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.play;
</p>
152 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a[
1] =
<span class=
"s10">\mix
</span> -
> {
<span class=
"s9">Dust.ar(
30.dup)
</span> };
</p>
153 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.set(\mix1,
0.2);
</p>
154 <p class=
"p14"><span class=
"Apple-tab-span"> </span>a.clear(
3);
</p>
155 <p class=
"p15"><span class=
"Apple-tab-span"> </span></p>
156 <p class=
"p15"><br></p>
157 <p class=
"p10"><b>Adding new roles:
</b></p>
158 <p class=
"p2"><br></p>
159 <p class=
"p3">Roles can be added on the fly. They are kept in a dictionary (
<b>buildMethods)
</b>in AbstractPlayControl. A second dictionary (
<b>proxyControlClasses
</b>) provides the wrapper class for a given key.
</p>
160 <p class=
"p2"><br></p>
161 <p class=
"p3">Here is a new role that allows you to set a control rate node proxy with the help of an event pattern. The new values are in a key namd \value.
<span class=
"Apple-converted-space"> </span></p>
162 <p class=
"p15"><br></p>
163 <p class=
"p15"><br></p>
164 <p class=
"p13">// add the new role:
</p>
166 <p class=
"p16">AbstractPlayControl
<span class=
"s2">.proxyControlClasses.put(
</span><span class=
"s10">\stream
</span><span class=
"s2">,
</span>PatternControl
<span class=
"s2">);
</span></p>
167 <p class=
"p14"><span class=
"s9">AbstractPlayControl
</span>.buildMethods.put(
<span class=
"s10">\stream
</span>,
<span class=
"Apple-converted-space"> </span></p>
168 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>#{
<span class=
"s9">arg
</span> pattern, proxy, channelOffset=
0, index;
</p>
169 <p class=
"p16"><span class=
"s2"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>Pbindf
<span class=
"s2">(
</span></p>
170 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>pattern,
</p>
171 <p class=
"p17"><span class=
"s2"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>\type
<span class=
"s2">,
</span>\bus
<span class=
"s2">,
</span></p>
172 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\id
</span>,
<span class=
"s9">Pfunc
</span> { proxy.group.nodeID },
</p>
173 <p class=
"p17"><span class=
"s2"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span></span>\array
<span class=
"s2">,
</span><span class=
"s9">Pkey
</span><span class=
"s2">(
</span>\value
<span class=
"s2">),
</span></p>
174 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s10">\out
</span>,
<span class=
"s9">Pfunc
</span> { proxy.index }
</p>
175 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>).buildForProxy( proxy, channelOffset, index )
</p>
176 <p class=
"p14"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>});
</p>
178 <p class=
"p15"><br></p>
179 <p class=
"p15"><br></p>
180 <p class=
"p15"><br></p>
181 <p class=
"p13">// test:
</p>
182 <p class=
"p14">a =
<span class=
"s9">NodeProxy
</span>.control(s);
</p>
183 <p class=
"p14">a.source =
<span class=
"s10">\stream
</span> -
> <span class=
"s9">Pbind
</span>(
<span class=
"s10">\value
</span>,
<span class=
"s9">Pseq
</span>([
1,
2,
3],
<span class=
"s9">inf
</span>),
<span class=
"s10">\dur
</span>,
1.5).trace;
</p>
184 <p class=
"p15"><br></p>
185 <p class=
"p16"><span class=
"s2">b =
</span>NodeProxy
<span class=
"s2">(s);
</span></p>
186 <p class=
"p14">b.source =
<span class=
"Apple-converted-space"> </span>{
<span class=
"s9">SinOsc
</span>.ar([
340,
440] * a.kr) *
0.1 };
</p>
187 <p class=
"p14">b.play;
</p>
188 <p class=
"p15"><br></p>
189 <p class=
"p14">a.source =
<span class=
"s10">\stream
</span> -
> <span class=
"s9">Pbind
</span>(
<span class=
"s10">\value
</span>,
<span class=
"s9">Pseq
</span>([
1,
2,
3],
<span class=
"s9">inf
</span>) +
<span class=
"s9">Pwhite
</span>(
0.0,
0.2,
<span class=
"s9">inf
</span>),
<span class=
"s10">\dur
</span>,
0.05);
</p>
190 <p class=
"p14">b.source =
<span class=
"Apple-converted-space"> </span>{
<span class=
"s9">SinOsc
</span>.ar([
5.6,
10.3] ** a.kr +
300) *
0.1 };
</p>
191 <p class=
"p15"><br></p>