#N canvas 634 348 586 334 10; #X obj 77 113 line 0 1; #X obj 77 133 int; #X obj 77 199 list prepend; #X text 182 218 by taking the difference of the pair here and using a dripslow driven by a delay running at (linegrainrate/difference) smoothness can be maintained.; #X obj 238 37 inlet; #X obj 77 37 inlet; #X obj 77 290 outlet; #X obj 77 89 list append 50; #X text 182 281 replace with list-range>list-drip for a probably less taxing "instantaneous" range between grains; #X obj 77 254 t a a; #X text 182 104 rethinking: is line actually necessary? might be able to build the whole thing with [del] and avoid duplicate numbers. for now: added a [change] object in [pd smooth-range]; #X obj 77 153 change; #N canvas 0 22 589 383 smooth_range 0; #X obj 170 152 unpack f f; #X obj 95 253 del; #X obj 170 174 expr $f3 / abs($f1 - $f2); #X msg 317 152 1; #X msg 317 131 line grain rate; #X obj 317 110 loadbang; #X obj 128 253 list-dripslow; #X obj 128 283 t b a; #X obj 128 227 t b a; #X obj 128 121 t a a; #X obj 128 203 list-range; #X obj 128 65 inlet; #X obj 155 334 outlet; #X obj 155 309 change; #N canvas 155 478 450 300 extend_range_for_list-range 0; #X obj 119 63 t a a; #X obj 119 29 inlet; #X obj 146 97 <; #X obj 146 122 expr ($f1 * 2) - 1; #X obj 119 177 list-add; #X msg 146 152 0 \$1; #X obj 119 222 outlet; #X connect 0 0 4 0; #X connect 0 1 2 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X restore 128 92 pd extend_range_for_list-range; #X connect 0 0 2 0; #X connect 0 1 2 1; #X connect 1 0 6 0; #X connect 2 0 1 1; #X connect 3 0 2 2; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 1 0; #X connect 7 1 13 0; #X connect 8 0 6 0; #X connect 8 1 6 1; #X connect 9 0 10 0; #X connect 9 1 0 0; #X connect 10 0 8 0; #X connect 11 0 14 0; #X connect 13 0 12 0; #X connect 14 0 9 0; #X restore 77 228 pd smooth_range; #X connect 0 0 1 0; #X connect 1 0 11 0; #X connect 2 0 12 0; #X connect 4 0 7 1; #X connect 5 0 7 0; #X connect 7 0 0 0; #X connect 9 0 2 1; #X connect 9 1 6 0; #X connect 11 0 2 0; #X connect 12 0 9 0;