[PD] scale~ and slide~

Orm Finnendahl orm.finnendahl at selma.hfmdk-frankfurt.de
Sun Nov 27 12:50:01 CET 2022


Hi List,

 as I couldn't find pd abstractions mimicking the behaviour of Max's
slide~ and scale~ objects (with the separation of slide-up and
slide-down values in slide~ and the enhanced exponential mapping of
scale~) I rolled my own and attach it for your convenience and future
reference in the ML archives. If the attachment are filtered out you
can also download them here:

https://www.selma.hfmdk-frankfurt.de/selmafile/f/e5c9904aff3640089ac8/
https://www.selma.hfmdk-frankfurt.de/selmafile/f/9c8a8513c6874024bf20/

No help files provided as you can find them online in the Max 8
reference:

https://docs.cycling74.com/max8/refpages/slide~
https://docs.cycling74.com/max8/refpages/scale~

--
Orm

-------------- next part --------------
#N canvas 719 12 1180 711 12;
#X obj 60 86 inlet~;
#X obj 649 89 inlet scaling_curve;
#X obj 649 114 f \$5;
#X obj 649 139 moses 0;
#X obj 649 168 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X msg 649 188 1;
#X floatatom 649 213 5 0 0 0 - - - 0;
#X obj 277 12 loadbang;
#X floatatom 533 214 5 0 0 0 - - - 0;
#X obj 533 115 f \$4;
#X floatatom 433 217 5 0 0 0 - - - 0;
#X floatatom 327 218 5 0 0 0 - - - 0;
#X floatatom 227 221 5 0 0 0 - - - 0;
#X obj 227 122 f \$1;
#X obj 327 119 f \$2;
#X obj 433 118 f \$3;
#X obj 59 383 /~;
#X obj 114 322 -;
#X obj 227 150 t b f;
#X obj 277 39 t b b b b b;
#X obj 59 419 expr~ if ($v1==0 \, $f2 \, 0);
#X floatatom 121 354 5 0 0 0 - - - 0;
#X obj 85 561 +~;
#X obj 86 597 +~;
#X obj 86 622 outlet~;
#X obj 227 89 inlet in_low;
#X obj 327 89 inlet in_high;
#X obj 433 89 inlet out_low;
#X obj 533 89 inlet out_high;
#X obj 114 453 expr~ if ($v1>0 \, $f3+(($f4-$f3)*pow($v1 \, $f5)) \,
0);
#X obj 185 484 expr~ if ($v1<0 \, $f3+(($f4-$f3)*-1*pow($v1*-1 \, $f5))
\, 0);
#X connect 0 0 16 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 6 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 29 4;
#X connect 6 0 30 4;
#X connect 7 0 19 0;
#X connect 8 0 29 3;
#X connect 8 0 30 3;
#X connect 9 0 8 0;
#X connect 10 0 20 1;
#X connect 10 0 29 2;
#X connect 10 0 30 2;
#X connect 11 0 17 0;
#X connect 12 0 17 1;
#X connect 13 0 18 0;
#X connect 14 0 11 0;
#X connect 15 0 10 0;
#X connect 16 0 20 0;
#X connect 16 0 29 0;
#X connect 16 0 30 0;
#X connect 17 0 16 1;
#X connect 17 0 21 0;
#X connect 18 0 11 0;
#X connect 18 1 12 0;
#X connect 19 0 14 0;
#X connect 19 1 13 0;
#X connect 19 2 15 0;
#X connect 19 3 9 0;
#X connect 19 4 2 0;
#X connect 20 0 22 0;
#X connect 21 0 29 1;
#X connect 21 0 30 1;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 25 0 13 0;
#X connect 26 0 14 0;
#X connect 27 0 15 0;
#X connect 28 0 9 0;
#X connect 29 0 22 1;
#X connect 30 0 23 1;
-------------- next part --------------
#N canvas 690 2 496 196 12;
#N canvas 690 260 509 601 sub-slide~ 1;
#X obj 58 30 block~ 1 1 1;
#X obj 57 87 inlet~;
#X obj 57 54 table \$0-n 1;
#X obj 115 89 tabreceive~ \$0-n;
#X obj 89 525 tabsend~ \$0-n;
#X obj 59 567 outlet~;
#X obj 250 290 sig~;
#X obj 317 291 sig~;
#X obj 56 347 -~;
#X text 149 112 y(n-1);
#X obj 57 426 /~;
#X obj 58 485 +~, f 5;
#X obj 250 90 inlet slide-up;
#X obj 364 90 inlet slide-down;
#X text 114 487 y(n-1) + ((x(n) - y(n-1)) / slide);
#X obj 118 348 expr~ if ($v1<=$v2 \, $v3 \, $v4);
#X obj 272 124 loadbang;
#X obj 250 169 f \$1;
#X msg 250 239 1;
#X floatatom 250 264 5 0 0 0 - - - 0;
#X msg 317 242 1;
#X floatatom 317 267 5 0 0 0 - - - 0;
#X obj 317 169 f \$2;
#X obj 250 195 moses 0;
#X obj 317 194 moses 0;
#X obj 250 221 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 317 221 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X text 14 111 x(n);
#X connect 1 0 15 0;
#X connect 1 0 8 0;
#X connect 3 0 15 1;
#X connect 3 0 8 1;
#X connect 3 0 11 1;
#X connect 6 0 15 2;
#X connect 7 0 15 3;
#X connect 8 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 17 0;
#X connect 13 0 22 0;
#X connect 15 0 10 1;
#X connect 16 0 17 0;
#X connect 16 0 22 0;
#X connect 17 0 23 0;
#X connect 18 0 19 0;
#X connect 19 0 6 0;
#X connect 20 0 21 0;
#X connect 21 0 7 0;
#X connect 22 0 24 0;
#X connect 23 0 25 0;
#X connect 23 1 19 0;
#X connect 24 0 26 0;
#X connect 24 1 21 0;
#X connect 25 0 18 0;
#X connect 26 0 20 0;
#X restore 62 90 pd sub-slide~;
#X obj 63 36 inlet~;
#X obj 63 143 outlet~;
#X obj 113 36 inlet slide-up;
#X obj 226 36 inlet slide-down;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 0 2;


More information about the Pd-list mailing list