#N canvas 612 28 518 582 10; #X obj 23 38 inlet~; #X obj 139 47 inlet; #X obj 23 482 outlet~; #X obj 81 482 outlet~; #X text 30 502 left; #X text 84 502 right; #X obj 139 93 expr if($f1 > 0 \, $f1 \, 0); #X obj 139 74 expr if($f1 < 1 \, $f1 \, 1); #X text 174 59 filter so 0 < f < 1; #X text 130 528 (C) Copyright 2004 Hans-Christoph Steiner; #X text 234 544 released under the GNU GPL; #X obj 23 443 pan_core~; #X obj 107 27 loadbang; #X msg 107 47 0.5; #X obj 209 132 pi; #X obj 337 171 / 2; #X text 10 17 [gogins_pan~]; #X obj 368 93 loadbang; #X obj 369 313 expr sqrt(2)/2; #X obj 209 152 trigger float float; #X obj 106 387 *; #X obj 208 388 *; #X obj 140 190 *; #X obj 140 211 -; #X obj 140 238 trigger float float; #X obj 140 263 cos; #X obj 268 262 sin; #X text 101 456 the algorithm comes from Michael Gogins on the Csound list; #X obj 207 326 +; #X obj 107 324 -; #X connect 0 0 11 0; #X connect 1 0 7 0; #X connect 6 0 22 0; #X connect 7 0 6 0; #X connect 11 0 2 0; #X connect 11 1 3 0; #X connect 12 0 13 0; #X connect 13 0 7 0; #X connect 14 0 19 0; #X connect 15 0 23 1; #X connect 17 0 14 0; #X connect 17 0 18 0; #X connect 18 0 21 1; #X connect 18 0 20 1; #X connect 19 0 22 1; #X connect 19 1 15 0; #X connect 20 0 11 1; #X connect 21 0 11 2; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 24 0 25 0; #X connect 24 1 26 0; #X connect 25 0 28 0; #X connect 25 0 29 0; #X connect 26 0 28 1; #X connect 26 0 29 1; #X connect 28 0 21 0; #X connect 29 0 20 0;