Update of /cvsroot/pure-data/externals/hcs/pan In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4785
Modified Files: TODO Added Files: equal_power_pan~-help.pd equal_power_pan~.pd gogins_pan~-help.pd gogins_pan~.pd linear_pan~-help.pd linear_pan~.pd pan_core~.pd square_root_pan~-help.pd square_root_pan~.pd Removed Files: goginspan~-help.pd linearpan~-help.pd linearpan~.pd Log Message: added panning algorithms from http://www.csounds.com/ezine/autumn1999/beginners/
--- NEW FILE: equal_power_pan~.pd --- #N canvas 509 36 445 434 10; #X obj 23 38 inlet~; #X obj 234 48 inlet; #X obj 23 322 outlet~; #X obj 81 322 outlet~; #X text 30 342 left; #X text 84 342 right; #X obj 234 124 expr if($f1 > 0 , $f1 , 0); #X obj 234 105 expr if($f1 < 1 , $f1 , 1); #X text 247 91 filter so 0 < f < 1; #X text 130 368 (C) Copyright 2004 Hans-Christoph Steiner; #X text 234 384 released under the GNU GPL; #X obj 23 263 pan_core~; #X obj 309 44 loadbang; #X msg 309 64 0.5; #X obj 39 184 expr cos($f1 * 3.14159 / 2); #X obj 234 184 expr sin($f1 * 3.14159 / 2); #X text 10 17 [equal_power_pan~]; #X connect 0 0 11 0; #X connect 1 0 7 0; #X connect 6 0 14 0; #X connect 6 0 15 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 11 1; #X connect 15 0 11 2;
--- NEW FILE: linear_pan~-help.pd --- #N canvas 503 335 477 320 10; #X obj 5 2 cnv 15 450 20 empty empty [linearpan~] 2 11 1 18 -233017 -66577 0; #X obj 422 3 pddp; #X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner hans@at.or.at ; #X text 244 284 released under the GNU GPL; #X obj 134 225 dac~; #X obj 181 145 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 -262131 -1 -1 6350 0; #X text 16 37 Pan a mono signal using linear panning. The left inlet takes the audio signal and the right inlet takes the control signal with 0 = left , 1 = right , and 0.5 = center.; #X obj 84 131 osc~ 250; #X obj 84 152 *~ 0.5; #X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 1 1; #X msg 362 218 ; pd dsp $1; #X obj 113 187 linearpan~; #X connect 5 0 11 1; #X connect 7 0 8 0; #X connect 8 0 11 0; #X connect 9 0 10 0; #X connect 11 0 4 0; #X connect 11 1 4 1;
--- NEW FILE: square_root_pan~-help.pd --- #N canvas 360 90 481 324 10; #X obj 5 2 cnv 15 450 20 empty empty [square_root_pan~] 2 11 1 18 -233017 -66577 0; #X obj 422 3 pddp; #X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner hans@at.or.at ; #X text 244 284 released under the GNU GPL; #X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 -262131 -1 -1 6350 0; #X obj 113 131 osc~ 250; #X obj 113 152 *~ 0.5; #X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; #X msg 362 218 ; pd dsp $1; #X text 16 71 The left inlet takes the audio signal and the right inlet takes the control signal with 0 = left , 1 = right , and 0.5 = center. ; #X text 16 37 Pan a mono signal using square root panning to smooth out the dead spot in the middle somewhat.; #X obj 113 187 square_root_pan~; #X obj 141 234 dac~ 1 2; #X connect 4 0 11 1; #X connect 5 0 6 0; #X connect 6 0 11 0; #X connect 7 0 8 0; #X connect 11 0 12 0; #X connect 11 1 12 1;
--- NEW FILE: pan_core~.pd --- #N canvas 405 25 454 576 10; #X obj 11 96 inlet~; #X obj 216 116 inlet; #X obj 70 443 *~; #X obj 70 472 outlet~; #X obj 200 442 *~; #X obj 200 471 outlet~; #X text 77 492 left; #X text 203 491 right; #X text 130 518 (C) Copyright 2004 Hans-Christoph Steiner; #X text 234 534 released under the GNU GPL; #X obj 216 418 line~; #X obj 86 418 line~; #X obj 307 183 loadbang; #X floatatom 315 244 7 0 0 3 blocksize_in_ms - -; #X obj 290 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 216 337 t f b; #X obj 246 356 f; #X obj 216 379 pack f f; #X msg 216 399 $1 $2; #X obj 86 337 t f b; #X obj 116 356 f; #X obj 86 379 pack f f; #X msg 86 399 $1 $2; #X obj 307 215 blocksize_in_ms; #X obj 86 117 inlet; #X text 10 17 [pan_core~]; #X connect 0 0 2 0; #X connect 0 0 4 0; #X connect 1 0 15 0; #X connect 2 0 3 0; #X connect 4 0 5 0; #X connect 10 0 4 1; #X connect 11 0 2 1; #X connect 12 0 23 0; #X connect 14 0 23 0; #X connect 15 0 17 0; #X connect 15 1 16 0; #X connect 16 0 17 1; #X connect 17 0 18 0; #X connect 18 0 10 0; #X connect 19 0 21 0; #X connect 19 1 20 0; #X connect 20 0 21 1; #X connect 21 0 22 0; #X connect 22 0 11 0; #X connect 23 0 13 0; #X connect 23 0 16 1; #X connect 23 0 20 1; #X connect 24 0 19 0;
--- goginspan~-help.pd DELETED ---
--- NEW FILE: equal_power_pan~-help.pd --- #N canvas 219 32 485 328 10; #X obj 5 2 cnv 15 450 20 empty empty [equal_power_pan~] 2 11 1 18 -233017 -66577 0; #X obj 422 3 pddp; #X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner hans@at.or.at ; #X text 244 284 released under the GNU GPL; #X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 -262131 -1 -1 0 0; #X obj 113 131 osc~ 250; #X obj 113 152 *~ 0.5; #X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; #X msg 362 218 ; pd dsp $1; #X text 16 71 The left inlet takes the audio signal and the right inlet takes the control signal with 0 = left , 1 = right , and 0.5 = center. ; #X text 16 37 Pan a mono signal using square root panning to smooth out the dead spot in the middle somewhat.; #X obj 141 234 dac~ 1 2; #X obj 113 187 equal_power_pan~; #X connect 4 0 12 1; #X connect 5 0 6 0; #X connect 6 0 12 0; #X connect 7 0 8 0; #X connect 12 0 11 0; #X connect 12 1 11 1;
--- NEW FILE: linear_pan~.pd --- #N canvas 438 88 458 368 10; #X obj 23 38 inlet~; #X obj 193 36 inlet; #X obj 23 262 outlet~; #X obj 81 262 outlet~; #X text 30 282 left; #X text 84 282 right; #X obj 193 112 expr if($f1 > 0 , $f1 , 0); #X obj 193 93 expr if($f1 < 1 , $f1 , 1); #X text 206 79 filter so 0 < f < 1; #X obj 40 150 expr 1 - $f1; #X text 130 318 (C) Copyright 2004 Hans-Christoph Steiner; #X text 234 334 released under the GNU GPL; #X text 10 17 [linearpan~]; #X obj 23 203 pan_core~; #X obj 268 32 loadbang; #X msg 268 52 0.5; #X connect 0 0 13 0; #X connect 1 0 7 0; #X connect 6 0 9 0; #X connect 6 0 13 2; #X connect 7 0 6 0; #X connect 9 0 13 1; #X connect 13 0 2 0; #X connect 13 1 3 0; #X connect 14 0 15 0; #X connect 15 0 7 0;
--- linearpan~-help.pd DELETED ---
--- NEW FILE: gogins_pan~.pd --- #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;
--- NEW FILE: gogins_pan~-help.pd --- #N canvas 7 59 485 328 10; #X obj 5 2 cnv 15 450 20 empty empty [gogins_pan~] 2 11 1 18 -233017 -66577 0; #X obj 422 3 pddp; #X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner hans@at.or.at ; #X text 244 284 released under the GNU GPL; #X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 -262131 -1 -1 0 0; #X obj 113 131 osc~ 250; #X obj 113 152 *~ 0.5; #X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; #X msg 362 218 ; pd dsp $1; #X text 17 82 The left inlet takes the audio signal and the right inlet takes the control signal with 0 = left , 1 = right , and 0.5 = center. ; #X obj 122 231 dac~ 1 2; #X obj 114 187 gogins_pan~; #X text 15 36 Pan a mono signal using an algorithm posted by Michael Gogins to the Csound list. The aim is to have the pan feel like its wrapping around more.; #X connect 4 0 11 1; #X connect 5 0 6 0; #X connect 6 0 11 0; #X connect 7 0 8 0; #X connect 11 0 10 0; #X connect 11 1 10 1;
Index: TODO =================================================================== RCS file: /cvsroot/pure-data/externals/hcs/pan/TODO,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TODO 28 Nov 2004 20:48:31 -0000 1.1 --- TODO 26 Dec 2005 02:07:49 -0000 1.2 *************** *** 1,3 **** --- 1,5 ----
+ - check F.Moore's Elements of Computer Music for panning algorithms + - remove motex [pan~] from distros and replace with these Pd patches.
*************** *** 6,13 **** - write pan_gogins~.c in Pd
- - implmenet other panning algorithms in Pd from - http://www.csounds.com/ezine/autumn1999/beginners/ - - write all_about_panning, including graphs and discussion from http://www.csounds.com/ezine/autumn1999/beginners/
--- 8,13 ---- - write pan_gogins~.c in Pd
- write all_about_panning, including graphs and discussion from http://www.csounds.com/ezine/autumn1999/beginners/
+ - include vbap~ and other advanced panning methods
--- linearpan~.pd DELETED ---
--- NEW FILE: square_root_pan~.pd --- #N canvas 509 36 441 430 10; #X obj 23 38 inlet~; #X obj 234 48 inlet; #X obj 23 322 outlet~; #X obj 81 322 outlet~; #X text 30 342 left; #X text 84 342 right; #X obj 234 124 expr if($f1 > 0 , $f1 , 0); #X obj 234 105 expr if($f1 < 1 , $f1 , 1); #X text 247 91 filter so 0 < f < 1; #X text 130 368 (C) Copyright 2004 Hans-Christoph Steiner; #X text 234 384 released under the GNU GPL; #X obj 23 263 pan_core~; #X obj 309 44 loadbang; #X msg 309 64 0.5; #X obj 80 239 sqrt; #X obj 50 158 expr sqrt(1 - $f1); #X text 10 17 [square_root_pan~]; #X connect 0 0 11 0; #X connect 1 0 7 0; #X connect 6 0 14 0; #X connect 6 0 15 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 11 2; #X connect 15 0 11 1;