#N canvas 362 124 449 388 10; #X obj 14 15 ctlin 19; #X floatatom 304 56 5 0 0 0 - - -; #X obj 36 348 noteout 1; #X obj 14 144 i; #X floatatom 311 224 5 0 0 0 - - -; #X obj 14 308 poly 1 1; #X obj 14 175 change; #X obj 14 284 bondo; #X obj 14 57 / 127; #X obj 304 78 ctlout 1 1; #X obj 123 58 hsl 128 15 1 5 0 0 empty empty octaves -2 -6 0 10 -262144 -1 -1 0 1; #X floatatom 87 60 5 0 0 0 - - -; #X obj 120 76 i; #X obj 119 166 vradio 15 1 0 2 empty empty scale_select 0 -6 0 10 -262144 -1 -1 0; #X text 136 164 MAJOR; #X text 136 180 MINOR; #N canvas 561 109 330 334 DeltaScale 0; #X obj 43 83 % 12; #X obj 28 178 +; #X obj 43 128 tabread major_delta; #X obj 16 152 buddy; #X obj 43 55 clip 0 127; #X obj 43 27 inlet; #X obj 28 206 outlet; #X obj 187 15 inlet; #X obj 187 41 route 0 1; #X msg 187 74 set major_delta; #X msg 212 96 set minor_delta; #X floatatom 50 108 5 0 0 0 - - -; #X floatatom 57 153 5 0 0 0 - - -; #X text 3 -3 constrain input notes to scales; #N canvas 0 0 450 300 graph1 0; #X array major_delta 12 float 3; #A 0 0 1 0 1 0 0 1 0 1 0 1 0; #X coords 0 1 12 -1 20 14 1; #X restore 242 246 graph; #X msg 10 236 \; major_delta 0 0 1 0 1 0 0 1 0 1 0 1 0; #N canvas 0 0 450 300 graph1 0; #X array minor_delta 12 float 3; #A 0 0 1 0 0 1 0 1 0 0 1 0 1; #X coords 0 1 12 -1 20 14 1; #X restore 240 288 graph; #X msg 10 277 \; minor_delta 0 0 1 0 0 1 0 1 0 0 1 0 1; #X connect 0 0 2 0; #X connect 0 0 11 0; #X connect 1 0 6 0; #X connect 2 0 3 1; #X connect 2 0 12 0; #X connect 3 0 1 0; #X connect 3 1 1 1; #X connect 4 0 0 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 8 1 10 0; #X connect 9 0 2 0; #X connect 10 0 2 0; #X restore 14 200 pd DeltaScale; #X obj 168 236 hsl 128 15 24 103 0 0 empty empty root_note -2 -6 0 10 -262144 -1 -1 0 1; #X floatatom 132 237 5 0 0 0 - - -; #X obj 165 253 i; #X obj 14 251 +; #X obj 311 201 ctlin 21; #X obj 304 32 ctlin 20; #X obj 14 110 * 8; #X text 40 112 octaves; #X obj 14 226 change; #X obj 102 325 pack f f; #X obj 102 347 print; #N canvas 21 61 486 326 new_pass_once 0; #X obj 131 51 route 0; #X obj 170 104 spigot; #X obj 131 169 outlet; #X obj 131 13 inlet; #X msg 131 79 0; #X obj 203 52 counter; #X obj 203 77 == 1; #X text 259 1 pass first number; #X text 259 14 block changes after first number; #X text 258 26 output zero when it's received; #X obj 170 126 clip 40 127; #X text 254 127 post processing; #X text 247 87 pass first number; #X text 12 79 always output zero; #X connect 0 0 4 0; #X connect 0 1 1 0; #X connect 1 0 10 0; #X connect 3 0 0 0; #X connect 3 0 5 0; #X connect 4 0 2 0; #X connect 4 0 5 3; #X connect 5 0 6 0; #X connect 6 0 1 1; #X connect 10 0 2 0; #X restore 311 267 pd new_pass_once; #X obj 87 79 * 12; #X text 301 12 map y-axis to modwheel; #X text 11 -1 map x-axis to notes; #X text 310 184 map pressure to velo; #X text 270 363 2008 - Phill Phelps (zenpho); #X connect 0 0 8 0; #X connect 1 0 9 0; #X connect 3 0 6 0; #X connect 4 0 28 0; #X connect 5 1 26 0; #X connect 5 1 2 0; #X connect 5 2 26 1; #X connect 5 2 2 1; #X connect 6 0 16 0; #X connect 7 0 5 0; #X connect 7 1 5 1; #X connect 8 0 23 0; #X connect 10 0 12 0; #X connect 11 0 29 0; #X connect 12 0 11 0; #X connect 13 0 16 1; #X connect 16 0 25 0; #X connect 17 0 19 0; #X connect 18 0 20 1; #X connect 19 0 18 0; #X connect 20 0 7 0; #X connect 21 0 4 0; #X connect 22 0 1 0; #X connect 23 0 3 0; #X connect 25 0 20 0; #X connect 26 0 27 0; #X connect 28 0 7 1; #X connect 29 0 23 1;