linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / DecodeB2.schelp
blobeea23b3db7eacfb4a2d6c0fcc1010a38995fc15a
1 class:: DecodeB2
2 summary:: 2D Ambisonic B-format decoder.
3 related:: Classes/BiPanB2, Classes/PanB, Classes/PanB2, Classes/Rotate2
4 categories::  UGens>Multichannel>Ambisonics
7 Description::
9 Decode a two dimensional ambisonic B-format signal to a set of speakers
10 in a regular polygon. The outputs will be in clockwise order. The
11 position of the first speaker is either center or left of center.
14 classmethods::
16 method::ar, kr
18 argument::numChans
20 Number of output speakers. Typically 4 to 8.
23 argument::w
25 The B-format signal.
28 argument::x
30 The B-format signal.
33 argument::y
35 The B-format signal.
38 argument::orientation
40 Should be zero if the front is a vertex of the polygon. The first
41 speaker will be directly in front. Should be 0.5 if the front
42 bisects a side of the polygon. Then the first speaker will be the
43 one left of center.
45 returns::
46 An array of channels, one for each speaker.
48 Examples::
50 code::
54         var w, x, y, p, a, b, c, d;
56         p = PinkNoise.ar; // source
58         // B-format encode
59         #w, x, y = PanB2.ar(p, MouseX.kr(-1,1), 0.1);
61         // B-format decode to quad
62         #a, b, c, d = DecodeB2.ar(4, w, x, y);
64         [a, b, d, c] // reorder to my speaker arrangement: Lf Rf Lr Rr
65 }.play;