#N canvas 446 132 755 545 10; #X obj 242 229 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 74 261 bng 15 250 50 0 empty empty go- 17 7 0 10 #fcfcfc #000000 #000000; #X msg 74 330 0; #X obj 193 441 print; #X obj 339 406 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 339 260 loadbang; #X obj 339 426 print done; #N canvas 0 50 450 250 (subpatch) 0; #X array abc 10 float 3; #A 0 0.885708 0.785709 0.471426 0.0428596 -0.299994 -0.642848 -0.357136 0.514283 0.185715 -0.0571394; #X coords 0 1 10 -1 100 100 1 0 0; #X restore 19 25 graph; #X obj 242 206 loadbang; #X text 72 311 stop!; #X obj 146 306 riff2_random; #X msg 339 283 4501 0 900 500 1000; #X text 195 46 riff2_random; #X msg 242 252 abc; #X text 311 206 second of all \, setup an arrayname to play this can be changed at any time.; #X text 20 175 third of all \, press bang to play delay between values will be a random amount in between delayMin ~ delayMax (milliseconds), f 31; #X text 20 360 send [0 ( message to stop, f 18; #X text 256 458 outputs are 1) cooked NOTE message \, 2) raw index \, 3) raw values \, 4) a bang that triggers when playback is done., f 47; #X text 386 306 first of all \, setup with a list of parameters /id /motor# /range /delayMin /delayMax; #X obj 376 342 cnv 16 335 62 empty empty empty 20 12 0 10 #c6ffc7 #404040 0; #X text 386 347 /range is a multiplier to control the intensity of motions. it is useful if you are already satisfied with your pattern \, but only want to change intensity. so leave array un-touched \, try to update /range., f 53; #X connect 0 0 13 0; #X connect 1 0 10 0; #X connect 2 0 10 0; #X connect 4 0 6 0; #X connect 5 0 11 0; #X connect 8 0 0 0; #X connect 10 0 3 0; #X connect 10 1 3 0; #X connect 10 2 3 0; #X connect 10 3 4 0; #X connect 11 0 10 2; #X connect 13 0 10 1;