pd-experiments/scale-thing.pd

136 lines
3.1 KiB
Plaintext

#N canvas 635 134 972 740 12;
#N canvas 1287 785 450 250 (subpatch) 0;
#X array scale 8 float 3;
#A 0 2 2 1 2 2 2 1 1;
#X coords 0 0 8 12 200 140 1 0 0;
#X restore 594 89 graph;
#X obj 201 564 noteout;
#X floatatom 273 555 5 0 0 0 - - -;
#X obj 255 299 + 2;
#X obj 217 271 t f f f;
#X obj 466 291 + 4;
#X obj 150 414 +;
#X obj 169 322 t f f;
#X obj 352 390 tabread scale;
#X obj 301 385 * 12;
#X obj 301 411 +;
#X obj 320 319 t f f;
#X obj 498 390 tabread scale;
#X obj 466 319 t f f;
#X obj 456 416 +;
#X obj 201 509 makenote 127 200;
#X obj 452 389 * 12;
#X obj 201 367 mod 7;
#X obj 301 360 div 7;
#X obj 352 364 mod 7;
#X obj 452 364 div 7;
#X obj 498 364 mod 7;
#X obj 471 558 array set scale;
#X text 570 532 major;
#X obj 83 36 grid;
#X obj 115 94 route 1;
#X obj 115 119 unpack f f;
#X obj 217 202 spigot;
#X msg 149 9 connect;
#X obj 201 459 + 60;
#X obj 256 174 < 7;
#X obj 27 13 r grid;
#X msg 9 97 set \$2 \$3 \$1;
#X obj 9 122 s grid;
#X text 235 485 root;
#X obj 182 154 t f f;
#X obj 83 61 t a a;
#X text 232 10 thingy for playing chords. TODO more scales \, chord
types \, inversions \, extensions \, chromatic notes \, the fun chord
stuff. Also better interface.;
#X obj 201 484 + 0;
#X msg 471 532 2 2 1 2 2 2 1;
#N canvas 750 277 916 709 get-note 1;
#X msg 205 142 0;
#X obj 163 142 until;
#X obj 163 167 f;
#X obj 163 192 + 1;
#X obj 195 263 - 1;
#X obj 195 288 tabread scale;
#X obj 195 343 +;
#X obj 195 368 t f f;
#X obj 177 396 f;
#X obj 177 421 t f b;
#X msg 222 421 0;
#X obj 163 217 t f f;
#X obj 163 276 sel;
#X obj 173 114 t b f b f, f 12;
#X obj 141 53 inlet scale_degree;
#X obj 126 462 outlet;
#X obj 141 78 sel 0;
#X msg 127 169 0;
#X obj 195 313 - 1;
#X text 5 12 TODO clean this bullshit up \, comment it \, and add inversions
to it;
#X connect 0 0 2 1;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 2 1;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 6 0 7 0;
#X connect 7 0 8 1;
#X connect 7 1 6 1;
#X connect 8 0 9 0;
#X connect 9 0 15 0;
#X connect 9 1 10 0;
#X connect 10 0 7 0;
#X connect 11 0 12 0;
#X connect 11 1 4 0;
#X connect 12 0 8 0;
#X connect 13 1 1 0;
#X connect 13 2 0 0;
#X connect 13 3 12 1;
#X connect 14 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 13 0;
#X connect 17 0 15 0;
#X connect 18 0 6 0;
#X restore 196 396 pd get-note;
#X connect 2 0 1 2;
#X connect 3 0 11 0;
#X connect 4 0 7 0;
#X connect 5 0 13 0;
#X connect 6 0 29 0;
#X connect 7 0 6 0;
#X connect 7 1 17 0;
#X connect 8 0 10 1;
#X connect 9 0 10 0;
#X connect 10 0 29 0;
#X connect 11 0 18 0;
#X connect 11 1 19 0;
#X connect 12 0 14 1;
#X connect 13 0 20 0;
#X connect 13 1 21 0;
#X connect 14 0 29 0;
#X connect 15 0 1 0;
#X connect 15 1 1 1;
#X connect 16 0 14 0;
#X connect 17 0 40 0;
#X connect 18 0 9 0;
#X connect 19 0 8 0;
#X connect 20 0 16 0;
#X connect 21 0 12 0;
#X connect 24 0 36 0;
#X connect 25 0 26 0;
#X connect 26 0 35 0;
#X connect 27 0 4 0;
#X connect 28 0 24 0;
#X connect 29 0 38 0;
#X connect 30 0 27 1;
#X connect 31 0 24 0;
#X connect 32 0 33 0;
#X connect 35 0 27 0;
#X connect 35 1 30 0;
#X connect 36 0 32 0;
#X connect 36 1 25 0;
#X connect 38 0 15 0;
#X connect 39 0 22 0;
#X connect 40 0 6 1;