#N canvas 108 139 720 469 10; #X obj 43 21 inlet~; #X obj 43 416 outlet~; #X obj 251 415 outlet~; #X obj 198 24 inlet; #X obj 43 326 *~; #X obj 251 324 *~; #X obj 267 271 line~; #X obj 267 300 cos~; #X obj 59 274 line~; #X obj 59 303 cos~; #X obj 198 82 / 4; #X obj 198 180 pack; #X obj 198 130 t f b; #X msg 228 151 10; #X obj 297 180 pack; #X obj 297 132 t f b; #X msg 348 156 10; #X obj 297 156 - 0.25; #X text 95 22 audio input; #X text 102 417 left audio outlet; #X text 311 417 right audio outlet; #X text 306 301 scale by cosine of pan angle: constant-power; #X text 280 325 change gain for channel according to constant-power formula; #X text 241 24 control input: pan angle; #X text 241 36 0 = 0 degrees \, 1 = 90 degrees; #X text 227 83 scale to 0 <= n <= 0.25 (for idiosyncratic pd cos~ object) ; #X text 346 131 shift right channel 90 degrees in phase from left; #X text 336 181 combine angle with 10 msec ramp time in a list; #X text 313 272 create smooth (10 msec) transition to new pan angle ; #X text 44 2 constant-power panning module; #X connect 0 0 4 0; #X connect 0 0 5 0; #X connect 3 0 10 0; #X connect 4 0 1 0; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 7 0 5 1; #X connect 8 0 9 0; #X connect 9 0 4 1; #X connect 10 0 12 0; #X connect 10 0 15 0; #X connect 11 0 8 0; #X connect 12 0 11 0; #X connect 12 1 13 0; #X connect 13 0 11 1; #X connect 14 0 6 0; #X connect 15 0 17 0; #X connect 15 1 16 0; #X connect 16 0 14 1; #X connect 17 0 14 0;