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=
"1038.25">
9 <style type=
"text/css">
10 p
.p1
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.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: 9.0px Monaco
; color: #bf0000; min-height: 12.0px}
13 p
.p4
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #bf0000}
14 p
.p5
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; min-height: 12.0px}
15 p
.p6
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
}
16 span
.s1
{font: 18.0px Helvetica
}
17 span
.s2
{color: #0000bf}
18 span
.s3
{color: #007300}
19 span
.Apple-tab-span
{white-space:pre
}
23 <p class=
"p1"><span class=
"s1"><b>Pfxb
</b></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><b>add an effect synth to the synths of a given event stream
</b></p>
24 <p class=
"p2"><br></p>
25 <p class=
"p1"><b>superclass: Pfx
</b></p>
26 <p class=
"p2"><br></p>
27 <p class=
"p2"><br></p>
28 <p class=
"p2"><br></p>
29 <p class=
"p1"><b>Pfxb(pattern, fxname, name, value, name, value, ...)
</b></p>
30 <p class=
"p2"><br></p>
31 <p class=
"p1">Puts an effect node on the tail of the current group and releases it when the contained pattern finishes. Name value pairs are inserted into the event for starting the effect node. The effect parameters are set from the event.
</p>
32 <p class=
"p2"><br></p>
33 <p class=
"p1">In difference to
<a href=
"Pfx.html"><span class=
"s2">Pfx
</span></a>, a
<b>private effect bus
</b> is provided according to the number of channels in the effect synth def.
</p>
34 <p class=
"p2"><br></p>
35 <p class=
"p3"><br></p>
36 <p class=
"p4">// Examples
</p>
37 <p class=
"p5"><br></p>
39 <p class=
"p6"><span class=
"s2">SynthDef
</span>(
<span class=
"s3">\echo
</span>, {
<span class=
"s2">arg
</span> out=
0, maxdtime=
0.2, dtime=
0.2, decay=
2, gate=
1;
</p>
40 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">var
</span> env, in;
</p>
41 <p class=
"p6"><span class=
"Apple-tab-span"> </span>env =
<span class=
"s2">Linen
</span>.kr(gate,
0.05,
1,
0.1,
2);
</p>
42 <p class=
"p6"><span class=
"Apple-tab-span"> </span>in =
<span class=
"s2">In
</span>.ar(out,
2);
</p>
43 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">XOut
</span>.ar(out, env,
<span class=
"s2">CombL
</span>.ar(in * env, maxdtime, dtime, decay,
1, in));
</p>
44 <p class=
"p6">}, [
<span class=
"s3">\ir
</span>,
<span class=
"s3">\ir
</span>,
0.1,
0.1,
0]).add;
</p>
45 <p class=
"p5"><br></p>
46 <p class=
"p6"><span class=
"s2">SynthDef
</span>(
<span class=
"s3">\distort
</span>, {
<span class=
"s2">arg
</span> out=
0, pregain=
40, amp=
0.2, gate=
1;
</p>
47 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">var
</span> env;
</p>
48 <p class=
"p6"><span class=
"Apple-tab-span"> </span>env =
<span class=
"s2">Linen
</span>.kr(gate,
0.05,
1,
0.1,
2);
</p>
49 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">XOut
</span>.ar(out, env, (
<span class=
"s2">In
</span>.ar(out,
2) * pregain).distort * amp);
</p>
50 <p class=
"p6">}, [
<span class=
"s3">\ir
</span>,
0.1,
0.1,
0]).add;
</p>
51 <p class=
"p5"><br></p>
52 <p class=
"p6"><span class=
"s2">SynthDef
</span>(
<span class=
"s3">\wah
</span>, {
<span class=
"s2">arg
</span> out=
0, gate=
1;
</p>
53 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">var
</span> env, in;
</p>
54 <p class=
"p6"><span class=
"Apple-tab-span"> </span>env =
<span class=
"s2">Linen
</span>.kr(gate,
0.05,
1,
0.4,
2);
</p>
55 <p class=
"p6"><span class=
"Apple-tab-span"> </span>in =
<span class=
"s2">In
</span>.ar(out,
2);
</p>
56 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">XOut
</span>.ar(out, env,
<span class=
"s2">RLPF
</span>.ar(in,
<span class=
"s2">LinExp
</span>.kr(
<span class=
"s2">LFNoise1
</span>.kr(
0.3), -
1,
1,
200,
8000),
0.1).softclip *
0.8);
</p>
57 <p class=
"p6">}, [
<span class=
"s3">\ir
</span>,
0]).add;
</p>
59 <p class=
"p5"><br></p>
61 <p class=
"p6"><span class=
"s2">var
</span> p, q, r, o;
</p>
62 <p class=
"p6">p =
<span class=
"s2">Pbind
</span>(
<span class=
"s3">\degree
</span>,
<span class=
"s2">Prand
</span>((
0.
.7),
12),
<span class=
"s3">\dur
</span>,
0.3,
<span class=
"s3">\legato
</span>,
0.2);
</p>
63 <p class=
"p5"><br></p>
64 <p class=
"p6">q =
<span class=
"s2">Pfxb
</span>(p,
<span class=
"s3">\echo
</span>,
<span class=
"s3">\dtime
</span>,
0.2,
<span class=
"s3">\decay
</span>,
3);
</p>
65 <p class=
"p5"><br></p>
66 <p class=
"p6">r =
<span class=
"s2">Pfxb
</span>(q,
<span class=
"s3">\distort
</span>,
<span class=
"s3">\pregain
</span>,
20,
<span class=
"s3">\amp
</span>,
0.25);
</p>
67 <p class=
"p5"><br></p>
68 <p class=
"p6">o =
<span class=
"s2">Pfxb
</span>(r,
<span class=
"s3">\wah
</span>);
</p>
69 <p class=
"p5"><br></p>
70 <p class=
"p6"><span class=
"s2">Pseq
</span>([p, q, r, o],
2).play;
</p>
72 <p class=
"p2"><span class=
"Apple-tab-span"> </span></p>
73 <p class=
"p2"><span class=
"Apple-tab-span"> </span></p>
74 <p class=
"p2"><span class=
"Apple-tab-span"> </span></p>
75 <p class=
"p4">// test order of effect chain
</p>
77 <p class=
"p6"><span class=
"s2">SynthDef
</span>(
<span class=
"s3">\echo
</span>, {
<span class=
"s2">arg
</span> out=
0, maxdtime=
0.2, dtime=
0.2, decay=
2, gate=
1;
</p>
78 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">var
</span> env, in;
</p>
79 <p class=
"p6"><span class=
"Apple-tab-span"> </span>env =
<span class=
"s2">Linen
</span>.kr(gate,
0.05,
1,
0.1,
2);
</p>
80 <p class=
"p6"><span class=
"Apple-tab-span"> </span>in =
<span class=
"s2">In
</span>.ar(out,
2);
</p>
81 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">XOut
</span>.ar(out, env,
<span class=
"s2">CombL
</span>.ar(in * env, maxdtime, dtime, decay,
1, in));
</p>
82 <p class=
"p6">}, [
<span class=
"s3">\ir
</span>,
<span class=
"s3">\ir
</span>,
0.1,
0.1,
0]).add;
</p>
83 <p class=
"p5"><br></p>
84 <p class=
"p5"><br></p>
85 <p class=
"p6"><span class=
"s2">SynthDef
</span>(
<span class=
"s3">\addbeeps
</span>, {
<span class=
"s2">arg
</span> out=
0, gate=
1;
</p>
86 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">var
</span> env;
</p>
87 <p class=
"p6"><span class=
"Apple-tab-span"> </span>env =
<span class=
"s2">Linen
</span>.kr(gate,
0.05,
1,
0.1,
2);
</p>
88 <p class=
"p6"><span class=
"Apple-tab-span"> </span><span class=
"s2">XOut
</span>.ar(out, env, (
<span class=
"s2">In
</span>.ar(out,
2) + (
<span class=
"s2">LFPulse
</span>.kr(
1,
0,
0.3) *
<span class=
"s2">SinOsc
</span>.ar(
1000) *
0.4) ));
</p>
89 <p class=
"p6">}, [
<span class=
"s3">\ir
</span>,
0.1,
0.1,
0]).add;
</p>
91 <p class=
"p5"><br></p>
92 <p class=
"p5"><br></p>
94 <p class=
"p6"><span class=
"s2">var
</span> a;
</p>
95 <p class=
"p6">a =
<span class=
"s2">Pbind
</span>(
<span class=
"s3">\degree
</span>,
<span class=
"s2">Prand
</span>((
0.
.7),
12),
<span class=
"s3">\dur
</span>,
0.3,
<span class=
"s3">\legato
</span>,
0.2);
</p>
96 <p class=
"p6">a =
<span class=
"s2">Pfxb
</span>(a,
<span class=
"s3">\echo
</span>,
<span class=
"s3">\dtime
</span>,
0.2,
<span class=
"s3">\decay
</span>,
3);
</p>
97 <p class=
"p6">a =
<span class=
"s2">Pfxb
</span>(a,
<span class=
"s3">\addbeeps
</span>);
</p>
98 <p class=
"p6">a.play;
</p>
100 <p class=
"p5"><br></p>
102 <p class=
"p6"><span class=
"s2">var
</span> a;
</p>
103 <p class=
"p6">a =
<span class=
"s2">Pbind
</span>(
<span class=
"s3">\degree
</span>,
<span class=
"s2">Prand
</span>((
0.
.7),
12),
<span class=
"s3">\dur
</span>,
0.3,
<span class=
"s3">\legato
</span>,
0.2);
</p>
104 <p class=
"p6">a =
<span class=
"s2">Pfxb
</span>(a,
<span class=
"s3">\addbeeps
</span>);
</p>
105 <p class=
"p6">a =
<span class=
"s2">Pfxb
</span>(a,
<span class=
"s3">\echo
</span>,
<span class=
"s3">\dtime
</span>,
0.2,
<span class=
"s3">\decay
</span>,
3);
</p>
106 <p class=
"p6">a.play;
</p>
108 <p class=
"p5"><br></p>