From b0694283829f7627cd424ae0a417b6eb5c985377 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Feb 2006 05:21:35 +0000 Subject: added Cyrille's list handling objects svn path=/trunk/externals/mapping/; revision=4575 --- curve_exp.pd | 18 ++++----- delay_n.pd | 15 +++++++ diff_n.pd | 13 +++++++ distance_n.pd | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ help/delay_n-help.pd | 18 +++++++++ help/diff_n-help.pd | 10 +++++ help/distance_n-help.pd | 34 ++++++++++++++++ help/last_n-help.pd | 8 ++++ help/local_max-help.pd | 8 ++++ help/local_min-help.pd | 11 ++++++ help/max_n-help.pd | 26 +++++++++++++ help/mean_n-help.pd | 22 +++++++++++ help/min_n-help.pd | 24 ++++++++++++ last_n.pd | 21 ++++++++++ local_max.pd | 23 +++++++++++ local_min.pd | 23 +++++++++++ max_n.pd | 16 ++++++++ mean_n.pd | 29 ++++++++++++++ min_n.pd | 16 ++++++++ pd/curve_exp.pd | 18 ++++----- pd/delay_n.pd | 15 +++++++ pd/diff_n.pd | 13 +++++++ pd/distance_n.pd | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ pd/last_n.pd | 21 ++++++++++ pd/local_max.pd | 23 +++++++++++ pd/local_min.pd | 23 +++++++++++ pd/max_n.pd | 16 ++++++++ pd/mean_n.pd | 29 ++++++++++++++ pd/min_n.pd | 16 ++++++++ 29 files changed, 693 insertions(+), 18 deletions(-) create mode 100644 delay_n.pd create mode 100644 diff_n.pd create mode 100644 distance_n.pd create mode 100644 help/delay_n-help.pd create mode 100644 help/diff_n-help.pd create mode 100644 help/distance_n-help.pd create mode 100644 help/last_n-help.pd create mode 100644 help/local_max-help.pd create mode 100644 help/local_min-help.pd create mode 100644 help/max_n-help.pd create mode 100644 help/mean_n-help.pd create mode 100644 help/min_n-help.pd create mode 100644 last_n.pd create mode 100644 local_max.pd create mode 100644 local_min.pd create mode 100644 max_n.pd create mode 100644 mean_n.pd create mode 100644 min_n.pd create mode 100644 pd/delay_n.pd create mode 100644 pd/diff_n.pd create mode 100644 pd/distance_n.pd create mode 100644 pd/last_n.pd create mode 100644 pd/local_max.pd create mode 100644 pd/local_min.pd create mode 100644 pd/max_n.pd create mode 100644 pd/mean_n.pd create mode 100644 pd/min_n.pd diff --git a/curve_exp.pd b/curve_exp.pd index e77d677..a15e6b5 100644 --- a/curve_exp.pd +++ b/curve_exp.pd @@ -1,8 +1,7 @@ -#N canvas 225 325 507 333 10; +#N canvas 225 325 511 337 10; #X obj 37 25 inlet; #X obj 37 262 outlet; #X obj 38 63 moses 0; -#X obj 22 116 abs; #X obj 22 189 * -1; #X obj 22 168 dbtorms; #X obj 22 142 * 100; @@ -13,12 +12,13 @@ #X text 248 296 released under the GNU GPL; #X text 31 282 (C) Copyright 2006 Hans-Christoph Steiner ; +#X obj 22 116 * -1; #X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 7 0; -#X connect 3 0 6 0; -#X connect 4 0 1 0; +#X connect 2 0 12 0; +#X connect 2 1 6 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; #X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 7 0 8 0; -#X connect 8 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 12 0 5 0; diff --git a/delay_n.pd b/delay_n.pd new file mode 100644 index 0000000..243b936 --- /dev/null +++ b/delay_n.pd @@ -0,0 +1,15 @@ +#N canvas 212 243 661 510 10; +#X obj 160 88 t f b; +#X obj 49 86 list; +#X obj 159 50 inlet; +#X obj 49 52 inlet; +#X obj 93 200 outlet; +#X obj 49 131 list split \$1; +#X connect 0 0 5 1; +#X connect 0 1 1 1; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 5 0 1 1; +#X connect 5 1 4 0; +#X connect 5 2 1 1; diff --git a/diff_n.pd b/diff_n.pd new file mode 100644 index 0000000..c3fd06f --- /dev/null +++ b/diff_n.pd @@ -0,0 +1,13 @@ +#N canvas 246 155 294 362 10; +#X obj 59 49 inlet; +#X obj 59 184 outlet; +#X obj 175 93 inlet; +#X obj 59 93 t f f; +#X obj 59 152 -; +#X obj 89 119 delay_n \$1; +#X connect 0 0 3 0; +#X connect 2 0 5 1; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; diff --git a/distance_n.pd b/distance_n.pd new file mode 100644 index 0000000..85f6a70 --- /dev/null +++ b/distance_n.pd @@ -0,0 +1,101 @@ +#N canvas 872 510 450 424 10; +#N canvas 640 117 487 367 drip-two-lists 0; +#X obj 64 243 outlet; +#X obj 64 57 inlet; +#X obj 157 240 outlet; +#X obj 225 242 outlet; +#X obj 321 95 inlet; +#X text 272 240 End; +#X obj 64 156 t a b; +#N canvas 0 0 533 407 drip 0; +#X obj 64 206 list split 1; +#X obj 64 123 until; +#X obj 64 181 list append; +#X obj 194 206 bang; +#X text 146 90 First store list \, then start the loop; +#X text 163 118 "until" bangs its output until told to stop by a "bang" +to its right inlet.; +#X text 182 160 Store the remaining list.; +#X text 239 205 third outlet of "split" tells us to stop.; +#X obj 64 243 outlet; +#X obj 64 57 inlet; +#X text 237 44 From list-help.pd; +#X obj 143 243 outlet; +#X obj 64 86 t b a; +#X connect 0 0 8 0; +#X connect 0 1 2 1; +#X connect 0 2 3 0; +#X connect 0 2 11 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 1 1; +#X connect 9 0 12 0; +#X connect 12 0 1 0; +#X connect 12 1 2 1; +#X restore 64 122 pd drip; +#N canvas 0 0 533 407 dripslow 0; +#X obj 87 232 list split 1; +#X obj 87 207 list append; +#X obj 87 283 outlet; +#X obj 87 83 inlet; +#X obj 166 283 outlet; +#X obj 159 81 inlet; +#X obj 87 118 b; +#X text 202 82 list; +#X text 42 83 bang; +#X text 210 283 EOL; +#X text 28 282 element; +#X obj 166 253 b; +#X connect 0 0 2 0; +#X connect 0 1 1 1; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 3 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 1 0; +#X connect 11 0 4 0; +#X restore 158 191 pd dripslow; +#X connect 1 0 7 0; +#X connect 4 0 8 1; +#X connect 6 0 0 0; +#X connect 6 1 8 0; +#X connect 7 0 6 0; +#X connect 7 1 3 0; +#X connect 8 0 2 0; +#X restore 133 139 pd drip-two-lists; +#X obj 113 27 inlet; +#X obj 287 20 inlet; +#X obj 133 167 -; +#X obj 133 195 t f f; +#X obj 133 224 *; +#X obj 134 278 f; +#X obj 133 256 +; +#X msg 196 197 0; +#X obj 118 300 f; +#X obj 119 325 sqrt; +#X obj 118 349 outlet; +#X msg 313 61 1 2 3 5 7 8; +#X msg 134 62 1 2 3 4 5 6; +#X obj 246 99 list; +#X obj 115 98 t b a b b; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 1 0 15 0; +#X connect 2 0 14 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 6 0 9 1; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 12 0 14 1; +#X connect 13 0 15 0; +#X connect 14 0 0 1; +#X connect 15 0 9 0; +#X connect 15 1 0 0; +#X connect 15 2 8 0; +#X connect 15 3 14 0; diff --git a/help/delay_n-help.pd b/help/delay_n-help.pd new file mode 100644 index 0000000..199de01 --- /dev/null +++ b/help/delay_n-help.pd @@ -0,0 +1,18 @@ +#N canvas 811 284 661 510 10; +#X obj 40 36 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4700 1; +#X obj 268 221 pipe 500; +#X obj 138 260 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4700 1; +#X obj 268 263 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4700 1; +#X obj 40 176 resample 25; +#X obj 138 219 delay_n 20; +#X obj 40 262 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4700 1; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 4 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; diff --git a/help/diff_n-help.pd b/help/diff_n-help.pd new file mode 100644 index 0000000..2650e03 --- /dev/null +++ b/help/diff_n-help.pd @@ -0,0 +1,10 @@ +#N canvas 615 164 462 500 10; +#X obj 63 47 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 6500 0; +#X floatatom 63 301 5 0 0 0 - - -; +#X text 145 64 diferentiate of the input; +#X obj 63 218 resample 30; +#X obj 63 265 diff_n 5; +#X connect 0 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; diff --git a/help/distance_n-help.pd b/help/distance_n-help.pd new file mode 100644 index 0000000..8e0ae57 --- /dev/null +++ b/help/distance_n-help.pd @@ -0,0 +1,34 @@ +#N canvas 443 111 675 756 10; +#X obj 54 428 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 396 1; +#X obj 54 96 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4100 1; +#X obj 76 97 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4000 1; +#X obj 76 244 t b f; +#X obj 54 390 distance_n; +#X msg 119 365 0.3 0.3 0.5 0.4; +#X obj 119 342 loadbang; +#X obj 54 279 pack f f f f; +#X obj 116 97 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 6500 1; +#X obj 116 244 t b f; +#X obj 156 97 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 5200 1; +#X obj 156 244 t b f; +#X text 126 29 distance from a point and a stream in nd; +#X text 173 53 n is the min size of the list send on the inlets; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 3 1 7 1; +#X connect 4 0 0 0; +#X connect 5 0 4 1; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 9 1 7 2; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 1 7 3; diff --git a/help/last_n-help.pd b/help/last_n-help.pd new file mode 100644 index 0000000..72d2607 --- /dev/null +++ b/help/last_n-help.pd @@ -0,0 +1,8 @@ +#N canvas 649 496 268 257 10; +#X floatatom 40 56 5 0 0 0 - - -; +#X floatatom 112 77 5 0 0 0 - - -; +#X obj 40 155 print; +#X obj 40 99 last_n 5; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 3 0 2 0; diff --git a/help/local_max-help.pd b/help/local_max-help.pd new file mode 100644 index 0000000..0c3c4b2 --- /dev/null +++ b/help/local_max-help.pd @@ -0,0 +1,8 @@ +#N canvas 552 108 525 298 10; +#X floatatom 22 86 5 0 0 0 - - -; +#X floatatom 22 133 5 0 0 0 - - -; +#X obj 22 109 local_max; +#X text 49 27 give the value of every local maximum whenever there +is a change in direction.; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/help/local_min-help.pd b/help/local_min-help.pd new file mode 100644 index 0000000..49b3694 --- /dev/null +++ b/help/local_min-help.pd @@ -0,0 +1,11 @@ +#N canvas 552 108 535 356 10; +#X floatatom 48 102 5 0 0 0 - - -; +#X floatatom 48 151 5 0 0 0 - - -; +#X obj 48 125 local_min; +#X obj 30 151 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 54 39 gives the value of every local minimum whenever there +is a change in direction; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 2 0 3 0; diff --git a/help/max_n-help.pd b/help/max_n-help.pd new file mode 100644 index 0000000..263931e --- /dev/null +++ b/help/max_n-help.pd @@ -0,0 +1,26 @@ +#N canvas 64 215 518 470 10; +#X floatatom 59 93 5 -20 127 0 - - -; +#X text 60 75 data; +#X obj 59 172 t f f; +#X msg 66 118 0; +#X floatatom 288 231 5 0 0 0 - - -; +#X floatatom 339 182 5 0 0 0 - - -; +#X text 387 180 size: n (n>=2); +#X text 80 39 max_n return the maximum from the last n (n>1) values +; +#X msg 94 118 1; +#X msg 127 118 0.5; +#X floatatom 84 227 5 0 0 0 - - -; +#X obj 59 256 timeroll; +#X obj 267 255 timeroll; +#X obj 267 205 max_n 20; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 2 0 11 0; +#X connect 2 1 13 0; +#X connect 3 0 2 0; +#X connect 5 0 13 1; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 13 0 4 0; +#X connect 13 0 12 0; diff --git a/help/mean_n-help.pd b/help/mean_n-help.pd new file mode 100644 index 0000000..b8eac68 --- /dev/null +++ b/help/mean_n-help.pd @@ -0,0 +1,22 @@ +#N canvas 354 297 821 592 10; +#X obj 68 174 t f f; +#X floatatom 358 195 5 0 0 0 - - -; +#X text 353 172 order: n; +#X text 49 37 Fir_mean_n computes a fir low pass mean filter of order +n; +#X obj 499 307 -; +#X floatatom 68 126 5 0 1 0 - - -; +#X obj 68 148 resample 30; +#X obj 69 336 timeroll; +#X obj 280 333 timeroll; +#X obj 499 335 timeroll; +#X obj 279 220 mean_n 25; +#X connect 0 0 4 0; +#X connect 0 0 7 0; +#X connect 0 1 10 0; +#X connect 1 0 10 1; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 10 0 4 1; +#X connect 10 0 8 0; diff --git a/help/min_n-help.pd b/help/min_n-help.pd new file mode 100644 index 0000000..00a9eb4 --- /dev/null +++ b/help/min_n-help.pd @@ -0,0 +1,24 @@ +#N canvas 397 193 522 474 10; +#X floatatom 40 76 5 0 127 0 - - -; +#X text 41 58 data; +#X obj 40 155 t f f; +#X msg 47 101 0; +#X floatatom 271 249 5 0 0 0 - - -; +#X floatatom 318 197 5 2 150 0 - - -; +#X text 366 195 size: n (n>=2); +#X text 51 32 min_n return the minimum from the last n (n>1) values +; +#X msg 75 101 1; +#X msg 108 101 0.5; +#X obj 40 271 timeroll; +#X obj 246 271 timeroll; +#X obj 246 219 min_n 20; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 2 1 12 0; +#X connect 3 0 2 0; +#X connect 5 0 12 1; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 12 0 4 0; +#X connect 12 0 11 0; diff --git a/last_n.pd b/last_n.pd new file mode 100644 index 0000000..7e3b076 --- /dev/null +++ b/last_n.pd @@ -0,0 +1,21 @@ +#N canvas 417 318 723 395 10; +#X floatatom 356 89 5 0 0 2 change-size - -; +#X obj 326 112 t f b; +#X text 378 110 first reset (b) \, then set new length (f).; +#X text 311 195 Right outlet is responsible to first fill the list +; +#X text 322 217 Left outlet then only lets the smaller list pass.; +#X obj 180 183 list; +#X obj 326 54 inlet; +#X obj 180 149 inlet; +#X obj 180 302 outlet; +#X obj 180 228 list split \$1; +#X connect 0 0 1 0; +#X connect 1 0 9 1; +#X connect 1 1 5 1; +#X connect 5 0 9 0; +#X connect 6 0 1 0; +#X connect 7 0 5 0; +#X connect 9 0 5 1; +#X connect 9 0 8 0; +#X connect 9 2 5 1; diff --git a/local_max.pd b/local_max.pd new file mode 100644 index 0000000..a693300 --- /dev/null +++ b/local_max.pd @@ -0,0 +1,23 @@ +#N canvas 609 111 302 364 10; +#X obj 50 165 > 0; +#X obj 50 244 f; +#X obj 25 101 t f f; +#X obj 50 139 -; +#X obj 50 218 sel 0; +#X obj 67 100 f; +#X obj 25 62 t f f b; +#X obj 50 191 change; +#X obj 50 279 outlet; +#X obj 25 22 inlet; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 3 1; +#X connect 2 1 3 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 1 1; +#X connect 6 0 2 0; +#X connect 6 1 5 1; +#X connect 6 2 5 0; +#X connect 7 0 4 0; +#X connect 9 0 6 0; diff --git a/local_min.pd b/local_min.pd new file mode 100644 index 0000000..b7d57e3 --- /dev/null +++ b/local_min.pd @@ -0,0 +1,23 @@ +#N canvas 552 108 250 310 10; +#X obj 78 218 f; +#X obj 78 140 < 0; +#X obj 53 69 t f f; +#X obj 78 107 -; +#X obj 78 192 sel 0; +#X obj 94 69 f; +#X obj 53 44 t f f b; +#X obj 78 166 change; +#X obj 78 243 outlet; +#X obj 53 16 inlet; +#X connect 0 0 8 0; +#X connect 1 0 7 0; +#X connect 2 0 3 1; +#X connect 2 1 3 0; +#X connect 3 0 1 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 6 0 2 0; +#X connect 6 1 5 1; +#X connect 6 2 5 0; +#X connect 7 0 4 0; +#X connect 9 0 6 0; diff --git a/max_n.pd b/max_n.pd new file mode 100644 index 0000000..6171b23 --- /dev/null +++ b/max_n.pd @@ -0,0 +1,16 @@ +#N canvas 0 0 462 312 10; +#X obj 64 57 inlet; +#X obj 144 56 inlet; +#X obj 64 179 maximum; +#X obj 64 207 outlet; +#X obj 144 120 max 2; +#X obj 160 76 loadbang; +#X obj 160 97 \$1; +#X obj 64 149 last_n; +#X connect 0 0 7 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 4 0 7 1; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 2 0; diff --git a/mean_n.pd b/mean_n.pd new file mode 100644 index 0000000..255c38b --- /dev/null +++ b/mean_n.pd @@ -0,0 +1,29 @@ +#N canvas 248 541 341 340 10; +#X obj 46 26 inlet; +#X obj 125 26 inlet; +#X obj 46 297 outlet; +#X obj 62 130 list split 1; +#X obj 101 153 list; +#X obj 62 178 +; +#X obj 62 203 f; +#X obj 46 85 t b a b; +#X msg 90 109 0; +#X obj 46 230 f; +#X obj 46 263 / \$1; +#X obj 46 57 last_n \$1; +#X connect 0 0 11 0; +#X connect 1 0 10 1; +#X connect 1 0 11 1; +#X connect 3 0 5 0; +#X connect 3 1 4 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 5 1; +#X connect 6 0 9 1; +#X connect 7 0 9 0; +#X connect 7 1 3 0; +#X connect 7 2 8 0; +#X connect 8 0 5 1; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 7 0; diff --git a/min_n.pd b/min_n.pd new file mode 100644 index 0000000..a9315cc --- /dev/null +++ b/min_n.pd @@ -0,0 +1,16 @@ +#N canvas 26 291 365 247 10; +#X obj 64 175 outlet; +#X obj 64 147 minimum; +#X obj 64 27 inlet; +#X obj 144 26 inlet; +#X obj 144 89 max 2; +#X obj 160 46 loadbang; +#X obj 160 66 \$1; +#X obj 64 118 last_n; +#X connect 1 0 0 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 4 0 7 1; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 1 0; diff --git a/pd/curve_exp.pd b/pd/curve_exp.pd index e77d677..a15e6b5 100644 --- a/pd/curve_exp.pd +++ b/pd/curve_exp.pd @@ -1,8 +1,7 @@ -#N canvas 225 325 507 333 10; +#N canvas 225 325 511 337 10; #X obj 37 25 inlet; #X obj 37 262 outlet; #X obj 38 63 moses 0; -#X obj 22 116 abs; #X obj 22 189 * -1; #X obj 22 168 dbtorms; #X obj 22 142 * 100; @@ -13,12 +12,13 @@ #X text 248 296 released under the GNU GPL; #X text 31 282 (C) Copyright 2006 Hans-Christoph Steiner ; +#X obj 22 116 * -1; #X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 7 0; -#X connect 3 0 6 0; -#X connect 4 0 1 0; +#X connect 2 0 12 0; +#X connect 2 1 6 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; #X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 7 0 8 0; -#X connect 8 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 12 0 5 0; diff --git a/pd/delay_n.pd b/pd/delay_n.pd new file mode 100644 index 0000000..243b936 --- /dev/null +++ b/pd/delay_n.pd @@ -0,0 +1,15 @@ +#N canvas 212 243 661 510 10; +#X obj 160 88 t f b; +#X obj 49 86 list; +#X obj 159 50 inlet; +#X obj 49 52 inlet; +#X obj 93 200 outlet; +#X obj 49 131 list split \$1; +#X connect 0 0 5 1; +#X connect 0 1 1 1; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 5 0 1 1; +#X connect 5 1 4 0; +#X connect 5 2 1 1; diff --git a/pd/diff_n.pd b/pd/diff_n.pd new file mode 100644 index 0000000..c3fd06f --- /dev/null +++ b/pd/diff_n.pd @@ -0,0 +1,13 @@ +#N canvas 246 155 294 362 10; +#X obj 59 49 inlet; +#X obj 59 184 outlet; +#X obj 175 93 inlet; +#X obj 59 93 t f f; +#X obj 59 152 -; +#X obj 89 119 delay_n \$1; +#X connect 0 0 3 0; +#X connect 2 0 5 1; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; diff --git a/pd/distance_n.pd b/pd/distance_n.pd new file mode 100644 index 0000000..85f6a70 --- /dev/null +++ b/pd/distance_n.pd @@ -0,0 +1,101 @@ +#N canvas 872 510 450 424 10; +#N canvas 640 117 487 367 drip-two-lists 0; +#X obj 64 243 outlet; +#X obj 64 57 inlet; +#X obj 157 240 outlet; +#X obj 225 242 outlet; +#X obj 321 95 inlet; +#X text 272 240 End; +#X obj 64 156 t a b; +#N canvas 0 0 533 407 drip 0; +#X obj 64 206 list split 1; +#X obj 64 123 until; +#X obj 64 181 list append; +#X obj 194 206 bang; +#X text 146 90 First store list \, then start the loop; +#X text 163 118 "until" bangs its output until told to stop by a "bang" +to its right inlet.; +#X text 182 160 Store the remaining list.; +#X text 239 205 third outlet of "split" tells us to stop.; +#X obj 64 243 outlet; +#X obj 64 57 inlet; +#X text 237 44 From list-help.pd; +#X obj 143 243 outlet; +#X obj 64 86 t b a; +#X connect 0 0 8 0; +#X connect 0 1 2 1; +#X connect 0 2 3 0; +#X connect 0 2 11 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 1 1; +#X connect 9 0 12 0; +#X connect 12 0 1 0; +#X connect 12 1 2 1; +#X restore 64 122 pd drip; +#N canvas 0 0 533 407 dripslow 0; +#X obj 87 232 list split 1; +#X obj 87 207 list append; +#X obj 87 283 outlet; +#X obj 87 83 inlet; +#X obj 166 283 outlet; +#X obj 159 81 inlet; +#X obj 87 118 b; +#X text 202 82 list; +#X text 42 83 bang; +#X text 210 283 EOL; +#X text 28 282 element; +#X obj 166 253 b; +#X connect 0 0 2 0; +#X connect 0 1 1 1; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 3 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 1 0; +#X connect 11 0 4 0; +#X restore 158 191 pd dripslow; +#X connect 1 0 7 0; +#X connect 4 0 8 1; +#X connect 6 0 0 0; +#X connect 6 1 8 0; +#X connect 7 0 6 0; +#X connect 7 1 3 0; +#X connect 8 0 2 0; +#X restore 133 139 pd drip-two-lists; +#X obj 113 27 inlet; +#X obj 287 20 inlet; +#X obj 133 167 -; +#X obj 133 195 t f f; +#X obj 133 224 *; +#X obj 134 278 f; +#X obj 133 256 +; +#X msg 196 197 0; +#X obj 118 300 f; +#X obj 119 325 sqrt; +#X obj 118 349 outlet; +#X msg 313 61 1 2 3 5 7 8; +#X msg 134 62 1 2 3 4 5 6; +#X obj 246 99 list; +#X obj 115 98 t b a b b; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 1 0 15 0; +#X connect 2 0 14 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 6 0 9 1; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 12 0 14 1; +#X connect 13 0 15 0; +#X connect 14 0 0 1; +#X connect 15 0 9 0; +#X connect 15 1 0 0; +#X connect 15 2 8 0; +#X connect 15 3 14 0; diff --git a/pd/last_n.pd b/pd/last_n.pd new file mode 100644 index 0000000..7e3b076 --- /dev/null +++ b/pd/last_n.pd @@ -0,0 +1,21 @@ +#N canvas 417 318 723 395 10; +#X floatatom 356 89 5 0 0 2 change-size - -; +#X obj 326 112 t f b; +#X text 378 110 first reset (b) \, then set new length (f).; +#X text 311 195 Right outlet is responsible to first fill the list +; +#X text 322 217 Left outlet then only lets the smaller list pass.; +#X obj 180 183 list; +#X obj 326 54 inlet; +#X obj 180 149 inlet; +#X obj 180 302 outlet; +#X obj 180 228 list split \$1; +#X connect 0 0 1 0; +#X connect 1 0 9 1; +#X connect 1 1 5 1; +#X connect 5 0 9 0; +#X connect 6 0 1 0; +#X connect 7 0 5 0; +#X connect 9 0 5 1; +#X connect 9 0 8 0; +#X connect 9 2 5 1; diff --git a/pd/local_max.pd b/pd/local_max.pd new file mode 100644 index 0000000..a693300 --- /dev/null +++ b/pd/local_max.pd @@ -0,0 +1,23 @@ +#N canvas 609 111 302 364 10; +#X obj 50 165 > 0; +#X obj 50 244 f; +#X obj 25 101 t f f; +#X obj 50 139 -; +#X obj 50 218 sel 0; +#X obj 67 100 f; +#X obj 25 62 t f f b; +#X obj 50 191 change; +#X obj 50 279 outlet; +#X obj 25 22 inlet; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 3 1; +#X connect 2 1 3 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 1 1; +#X connect 6 0 2 0; +#X connect 6 1 5 1; +#X connect 6 2 5 0; +#X connect 7 0 4 0; +#X connect 9 0 6 0; diff --git a/pd/local_min.pd b/pd/local_min.pd new file mode 100644 index 0000000..b7d57e3 --- /dev/null +++ b/pd/local_min.pd @@ -0,0 +1,23 @@ +#N canvas 552 108 250 310 10; +#X obj 78 218 f; +#X obj 78 140 < 0; +#X obj 53 69 t f f; +#X obj 78 107 -; +#X obj 78 192 sel 0; +#X obj 94 69 f; +#X obj 53 44 t f f b; +#X obj 78 166 change; +#X obj 78 243 outlet; +#X obj 53 16 inlet; +#X connect 0 0 8 0; +#X connect 1 0 7 0; +#X connect 2 0 3 1; +#X connect 2 1 3 0; +#X connect 3 0 1 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 6 0 2 0; +#X connect 6 1 5 1; +#X connect 6 2 5 0; +#X connect 7 0 4 0; +#X connect 9 0 6 0; diff --git a/pd/max_n.pd b/pd/max_n.pd new file mode 100644 index 0000000..6171b23 --- /dev/null +++ b/pd/max_n.pd @@ -0,0 +1,16 @@ +#N canvas 0 0 462 312 10; +#X obj 64 57 inlet; +#X obj 144 56 inlet; +#X obj 64 179 maximum; +#X obj 64 207 outlet; +#X obj 144 120 max 2; +#X obj 160 76 loadbang; +#X obj 160 97 \$1; +#X obj 64 149 last_n; +#X connect 0 0 7 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 4 0 7 1; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 2 0; diff --git a/pd/mean_n.pd b/pd/mean_n.pd new file mode 100644 index 0000000..255c38b --- /dev/null +++ b/pd/mean_n.pd @@ -0,0 +1,29 @@ +#N canvas 248 541 341 340 10; +#X obj 46 26 inlet; +#X obj 125 26 inlet; +#X obj 46 297 outlet; +#X obj 62 130 list split 1; +#X obj 101 153 list; +#X obj 62 178 +; +#X obj 62 203 f; +#X obj 46 85 t b a b; +#X msg 90 109 0; +#X obj 46 230 f; +#X obj 46 263 / \$1; +#X obj 46 57 last_n \$1; +#X connect 0 0 11 0; +#X connect 1 0 10 1; +#X connect 1 0 11 1; +#X connect 3 0 5 0; +#X connect 3 1 4 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 5 1; +#X connect 6 0 9 1; +#X connect 7 0 9 0; +#X connect 7 1 3 0; +#X connect 7 2 8 0; +#X connect 8 0 5 1; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 7 0; diff --git a/pd/min_n.pd b/pd/min_n.pd new file mode 100644 index 0000000..a9315cc --- /dev/null +++ b/pd/min_n.pd @@ -0,0 +1,16 @@ +#N canvas 26 291 365 247 10; +#X obj 64 175 outlet; +#X obj 64 147 minimum; +#X obj 64 27 inlet; +#X obj 144 26 inlet; +#X obj 144 89 max 2; +#X obj 160 46 loadbang; +#X obj 160 66 \$1; +#X obj 64 118 last_n; +#X connect 1 0 0 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 4 0 7 1; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 1 0; -- cgit v1.2.1