#N canvas 515 25 670 581 10; #X obj 10 361 mtof; #X msg 240 51 0 2 4 5 7 9 11; #X text 337 52 major; #X msg 251 74 0 1 4 5 7 8 11; #X msg 263 97 0 2 4 6 7 9 10; #X msg 274 119 0 2 3 5 7 8 11; #X msg 297 164 0 2 4 6 8 10; #X msg 307 186 0 2 3 5 6 8 9 11; #X msg 327 252 0 0.5 1 1.5 2 2.5 3 3.5 4; #X text 349 74 middle-east-like minor; #X text 360 98 lydian-dominant (jazzy); #X text 372 121 harmonic minor; #X msg 285 142 0 2 3 4 5 6 7 9 10 11; #X text 423 142 chromatic blues; #X text 383 166 whole-tones scale; #X text 415 187 diminished scale; #X msg 315 208 0 2 4 7 9; #X text 383 209 pentatonic; #X text 415 229 pentatonic blues; #X msg 323 230 0 2 3 4 7 8 9; #X msg 332 274 0 0.33 0.66 1 1.33 1.66 2; #X msg 374 421 60 61 62 63 64 65 66 67 68 69 70 71 72; #X obj 373 443 t a b; #X msg 425 509 set; #X msg 373 531 60 62 62 63.1 65 65 67 67 69 69 70 72 72; #X msg 373 508 add2 \$1; #X obj 373 465 zexy/drip; #X msg 520 465 0 2 3.1 5 7 9 10; #X msg 338 297 0 1.5 3 4.5 6 7.5 9 10.5; #X text 53 375 Argument: the list of the current chord.; #X text 7 8 Description: Rounds an incoming MIDI note to a note listed in a given chord or scale.; #X text 53 361 inlets: note offset to play \, scale/chord list (any length); #X text 5 61 Author: Alexandre Quessy (c) 2006; #X text 494 250 tests; #X floatatom 339 322 5 0 0 0 - - -; #X obj 10 383 osc~; #X obj 10 314 + 60; #X obj 9 409 mtl/out~; #X text 9 479 Of course \, if you use several [closestNote] objects at a time with the same scale and key \, you will be able to compose a realtime symphony. It will always be continuous if you use scales with the same number of notes. Also \, it will prevent the notes from being too high.; #X text 7 40 tags: musical; #X obj 240 341 mtl/transpose; #X obj 10 337 mtl/closestNote 0 2 4 7 9; #X obj 373 487 mtl/closestNote 0 2 4 7 9; #X obj 10 270 t b; #X obj 10 292 iemlib/modulo_counter 14 0; #X obj 11 96 mtl/clkMaster 120; #X obj 10 178 loadbang; #X obj 10 207 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 10 232 mtl/clkSlave 4; #X connect 0 0 35 0; #X connect 1 0 40 0; #X connect 3 0 40 0; #X connect 4 0 40 0; #X connect 5 0 40 0; #X connect 6 0 40 0; #X connect 7 0 40 0; #X connect 8 0 40 0; #X connect 12 0 40 0; #X connect 16 0 40 0; #X connect 19 0 40 0; #X connect 20 0 40 0; #X connect 21 0 22 0; #X connect 22 0 26 0; #X connect 22 1 23 0; #X connect 23 0 24 0; #X connect 25 0 24 0; #X connect 26 0 42 0; #X connect 27 0 42 1; #X connect 28 0 40 0; #X connect 34 0 40 1; #X connect 35 0 37 0; #X connect 35 0 37 1; #X connect 36 0 41 0; #X connect 40 0 41 1; #X connect 41 0 0 0; #X connect 42 0 25 0; #X connect 43 0 44 0; #X connect 44 0 36 0; #X connect 46 0 47 0; #X connect 47 0 48 0; #X connect 48 0 43 0;