pd-experiments/4ths-keyboard-refactor.pd

108 lines
2.8 KiB
Plaintext

#N canvas 471 109 1051 855 12;
#X obj 142 173 grid;
#X msg 65 153 connect;
#X obj 49 325 pack f f f;
#X msg 49 350 set \$1 \$2 \$3;
#X obj 68 417 s grid;
#X obj 142 115 r grid;
#X obj 49 288 r x;
#X obj 82 288 r y;
#X obj 116 287 r s;
#X obj 115 224 s x;
#X obj 154 225 s y;
#X obj 176 256 r x;
#X obj 194 291 r y;
#X obj 182 225 s s;
#X text 257 252 when a key is pressed \, get the column \, subtract
7 and abs (so that the columns run bottom-top) \, multiply by 5 (to
create stacked 4ths) and add 40 (for a root note of E like a bass).
Then add the x position to that as a semitone.;
#X obj 705 310 until;
#X obj 705 367 f;
#X obj 705 392 + 1;
#X obj 729 418 div 16;
#X obj 705 287 t f b;
#X msg 51 185 all 0;
#X msg 749 310 -1;
#X obj 659 419 mod 16;
#X obj 729 529 + 40;
#X obj 711 559 +;
#X obj 729 496 * 5;
#X obj 729 470 abs;
#X obj 729 445 - 7;
#X obj 721 662 mod 12;
#X obj 721 687 == 0;
#X obj 682 723 spigot;
#X obj 642 663 list;
#X obj 682 773 s grid;
#X obj 36 448 s draw-scale;
#X msg 682 748 lset \$1 \$2 2;
#X obj 36 387 t b a;
#X msg 705 263 127;
#X text 222 96 keyboard on the grid using the 4th string layout (like
a bass guitar). TODO: sort out C-lighting mess.;
#X obj 705 211 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#N canvas 2 639 450 250 (subpatch) 0;
#X array mapping 128 float 3;
#A 0 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 65 66 67 68 69 70 71 72 73 74 75 76 77
78 79 80 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 55 56 57 58
59 60 61 62 63 64 65 66 67 68 69 70 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 40 41
42 43 44 45 46 47 48 49 50 51 52 53 54 55 0;
#X coords 0 40 128 80 200 140 1 0 0;
#X restore 665 32 graph;
#X obj 711 591 tabwrite mapping;
#X obj 196 378 +;
#X obj 196 451 tabread mapping;
#X obj 196 546 noteout;
#X obj 219 488 r s;
#X obj 219 513 * 127;
#X obj 196 353 * 15;
#X obj 244 417 print;
#X connect 0 0 9 0;
#X connect 0 1 10 0;
#X connect 0 2 13 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 35 0;
#X connect 5 0 0 0;
#X connect 6 0 2 0;
#X connect 7 0 2 1;
#X connect 8 0 2 2;
#X connect 11 0 41 1;
#X connect 12 0 46 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 16 1;
#X connect 17 0 18 0;
#X connect 17 0 22 0;
#X connect 17 0 40 1;
#X connect 18 0 27 0;
#X connect 19 0 15 0;
#X connect 19 1 21 0;
#X connect 20 0 0 0;
#X connect 21 0 16 0;
#X connect 22 0 24 0;
#X connect 23 0 24 1;
#X connect 24 0 40 0;
#X connect 25 0 23 0;
#X connect 26 0 25 0;
#X connect 27 0 26 0;
#X connect 28 0 29 0;
#X connect 29 0 30 1;
#X connect 30 0 34 0;
#X connect 31 0 30 0;
#X connect 34 0 32 0;
#X connect 35 0 33 0;
#X connect 35 1 4 0;
#X connect 36 0 19 0;
#X connect 38 0 36 0;
#X connect 41 0 42 0;
#X connect 41 0 47 0;
#X connect 42 0 43 0;
#X connect 44 0 45 0;
#X connect 45 0 43 1;
#X connect 46 0 41 0;