#N canvas 102 153 701 364 10; #X obj 18 24 cnv 15 300 95 empty empty empty 20 12 0 14 -241339 -66577 0; #X obj 326 -1 cnv 15 360 120 empty empty [+] -2 12 0 24 -236926 -66577 0; #X obj 326 130 cnv 15 360 120 empty empty [-] -2 12 0 24 -236926 -66577 0; #X obj 573 64 + 5; #X obj 573 196 - 5; #X obj 573 44 float; #X obj 573 176 float; #X text 609 37 ; #X text 332 195 For larger/smaller jumps \, change this >; #X obj 3 158 cnv 15 165 22 empty empty empty 20 12 0 14 -232765 -66577 0; #X obj 3 144 cnv 10 153 13 empty empty empty 20 12 0 14 -249536 -66577 0; #X obj 3 181 cnv 15 153 19 empty empty empty 20 12 0 14 -211837 -66577 0; #X obj 141 144 bng 27 150 50 0 \$0-plus_bang \$0-(hide-plus-outlet) + 6 13 0 28 -127033 -203453 -262144; #X obj 141 173 bng 27 150 50 0 \$0-minus_bang \$0-(hide_minus_inlet) _ 6 -2 0 28 -127033 -203453 -262144; #X obj 26 159 nbx 6 20 10 60000 0 0 \$0-bpmvalue \$0-new_bpm bpm -17 -10 0 19 -65565 -262130 -45076 100 256; #X obj 6 161 bng 16 250 50 0 \$0-user_bang \$0-flashbang empty 17 7 0 10 -262144 -53272 -1; #X obj 4 332 outlet; #X obj 26 182 nbx 6 16 1 6000 0 0 \$0-ms_to_conversion \$0-new_ms ms 92 8 0 15 -232829 -45076 -83233 600 256; #X obj 26 31 loadbang; #X msg 26 91 100; #X obj 0 226 cnv 15 159 30 empty empty empty 20 12 0 14 -4034 -66577 0; #N canvas 378 87 628 341 metro_and_conversions 0; #X obj -238 219 outlet; #X obj -155 33 t b f; #X msg -211 50 60000; #X obj -211 95 /; #X msg -4 112 set \$1; #X obj 162 -5 receive \$0-ms_to_conversion; #X obj 162 33 t b f; #X obj 106 95 /; #X msg 106 50 60000; #X text -175 112 stack overflow prevention >; #X obj -245 136 cnv 15 50 32 empty empty empty 20 12 0 14 -4034 -66577 0; #X obj -238 143 metro; #X obj -155 138 cnv 15 244 30 empty empty empty 20 12 0 14 -245184 -66577 0; #X text -147 144 sends ms (to ms nbx) >; #X obj 100 138 cnv 15 255 30 empty empty empty 20 12 0 14 -245184 -66577 0; #X text 203 144 < sends bpm (to bpm nbx); #X obj -151 61 cnv 15 137 35 empty empty empty 20 12 0 14 -228856 -66577 0; #X text -139 75 60000 / bpm = ms; #X text -149 60 Conversion: bpm to ms; #X obj 166 61 cnv 15 137 35 empty empty empty 20 12 0 14 -228856 -66577 0; #X text 180 75 60000 / ms = bpm; #X text 168 60 Conversion: ms to bpm; #X obj -4 144 send \$0-new_ms; #X obj 106 144 send \$0-new_bpm; #X obj -247 -55 cnv 15 200 30 empty empty empty 20 12 0 14 -256409 -66577 0; #X obj -238 -96 inlet; #X obj -155 -95 inlet; #N canvas 408 95 571 258 message_diversity_manager 0; #X obj -23 187 cnv 15 113 32 empty empty empty 20 12 0 14 -4034 -66577 0; #X obj -26 12 cnv 15 285 60 empty empty empty 20 12 0 14 -256409 -66577 0; #X obj -16 -18 inlet; #X obj -16 193 outlet to_metro; #X obj 98 108 unpack; #X text -5 11 ROUTE (in "selector mode"); #X text -25 45 stop; #X text 8 46 bang; #X obj 281 185 cnv 15 200 35 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 289 193 outlet to_ms_to_bpm_conversion; #X msg -16 108 stop; #X obj -16 30 route stop bang float list; #X text 43 46 float; #X text 87 46 list; #X text 142 108 < splits "ON/OFF&ms" lists \, e.g. [1 500( or [0 500(. ; #X text 145 38 <···reject outlet.; #X connect 2 0 11 0; #X connect 4 0 3 0; #X connect 4 1 9 0; #X connect 10 0 3 0; #X connect 11 0 10 0; #X connect 11 1 3 0; #X connect 11 2 3 0; #X connect 11 3 4 0; #X connect 11 4 3 0; #X restore -238 -49 pd message_diversity_manager; #X connect 1 0 2 0; #X connect 1 1 3 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 11 1; #X connect 4 0 22 0; #X connect 5 0 6 0; #X connect 6 0 8 0; #X connect 6 1 7 1; #X connect 7 0 23 0; #X connect 8 0 7 0; #X connect 11 0 0 0; #X connect 25 0 27 0; #X connect 26 0 1 0; #X connect 27 0 11 0; #X connect 27 1 6 0; #X restore 4 232 pd metro_and_conversions; #X obj 19 264 send \$0-flashbang; #X obj 465 5 receive \$0-plus_bang; #X obj 459 137 receive \$0-minus_bang; #X obj 573 224 send \$0-new_bpm; #X obj 573 92 send \$0-new_bpm; #X obj 4 -1 inlet; #X obj 137 -1 inlet; #X obj 26 51 f \$1; #X obj 26 71 sel 0; #X floatatom 6 182 1 0 0 0 - - -; #X obj 19 300 r \$0-user_bang; #X text 84 72 when the user doesn't; #X text 84 82 specify a (bpm); #X text 84 92 creation argument.; #X text 84 62 defaults to this; #X obj 76 142 bng 15 250 50 0 \$0-taptempo \$0-(hide-tap-outlet) TAP 20 8 0 11 -262130 -2753 -1; #X obj 198 164 cnv 15 90 30 empty empty empty 20 12 0 14 -257955 -66577 0; #N canvas 352 0 435 557 taptempo 0; #X obj 45 0 inlet; #X obj 90 530 outlet; #X msg 96 135 bang; #X msg -6 135 bang; #X obj 30 191 timer; #X floatatom 30 219 8 0 0 0 - - -; #X obj 45 24 f; #X obj 77 24 + 1; #X floatatom 45 64 0 0 0 0 - - -; #X obj 45 44 mod 2; #X obj 25 97 sel 0; #X obj 66 98 sel 1; #X obj 251 269 /; #X msg 207 252 60000; #X obj 251 235 t b f; #X floatatom 251 300 8 0 0 0 - - -; #X text 84 218 ms; #X obj 90 316 trigger f f; #X obj 90 336 t f b; #X obj 90 368 f; #X obj 90 388 +; #X obj 90 408 / 2; #X floatatom 90 434 8 0 0 0 - - -; #X text 127 136 < gets elapsed logical time.; #X text 24 134 < resets.; #X text 292 234 < conversion to bpm.; #X text 13 316 averaging >; #X text 150 433 < average bpm.; #X obj 90 453 i; #X text 114 453 < drops decimal places.; #X text 91 45 < alternates between 1 and 0; #X connect 0 0 6 0; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 14 0; #X connect 6 0 7 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 8 0 10 0; #X connect 8 0 11 0; #X connect 9 0 8 0; #X connect 10 0 3 0; #X connect 11 0 2 0; #X connect 12 0 15 0; #X connect 13 0 12 0; #X connect 14 0 13 0; #X connect 14 1 12 1; #X connect 15 0 17 0; #X connect 17 0 18 0; #X connect 17 1 20 1; #X connect 18 0 19 1; #X connect 18 1 19 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 28 0; #X connect 28 0 1 0; #X restore 207 170 pd taptempo; #X obj 207 143 r \$0-taptempo; #X text 57 92 <---; #X connect 3 0 32 0; #X connect 4 0 31 0; #X connect 5 0 3 0; #X connect 6 0 4 0; #X connect 9 0 5 1; #X connect 10 0 6 1; #X connect 20 0 27 1; #X connect 24 0 35 0; #X connect 25 0 20 0; #X connect 27 0 28 0; #X connect 27 0 22 0; #X connect 29 0 5 0; #X connect 30 0 6 0; #X connect 33 0 27 0; #X connect 34 0 20 0; #X connect 35 0 36 0; #X connect 36 0 25 0; #X connect 36 1 20 0; #X connect 37 0 27 0; #X connect 38 0 22 0; #X connect 45 0 20 0; #X connect 46 0 45 0; #X coords 0 -1 1 1 171 63 2 0 140;