max v2; #N vpatcher 279 158 1532 866; #P hidden newex 991 336 56 196617 sel 0 1; #P hidden message 991 376 173 196617 script respondtoclick root-enter; #P hidden message 991 359 173 196617 script ignoreclick root-enter; #N thispatcher; #Q end; #P hidden newobj 991 394 78 196617 thispatcher; #P hidden newex 1042 150 66 196617 t 0; #P hidden newex 1042 126 66 196617 loadbang; #P newex 800 184 152 196617 expr (($i1*5)+11)%12; #P newex 781 151 56 196617 gate; #P toggle 876 93 15 0; #P comment 838 73 127 196618 lock tonal resource; #P hidden newex 577 574 93 196617 loadbang; #P hidden message 577 590 93 196617 brgb 200 200 200; #N thispatcher; #Q end; #P hidden newobj 577 604 93 196617 thispatcher; #P newex 602 203 50 196617 t l b; #P hidden newex 770 287 74 196617 - 12; #P hidden newex 602 287 74 196617 split 0 11; #N vpatcher 477 180 1171 638; #P inlet 55 90 15 0; #P inlet 563 106 15 0; #P newex 563 203 32 196617 t 0; #P outlet 462 221 15 0; #P outlet 425 221 15 0; #P outlet 388 221 15 0; #P outlet 351 221 15 0; #P outlet 314 221 15 0; #P outlet 277 221 15 0; #P outlet 240 221 15 0; #P outlet 203 221 15 0; #P outlet 166 221 15 0; #P outlet 129 221 15 0; #P outlet 92 221 15 0; #P outlet 55 221 15 0; #P newex 462 180 32 196617 t 1; #P newex 425 180 32 196617 t 1; #P newex 388 180 32 196617 t 1; #P newex 351 180 32 196617 t 1; #P newex 314 180 32 196617 t 1; #P newex 277 180 32 196617 t 1; #P newex 240 180 32 196617 t 1; #P newex 203 180 32 196617 t 1; #P newex 166 180 32 196617 t 1; #P newex 129 180 32 196617 t 1; #P newex 92 180 32 196617 t 1; #P newex 55 180 32 196617 t 1; #P newex 55 136 464 196617 select 0 1 2 3 4 5 6 7 8 9 10 11; #P connect 27 0 0 0; #P connect 0 0 1 0; #P connect 25 0 13 0; #P connect 1 0 13 0; #P connect 0 1 2 0; #P connect 25 0 14 0; #P connect 2 0 14 0; #P connect 0 2 3 0; #P connect 25 0 15 0; #P connect 3 0 15 0; #P connect 0 3 4 0; #P connect 25 0 16 0; #P connect 4 0 16 0; #P connect 0 4 5 0; #P connect 25 0 17 0; #P connect 5 0 17 0; #P connect 0 5 6 0; #P connect 25 0 18 0; #P connect 6 0 18 0; #P connect 0 6 7 0; #P connect 25 0 19 0; #P connect 7 0 19 0; #P connect 0 7 8 0; #P connect 25 0 20 0; #P connect 8 0 20 0; #P connect 0 8 9 0; #P connect 25 0 21 0; #P connect 9 0 21 0; #P connect 0 9 10 0; #P connect 25 0 22 0; #P connect 10 0 22 0; #P connect 0 10 11 0; #P connect 25 0 23 0; #P connect 11 0 23 0; #P connect 0 11 12 0; #P connect 12 0 24 0; #P connect 25 0 24 0; #P connect 26 0 25 0; #P pop; #P hidden newobj 770 310 114 196617 p decoder; #P user multiSlider 906 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 882 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 858 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 810 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 786 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 914 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 890 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 866 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 842 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 818 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 794 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 770 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P comment 972 73 45 196618 root; #P comment 777 73 53 196618 mode; #P user IncDec 763 93 15 15 0 0; #P number 777 93 35 9 0 6 39 3 0 0 0 118 221 221 222 222 222 0 0 0; #P newex 972 230 50 196617 t b i b; #P hidden button 1105 280 29 0; #N vpatcher 477 180 1171 638; #P inlet 55 90 15 0; #P inlet 563 106 15 0; #P newex 563 203 32 196617 t 0; #P outlet 462 221 15 0; #P outlet 425 221 15 0; #P outlet 388 221 15 0; #P outlet 351 221 15 0; #P outlet 314 221 15 0; #P outlet 277 221 15 0; #P outlet 240 221 15 0; #P outlet 203 221 15 0; #P outlet 166 221 15 0; #P outlet 129 221 15 0; #P outlet 92 221 15 0; #P outlet 55 221 15 0; #P newex 462 180 32 196617 t 1; #P newex 425 180 32 196617 t 1; #P newex 388 180 32 196617 t 1; #P newex 351 180 32 196617 t 1; #P newex 314 180 32 196617 t 1; #P newex 277 180 32 196617 t 1; #P newex 240 180 32 196617 t 1; #P newex 203 180 32 196617 t 1; #P newex 166 180 32 196617 t 1; #P newex 129 180 32 196617 t 1; #P newex 92 180 32 196617 t 1; #P newex 55 180 32 196617 t 1; #P newex 55 136 464 196617 select 0 1 2 3 4 5 6 7 8 9 10 11; #P connect 27 0 0 0; #P connect 0 0 1 0; #P connect 25 0 13 0; #P connect 1 0 13 0; #P connect 0 1 2 0; #P connect 25 0 14 0; #P connect 2 0 14 0; #P connect 0 2 3 0; #P connect 25 0 15 0; #P connect 3 0 15 0; #P connect 0 3 4 0; #P connect 25 0 16 0; #P connect 4 0 16 0; #P connect 0 4 5 0; #P connect 25 0 17 0; #P connect 5 0 17 0; #P connect 0 5 6 0; #P connect 25 0 18 0; #P connect 6 0 18 0; #P connect 0 6 7 0; #P connect 25 0 19 0; #P connect 7 0 19 0; #P connect 0 7 8 0; #P connect 25 0 20 0; #P connect 8 0 20 0; #P connect 0 8 9 0; #P connect 25 0 21 0; #P connect 9 0 21 0; #P connect 0 9 10 0; #P connect 25 0 22 0; #P connect 10 0 22 0; #P connect 0 10 11 0; #P connect 25 0 23 0; #P connect 11 0 23 0; #P connect 0 11 12 0; #P connect 25 0 24 0; #P connect 12 0 24 0; #P connect 26 0 25 0; #P pop; #P hidden newobj 602 310 114 196617 p decoder; #P user multiSlider 738 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 714 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 690 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 642 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 618 342 19 100 0. 1. 1 2921 15; #M frgb 225 178 9; #M brgb 25 25 25; #P user multiSlider 746 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 722 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 698 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 674 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 650 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 626 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P user multiSlider 602 344 25 150 0. 1. 1 2921 15; #M frgb 255 188 9; #M brgb 100 100 100; #P number 614 507 44 12 0 11 295 3 0 0 0 255 188 9 222 222 222 0 0 0; #P noclick; #P newex 777 230 50 196617 t b i b; #P newex 602 230 50 196617 zl iter 1; #P user IncDec 958 93 15 15 0 0; #P number 972 93 35 9 0 11 39 3 0 0 0 118 221 221 222 222 222 0 0 0; #P objectname root-enter; #P hidden newex 1105 250 66 196617 loadbang; #P newex 602 257 400 196617 expr ($i1*12+$i2)/7+$i3; #P message 602 73 99 196617 0 1 2 3 4 5 6; #B color 9; #P comment 314 32 272 196620 convert to linear representation; #P number 483 300 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 282 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 259 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 241 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 218 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 200 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 177 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 159 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 464 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 446 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 423 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 405 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 382 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 364 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 341 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 323 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 628 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 610 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 587 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 569 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 546 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 528 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P number 483 505 35 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P newex 208 487 310 196617 expr int((log10($f1/8.175798)/log10(1.0594633))+0.5); #P flonum 110 143 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 594 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 553 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 512 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 471 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 430 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 389 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 348 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 307 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 266 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 225 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P flonum 110 184 83 9 0 0 36 3 0 0 0 255 188 9 222 222 222 0 0 0; #P comment 603 32 286 196620 construct diatonic subsets 7 of 12; #P newex 23 576 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 535 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 494 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 453 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 412 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 371 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 330 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 289 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 248 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 207 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 166 170 196617 expr $f1*(pow(2\\\,(1/12.))); #P newex 23 110 214 196617 expr 8.1758 * pow(1.0594633\\\,$f1); #P message 23 73 53 196617 0; #B color 9; #P comment 23 32 272 196620 construct chromatic intervals 12 eT; #P user umenu 665 507 100 196658 2 64 527 1; #X setrgb 0 0 0 255 188 9 0 0 0 0 0 0 0 0 0 0 0 0 255 188 9; #X add locrian; #X add phrygian; #X add aeolian; #X add dorian; #X add mixolydian; #X add ionian; #X add lydian; #X add 6; #P noclick; #P connect 2 0 3 0; #P connect 3 0 4 0; #P connect 4 0 5 0; #P connect 5 0 6 0; #P connect 6 0 7 0; #P connect 7 0 8 0; #P connect 8 0 9 0; #P connect 9 0 10 0; #P connect 10 0 11 0; #P connect 11 0 12 0; #P connect 12 0 13 0; #P connect 13 0 14 0; #P connect 3 0 27 0; #P connect 4 0 16 0; #P connect 5 0 17 0; #P connect 6 0 18 0; #P connect 7 0 19 0; #P connect 8 0 20 0; #P connect 9 0 21 0; #P connect 10 0 22 0; #P connect 11 0 23 0; #P connect 12 0 24 0; #P connect 13 0 25 0; #P connect 14 0 26 0; #P connect 27 0 44 0; #P connect 16 0 46 0; #P connect 17 0 48 0; #P connect 18 0 50 0; #P connect 19 0 36 0; #P connect 20 0 38 0; #P connect 21 0 40 0; #P connect 22 0 42 0; #P connect 23 0 28 0; #P connect 24 0 30 0; #P connect 25 0 32 0; #P connect 26 0 34 0; #P connect 44 0 45 0; #P connect 46 0 47 0; #P connect 48 0 49 0; #P connect 50 0 51 0; #P connect 36 0 37 0; #P connect 38 0 39 0; #P connect 40 0 41 0; #P connect 42 0 43 0; #P connect 28 0 29 0; #P connect 30 0 31 0; #P connect 32 0 33 0; #P connect 34 0 35 0; #P hidden connect 98 0 97 0; #P hidden connect 97 0 96 0; #P hidden connect 75 0 53 0; #P hidden connect 59 0 53 0; #P connect 53 0 95 0; #P connect 95 0 58 0; #P connect 58 0 54 0; #P connect 54 0 93 0; #P hidden connect 93 0 73 0; #P hidden connect 73 0 61 0; #P hidden connect 56 0 60 0; #P hidden connect 73 1 68 0; #P hidden connect 73 2 62 0; #P hidden connect 73 3 69 0; #P hidden connect 73 4 63 0; #P hidden connect 76 0 0 0; #P hidden connect 73 5 64 0; #P hidden connect 73 6 70 0; #P hidden connect 73 7 65 0; #P hidden connect 74 0 73 1; #P hidden connect 73 8 71 0; #P hidden connect 73 9 66 0; #P hidden connect 73 10 72 0; #P hidden connect 73 11 67 0; #P hidden connect 76 0 77 0; #P hidden connect 93 1 94 0; #P hidden connect 94 0 92 0; #P hidden connect 92 0 80 0; #P hidden connect 77 0 76 0; #P connect 76 0 59 0; #P connect 100 0 101 0; #P hidden connect 92 1 87 0; #P hidden connect 92 2 81 0; #P connect 59 1 54 1; #P connect 101 0 102 0; #P hidden connect 92 3 88 0; #P hidden connect 92 4 82 0; #P connect 76 0 101 1; #P hidden connect 92 5 83 0; #P hidden connect 92 6 89 0; #P hidden connect 92 7 84 0; #P hidden connect 74 0 92 1; #P hidden connect 104 0 100 0; #P hidden connect 92 8 90 0; #P hidden connect 92 9 85 0; #P hidden connect 92 10 91 0; #P hidden connect 92 11 86 0; #P hidden connect 56 0 57 0; #P hidden connect 57 0 56 0; #P hidden connect 102 0 56 0; #P connect 56 0 75 0; #P hidden connect 100 0 108 0; #P hidden connect 108 1 106 0; #P hidden connect 108 0 107 0; #P hidden connect 107 0 105 0; #P hidden connect 106 0 105 0; #P connect 75 1 54 2; #P hidden connect 103 0 104 0; #P hidden connect 55 0 74 0; #P hidden connect 95 1 74 0; #P pop;