#N canvas 789 204 617 390 10;
#X declare -lib holylib;
#X obj 249 20 osc~ 440;
#X obj 330 42 osc~ 0.2;
#X obj 330 62 +~ 1;
#X obj 330 82 *~ 180;
#X text 12 52 ambisonics library;
#X obj 249 120 amen~ 3 ------;
#X obj 15 20 declare -lib holylib;
#X text 12 172 [amen~] AMbisonics ENcoder;
#X text 18 185 usage: [amen~ ORDER];
#X text 12 210 [imp~] sIMPle ambisonics decoder;
#X text 18 223 usage: [imp~ (in/out) (mono/stereo/quad/hex)];
#X text 18 236 in/out refers to in-phase/out-of-phase optimization
;
#X obj 249 151 imp~ in stereo;
#X text 12 259 [oni] Optimized coefficient geNeratIon;
#X text 17 272 usage: [oni (in/out) ORDER];
#X text 12 284 [oni] takes in a list of speaker positions and returns
;
#X text 17 297 the location coefficients for those speakers;
#X text 12 319 TO DO: [deamen~] - generalized ambisonics decoder \,
capable of decoding to an arbitrary speaker array at arbitrary positions
;
#X obj 249 181 dac~ 1 2;
#X text 12 65 (c) 2017 Brian Voyer;
#X text 12 79 <brianvoyer@gmail.com>;
#X obj 395 137 oni out 1;
#X obj 395 157 print out;
#X obj 465 137 oni in 1;
#X obj 465 157 print in;
#X msg 395 97 22 75 125 172 240 300 325;
#X text 12 39 holylib v. 1 : "(un)holy";
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 1;
#X connect 5 0 12 0;
#X connect 5 1 12 1;
#X connect 5 2 12 2;
#X connect 12 0 18 0;
#X connect 12 1 18 1;
#X connect 21 0 22 0;
#X connect 23 0 24 0;
#X connect 25 0 21 0;
#X connect 25 0 23 0;
