aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-11-28 20:48:31 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-11-28 20:48:31 +0000
commit93cbb8a070284a2dcdae333091bc0d1860426bee (patch)
treeec64e560309a98e1db0c9ab03b419ddb47123b56
started library of standard panning objectssvn2git-root
svn path=/trunk/externals/hcs/pan/; revision=2338
-rw-r--r--TODO13
-rw-r--r--goginspan~-help.pd95
-rw-r--r--gpan~-help.pd28
-rw-r--r--gpan~.pd35
-rw-r--r--linearpan~-help.pd24
-rw-r--r--linearpan~.pd65
6 files changed, 260 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..b86cc27
--- /dev/null
+++ b/TODO
@@ -0,0 +1,13 @@
+
+- remove motex [pan~] from distros and replace with these Pd patches.
+
+- write equal power panning object in Pd to replace motex [pan~]
+
+- 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/
+
diff --git a/goginspan~-help.pd b/goginspan~-help.pd
new file mode 100644
index 0000000..281573d
--- /dev/null
+++ b/goginspan~-help.pd
@@ -0,0 +1,95 @@
+#N canvas 229 280 522 407 10;
+#X floatatom 94 35 4 -45 45 0 - - -;
+#X floatatom 112 85 0 0 0 0 - - -;
+#N canvas 184 223 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 397 92 r master-lvl;
+#X obj 83 42 r master-lvl;
+#X obj 338 210 s master-lvl;
+#X obj -15 176 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X obj 199 100 s master-lvl;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj -15 207 *~;
+#X obj -15 236 dac~;
+#X obj 83 171 pack 0 50;
+#X text -17 153 audio;
+#X text 93 110 show level;
+#X obj 31 182 inlet~;
+#X obj 31 218 *~;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 13 0;
+#X connect 5 0 13 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 24 0;
+#X connect 11 0 1 1;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 12 0 18 0;
+#X connect 14 0 22 0;
+#X connect 15 0 17 0;
+#X connect 15 0 20 0;
+#X connect 18 0 19 0;
+#X connect 21 0 22 1;
+#X connect 21 0 28 1;
+#X connect 22 0 23 0;
+#X connect 24 0 21 0;
+#X connect 27 0 28 0;
+#X connect 28 0 23 1;
+#X restore 74 112 pd output;
+#X msg 132 84 MUTE;
+#X text 166 83 <-- output amplitude;
+#N canvas 5 21 600 400 pulse 0;
+#X obj 175 203 cos~;
+#X obj 175 131 -~ 0.5;
+#X obj 175 179 clip~ -0.5 0.5;
+#X obj 175 227 hip~ 5;
+#X obj 175 155 *~ 82;
+#X obj 175 107 phasor~ 16;
+#X obj 175 251 outlet~;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 6 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X restore 22 33 pd pulse;
+#X msg 21 177 \; pd dsp 1;
+#X msg 91 177 \; pd dsp 0;
+#X text 43 208 ON;
+#X text 108 208 OFF;
+#X obj 22 152 loadbang;
+#X text 133 36 angle in degrees range -45 to 45;
+#X obj 22 58 pan_gogins~;
+#X text 17 324 pan_gogins~ a modification of pan~ by Ian Mott;
+#X text 16 341 implements an algorithm conceived by Michael Gogins
+and described at: http://www.csounds.com/ezine/autumn1999/beginners/
+;
+#X connect 0 0 12 1;
+#X connect 1 0 2 2;
+#X connect 2 0 1 0;
+#X connect 3 0 2 3;
+#X connect 5 0 12 0;
+#X connect 10 0 6 0;
+#X connect 12 0 2 0;
+#X connect 12 1 2 1;
diff --git a/gpan~-help.pd b/gpan~-help.pd
new file mode 100644
index 0000000..a11fe6a
--- /dev/null
+++ b/gpan~-help.pd
@@ -0,0 +1,28 @@
+#N canvas 168 428 470 338 10;
+#X obj 77 187 gpan~;
+#X obj 54 155 osc~ 300;
+#X obj 114 155 osc~ 400;
+#X obj 129 246 dac~;
+#X obj 5 2 cnv 15 450 20 empty empty [gpan~] 2 11 1 18 -233017 -66577
+0;
+#X obj 422 3 pddp;
+#X msg 190 101 0;
+#X msg 239 101 0.5;
+#X msg 284 101 1;
+#X text 18 43 A stereo pan object with a built-in slider to control
+and display the status.;
+#X text 188 86 left;
+#X text 229 86 center;
+#X text 283 86 right;
+#X obj 361 203 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1;
+#X msg 361 235 \; pd dsp \$1;
+#X text 201 299 released under the GNU GPL;
+#X text 37 284 (C) Copyright 2003 Marc Lavalee;
+#X connect 0 0 3 0;
+#X connect 0 1 3 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 6 0 0 2;
+#X connect 7 0 0 2;
+#X connect 8 0 0 2;
+#X connect 13 0 14 0;
diff --git a/gpan~.pd b/gpan~.pd
new file mode 100644
index 0000000..00c635a
--- /dev/null
+++ b/gpan~.pd
@@ -0,0 +1,35 @@
+#N canvas 0 22 474 324 10;
+#X obj 55 118 inlet~;
+#X obj 304 139 inlet~;
+#X obj 303 249 outlet~;
+#X obj 54 249 outlet~;
+#X obj 71 161 expr 1-$f1;
+#X obj 164 115 hsl 64 8 0 1 0 1 empty empty empty -2 -6 0 8 -166441
+-123526 -1 3150 1;
+#X msg 161 79 0.5;
+#X obj 365 140 inlet;
+#X text 171 225 [gpan~];
+#X text 242 289 released under the GNU GPL;
+#X text 18 289 (C) Copyright 2004 Marc Lavalee;
+#X obj 319 205 line~;
+#X msg 319 184 \$1 1;
+#X obj 71 202 line~;
+#X msg 71 181 \$1 1;
+#X obj 303 225 *~;
+#X obj 55 227 *~;
+#X obj 161 58 loadbang;
+#X connect 0 0 16 0;
+#X connect 1 0 15 0;
+#X connect 4 0 14 0;
+#X connect 5 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 11 0 15 1;
+#X connect 12 0 11 0;
+#X connect 13 0 16 1;
+#X connect 14 0 13 0;
+#X connect 15 0 2 0;
+#X connect 16 0 3 0;
+#X connect 17 0 6 0;
+#X coords 0 0 1 1 120 12 1;
diff --git a/linearpan~-help.pd b/linearpan~-help.pd
new file mode 100644
index 0000000..56a7b36
--- /dev/null
+++ b/linearpan~-help.pd
@@ -0,0 +1,24 @@
+#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;
diff --git a/linearpan~.pd b/linearpan~.pd
new file mode 100644
index 0000000..4128aff
--- /dev/null
+++ b/linearpan~.pd
@@ -0,0 +1,65 @@
+#N canvas 149 216 438 560 10;
+#X obj 121 27 inlet~;
+#X obj 233 26 inlet;
+#X obj 30 443 *~;
+#X obj 30 472 outlet~;
+#X obj 180 442 *~;
+#X obj 180 471 outlet~;
+#X text 37 492 left;
+#X text 183 491 right;
+#X obj 233 82 expr if($f1 > 0 \, $f1 \, 0);
+#X obj 233 63 expr if($f1 < 1 \, $f1 \, 1);
+#X text 246 49 filter so 0 < f < 1;
+#X obj 46 157 expr 1 - $f1;
+#X text 130 518 (C) Copyright 2004 Hans-Christoph Steiner;
+#X text 234 534 released under the GNU GPL;
+#X obj 196 418 line~;
+#X obj 46 418 line~;
+#X text 10 17 [linearpan~];
+#X obj 297 162 samplerate~;
+#X obj 297 141 loadbang;
+#X obj 311 230 /;
+#X msg 297 208 64;
+#X obj 297 189 t b f;
+#X floatatom 304 272 8 0 0 3 block_size_in_secs - -;
+#X obj 280 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 196 337 t f b;
+#X obj 226 356 f;
+#X obj 196 379 pack f f;
+#X msg 196 399 \$1 \$2;
+#X text 163 208 default block size:;
+#X obj 46 337 t f b;
+#X obj 76 356 f;
+#X obj 46 379 pack f f;
+#X msg 46 399 \$1 \$2;
+#X connect 0 0 2 0;
+#X connect 0 0 4 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 8 0 11 0;
+#X connect 8 0 24 0;
+#X connect 9 0 8 0;
+#X connect 11 0 29 0;
+#X connect 14 0 4 1;
+#X connect 15 0 2 1;
+#X connect 17 0 21 0;
+#X connect 18 0 17 0;
+#X connect 19 0 22 0;
+#X connect 19 0 25 1;
+#X connect 19 0 30 1;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 21 1 19 1;
+#X connect 23 0 17 0;
+#X connect 24 0 26 0;
+#X connect 24 1 25 0;
+#X connect 25 0 26 1;
+#X connect 26 0 27 0;
+#X connect 27 0 14 0;
+#X connect 29 0 31 0;
+#X connect 29 1 30 0;
+#X connect 30 0 31 1;
+#X connect 31 0 32 0;
+#X connect 32 0 15 0;