cmake build system: visiblity support for clang
[supercollider.git] / Help / UGens / Multichannel / Mix.html
blobabb0db5783e678e3bb19f33b9c07dd50a6ca3130
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="824.42">
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: 10.0px Monaco; min-height: 14.0px}
14 p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
15 p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px}
16 span.s1 {color: #0019b7}
17 span.Apple-tab-span {white-space:pre}
18 </style>
19 </head>
20 <body>
21 <p class="p1"><b>Mix<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>sum an array of channels</b></p>
22 <p class="p2"><br></p>
23 <p class="p3"><b>Mix.new(array)</b></p>
24 <p class="p2"><br></p>
25 <p class="p3">Mix will mix an array of channels down to a single channel or an array of arrays of channels down to a single array of channels. More information can be found under<b> MultiChannel</b>.</p>
26 <p class="p4"><br></p>
27 <p class="p5">s.boot;</p>
28 <p class="p5">{ <span class="s1">Mix</span>.new([ <span class="s1">PinkNoise</span>.ar(0.1), <span class="s1">FSinOsc</span>.ar(801, 0.1), <span class="s1">LFSaw</span>.ar(40, 0.1)]) }.play</p>
29 <p class="p6"><br></p>
30 <p class="p3"><b>*fill(n, function)</b></p>
31 <p class="p2"><br></p>
32 <p class="p3">A common idiom using Mix is to fill an Array and then mix the results:</p>
33 <p class="p6"><br></p>
34 <p class="p5">(</p>
35 <p class="p5">play({<span class="Apple-converted-space"> </span></p>
36 <p class="p5"><span class="Apple-tab-span"> </span><span class="s1">Mix</span>.new( <span class="s1">Array</span>.fill(8, { <span class="s1">SinOsc</span>.ar(500 + 500.0.rand, 0, 0.05) }) );<span class="Apple-converted-space"> </span></p>
37 <p class="p5">}))</p>
38 <p class="p6"><br></p>
39 <p class="p3">The <b>*fill</b> methods allow this idiom to be written more concisely:</p>
40 <p class="p2"><br></p>
41 <p class="p5">(</p>
42 <p class="p5">play({<span class="Apple-converted-space"> </span></p>
43 <p class="p5"><span class="Apple-tab-span"> </span><span class="s1">Mix</span>.fill(8, { <span class="s1">SinOsc</span>.ar(500 + 500.0.rand, 0, 0.05) });<span class="Apple-converted-space"> </span></p>
44 <p class="p5">}))</p>
45 <p class="p6"><br></p>
46 <p class="p3">Note that Mix-ar and Mix-kr in SC2 are equivalent to Mix-new in SC3, and that Mix-arFill and Mix-krFill are equivalent to Mix-fill.</p>
47 </body>
48 </html>