supernova: allocators - fix construct method
[supercollider.git] / Help / Streams-Patterns-Events / Patterns / Pfx.html
blob580b22e17499cd93fd2b1c153ea86b727b4817f8
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <meta http-equiv="Content-Style-Type" content="text/css">
6 <title></title>
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}
13 p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
14 span.s1 {font: 18.0px Helvetica}
15 span.s2 {color: #0000bf}
16 span.s3 {color: #007300}
17 span.Apple-tab-span {white-space:pre}
18 </style>
19 </head>
20 <body>
21 <p class="p1"><span class="s1"><b>Pfx</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>
22 <p class="p2"><br></p>
23 <p class="p1"><b>superclass: FilterPattern</b></p>
24 <p class="p2"><br></p>
25 <p class="p2"><br></p>
26 <p class="p1"><b>Pfx(pattern, fxname, name, value, name, value, ...)</b></p>
27 <p class="p2"><br></p>
28 <p class="p1">Puts an effect node on the tail of the current group and releases it when the contained pattern finishes. If a bus is given, it is used as an effect bus. Name value pairs are inserted into the event for starting the effect node. The effect parameters are set from the event.</p>
29 <p class="p2"><br></p>
30 <p class="p2"><br></p>
31 <p class="p1">Example:</p>
32 <p class="p2"><br></p>
33 <p class="p3">(</p>
34 <p class="p3"><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>
35 <p class="p3"><span class="Apple-tab-span"> </span><span class="s2">var</span> env, in;</p>
36 <p class="p3"><span class="Apple-tab-span"> </span>env = <span class="s2">Linen</span>.kr(gate, 0.05, 1, 0.1, 2);</p>
37 <p class="p3"><span class="Apple-tab-span"> </span>in = <span class="s2">In</span>.ar(out, 2);</p>
38 <p class="p3"><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>
39 <p class="p3">}, [<span class="s3">\ir</span>, <span class="s3">\ir</span>, 0.1, 0.1, 0]).add;</p>
40 <p class="p4"><br></p>
41 <p class="p3"><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>
42 <p class="p3"><span class="Apple-tab-span"> </span><span class="s2">var</span> env;</p>
43 <p class="p3"><span class="Apple-tab-span"> </span>env = <span class="s2">Linen</span>.kr(gate, 0.05, 1, 0.1, 2);</p>
44 <p class="p3"><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>
45 <p class="p3">}, [<span class="s3">\ir</span>, 0.1, 0.1, 0]).add;</p>
46 <p class="p4"><br></p>
47 <p class="p3"><span class="s2">SynthDef</span>(<span class="s3">\wah</span>, { <span class="s2">arg</span> out=0, gate=1;</p>
48 <p class="p3"><span class="Apple-tab-span"> </span><span class="s2">var</span> env, in;</p>
49 <p class="p3"><span class="Apple-tab-span"> </span>env = <span class="s2">Linen</span>.kr(gate, 0.05, 1, 0.4, 2);</p>
50 <p class="p3"><span class="Apple-tab-span"> </span>in = <span class="s2">In</span>.ar(out, 2);</p>
51 <p class="p3"><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>
52 <p class="p3">}, [<span class="s3">\ir</span>, 0]).add;</p>
53 <p class="p3">)</p>
54 <p class="p4"><br></p>
55 <p class="p3">(</p>
56 <p class="p3"><span class="s2">var</span> p, q, r, o;</p>
57 <p class="p3">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>
58 <p class="p4"><br></p>
59 <p class="p3">q = <span class="s2">Pfx</span>(p, <span class="s3">\echo</span>, <span class="s3">\dtime</span>, 0.2, <span class="s3">\decay</span>, 3);</p>
60 <p class="p4"><br></p>
61 <p class="p3">r = <span class="s2">Pfx</span>(q, <span class="s3">\distort</span>, <span class="s3">\pregain</span>, 20, <span class="s3">\amp</span>, 0.25);</p>
62 <p class="p4"><br></p>
63 <p class="p3">o = <span class="s2">Pfx</span>(r, <span class="s3">\wah</span>);</p>
64 <p class="p4"><br></p>
65 <p class="p3"><span class="s2">Pseq</span>([p, q, r, o], 2).play;</p>
66 <p class="p3">)</p>
67 <p class="p2"><span class="Apple-tab-span"> </span></p>
68 </body>
69 </html>