#N canvas 0 0 750 403 10;
#X floatatom 68 155 5 0 0 0 - - -;
#X floatatom 68 220 5 0 0 0 - - -;
#X obj 66 99 metro 30;
#X obj 261 31 cnv 10 10 179 empty cnv_scale empty 20 12 0 14 -232576
-66577 0;
#X obj 68 249 t b f;
#X msg 63 275 10;
#X obj 64 74 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X msg 64 53 1;
#X obj 64 34 loadbang;
#X obj 66 128 random 50;
#X obj 158 159 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 57 315 pack f f;
#X obj 67 189 autoscaler 100 200;
#X msg 59 342 \; cnv_scale vis_size \$1 \$2;
#X text 144 141 reset;
#X text 321 20 The autoscaler will accept any input values \, but will
always output values from the minimum and maximum given by its creation
arguments. It will gradually "learn" the input range and scale subsequent
values accordingly. If the input range of values is fixed \, it can
be trained easily by sending it the minimum value expected and the
maximum value. All subsequent numbers will the be scaled linearly to
fit within the minimum and maximum values specified as the creation
arguments to the [autoscaler] abstraction.;
#X text 319 144 (c) 2010 Edward Kelly (but BSD license of course \,
so USE IT \; );
#X connect 0 0 12 0;
#X connect 1 0 4 0;
#X connect 2 0 9 0;
#X connect 4 0 5 0;
#X connect 4 1 11 1;
#X connect 5 0 11 0;
#X connect 6 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X connect 9 0 0 0;
#X connect 10 0 12 1;
#X connect 11 0 13 0;
#X connect 12 0 1 0;
