OSDN Git Service

Add files via upload
[timewavesynth/Timewave_Synthesizer.git] / timewavesynth12.scd
1 (
2 //To run the synth, click anywhere within the parenthesis above and press "ctrl - enter" or "cmd - return".
3 //A guide to using the instrument is available by clicking on the "i" button in the bottom right corner of the GUI.
4 //Several lines down, where it says "//VARIABLES YOU MAY WISH TO CHANGE", are variables that you can change for various things,
5 //including key codes for keyboard functions.
6
7 //It is recommended to reboot the interpreter in the "Language" toolbar, or by hightlighting - (thisProcess.platform.recompile);
8 //and pressing "ctrl - enter" or "cmd - return", before each server boot. Rebooting the interpreter is not needed to
9 //evaluate the code below if the server is booted.
10
11 //You can program/make a song by using the "timewavesynth12script.scd" file
12
13 //This synth is compatible with the Korg NanoKontrol 2
14
15 s.options.memSize = 2097152/4;
16 MIDIIn.connectAll;
17
18 (
19 s.boot;
20 s.waitForBoot({
21         var point, w, view, view2,
22         vol = 0.02,mute1,mute2,mute3,mute4,mute5,mute6,mute7,mute8,mute9,mute10,mute11,mute12,muteall,unmuteall,
23         g1,g2,g6,g8,g33,g48,g64,g72,g88,gm,ngm1,ngm2,ngm6,set1,set2,menu1,menu2,
24         ts,sts,str,spaceb,b1,b2,b3,b4,button,button1,info,
25         n1,n2,n3,n4,n5,n6,n7,n8,keycodeb,
26         f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,
27         fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12,
28         fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b,
29         fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c,
30         fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d,
31         fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e,
32         fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f,
33         fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g,
34         fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h;
35
36
37         //VARIABLES YOU MAY WISH TO CHANGE
38
39
40         //note A tuning frequency in hz
41
42         ~tuning_frequency = 432; //default 432 hz
43
44         ~freqmap = (
45                 i = ~tuning_frequency
46                 / (2 ** (69 / 12)); a = (-1); b = (-1);
47                 Array.fill(128, {i * (2 ** (((a=a+1) / 12).trunc)) * ( (2 ** (12.reciprocal)) ** ((b=b+1)  % 12));
48         }));/*~freqmap = (i = 8.0271480262684/*-0.0000000000024*/; ~stepratio = 1.0594630943593; Array.fill(128, { i = i*~stepratio;}));*/
49
50
51         //base frequency for synth inst
52
53         ~base_frequency = ~freqmap.at(48); //default 48
54         ~synthdefnum = 7; //default 7
55
56         //volume
57
58         ~vol = 0.005; //default 0.005
59         ~vol1 = ~vol;
60         ~vol2 = ~vol;
61         ~vol3 = ~vol;
62         ~vol4 = ~vol;
63         ~vol5 = ~vol;
64         ~vol6 = ~vol;
65         ~vol7 = ~vol;
66         ~vol8 = ~vol;
67         ~vol9 = ~vol;
68         ~vol10 = ~vol;
69         ~vol11 = ~vol;
70         ~vol12 = ~vol;
71
72
73         //Key codes for keyboard functions - either unicode or keycode. To find key codes, see below:
74
75         ~rightarrow_keycode = 114;
76         ~leftarrow_keycode = 113;
77         ~uparrow_keycode = 111;
78         ~downarrow_keycode = 116;
79         ~enter_unicode = 13;
80         ~s_unicode = 115;
81         ~m_unicode = 109;
82         ~r_unicode = 114;
83         ~u_unicode = 117;
84         ~t_unicode = 116;
85         ~c_unicode = 99;
86         ~i_unicode = 105;
87         ~k_unicode = 107;
88         ~j_unicode = 106;
89         ~l_unicode = 108;
90         ~spacebar_unicode = 32;
91         ~one_unicode = 49;
92         ~two_unicode = 50;
93         ~three_unicode = 51;
94         ~four_unicode = 52;
95         ~five_unicode = 53;
96         ~six_unicode = 54;
97         ~seven_unicode = 55;
98         ~eight_unicode = 56;
99         ~nine_unicode = 57;
100         ~ten_unicode = 48;
101         ~eleven_unicode = 45;
102         ~twelve_unicode = 61;
103         ~escape_unicode = 27;
104
105
106         //To find key codes in post window... Hightlight the function and its parenthesis in red below,
107         //and press "ctrl - enter" or cmd - return" - then a small window called "test" will pop up...
108         //Press the "type" button inside of the window, then press anywhere on the keyboard to find
109         //the key codes in the right-hand side post window. Layout: [unicode, keycode, modifiers]. It is either a unicode
110         //or a keycode. Do not delete the /* and */ characters, or else the
111         //program will not run.
112
113         /*
114
115         (
116         var win = Window(\test, Rect(10, 100, 100, 50)),
117         btn = Button(win, Rect(5, 5, 90, 40)).states_([["type"]]);
118         btn.keyDownAction =
119         { arg view, char, modifiers, unicode, keycode;
120         ["unicode:"+unicode, "keycode:"+keycode, "modifiers:"+modifiers].postln;
121         };
122         win.front;
123         )
124
125         */
126
127
128         //gui set frequency ranges - currently set at the lowest and highest notes on a 128 key range using 432 hz A tuning
129         //you can change the tuning near top
130         //to insert custom ranges, replace "~freqmap.at()" with a hz frequency
131
132         ~outmin1 = ~freqmap.at(0);       // 8.0271480262684 hz                       //base frequency of upper set
133         ~outmax1 = ~freqmap.at(127);     // 12315.783879572 hz                       //high frequency of upper set
134         ~outmin2 = ~freqmap.at(0)*8;     // (8.0271480262684)*8 hz                   //base frequency of lower set
135         ~outmax2 = ~freqmap.at(127)/8;   // (12315.783879572)/8 hz;                  //high frequency of lower set
136
137         ~outmina = ~outmin2;
138         ~outmaxa = ~outmax2;
139         ~outminb = ~outmin1;
140         ~outmaxb = ~outmax1;
141
142         //increase or decrease magnitude of second and third harmonics
143
144         ~icd3 = 3; //3
145         ~icd6 = 6; //6
146
147
148         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
149
150
151         //starting notes
152
153         #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 =
154         [432,457.68805676322,484.90360486965,513.73747368118,544.28589355459,576.65081700145,610.94025894518,647.26865721073,685.75725445026,726.53450277921,769.73649247325,815.50740615698];
155
156         if(([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil]), {12.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut([f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12].at(x-1))});});
157
158         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [~u1,~u2,~u3,~u4,~u5,~u6,~u7,~u8,~u9,~u10,~u11,~u12];
159         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [~u1b,~u2b,~u3b,~u4b,~u5b,~u6b,~u7b,~u8b,~u9b,~u10b,~u11b,~u12b];
160         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [~u1c,~u2c,~u3c,~u4c,~u5c,~u6c,~u7c,~u8c,~u9c,~u10c,~u11c,~u12c];
161         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [~u1d,~u2d,~u3d,~u4d,~u5d,~u6d,~u7d,~u8d,~u9d,~u10d,~u11d,~u12d];
162         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [~u1e,~u2e,~u3e,~u4e,~u5e,~u6e,~u7e,~u8e,~u9e,~u10e,~u11e,~u12e];
163         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [~u1f,~u2f,~u3f,~u4f,~u5f,~u6f,~u7f,~u8f,~u9f,~u10f,~u11f,~u12f];
164         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [~u1g,~u2g,~u3g,~u4g,~u5g,~u6g,~u7g,~u8g,~u9g,~u10g,~u11g,~u12g];
165         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [~u1h,~u2h,~u3h,~u4h,~u5h,~u6h,~u7h,~u8h,~u9h,~u10h,~u11h,~u12h];
166
167         if([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
168         if([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
169         if([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
170         if([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
171         if([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
172         if([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
173         if([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
174         if([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {#fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];});
175
176         if([~sg1a1,~sg1a2,~sg1a3,~sg1a4,~sg1a5,~sg1a6,~sg1a7,~sg1a8,~sg1a9,~sg1a10,~sg1a11,~sg1a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1a1=~f1,~sg1a2=~f2,~sg1a3=~f3,~sg1a4=~f4,~sg1a5=~f5,~sg1a6=~f6,~sg1a7=~f7,~sg1a8=~f8,~sg1a9=~f9,~sg1a10=~f10,~sg1a11=~f11,~sg1a12=~f12];});
177         if([~sg1b1,~sg1b2,~sg1b3,~sg1b4,~sg1b5,~sg1b6,~sg1b7,~sg1b8,~sg1b9,~sg1b10,~sg1b11,~sg1b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1b1=~f1,~sg1b2=~f2,~sg1b3=~f3,~sg1b4=~f4,~sg1b5=~f5,~sg1b6=~f6,~sg1b7=~f7,~sg1b8=~f8,~sg1b9=~f9,~sg1b10=~f10,~sg1b11=~f11,~sg1b12=~f12];});
178         if([~sg1c1,~sg1c2,~sg1c3,~sg1c4,~sg1c5,~sg1c6,~sg1c7,~sg1c8,~sg1c9,~sg1c10,~sg1c11,~sg1c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1c1=~f1,~sg1c2=~f2,~sg1c3=~f3,~sg1c4=~f4,~sg1c5=~f5,~sg1c6=~f6,~sg1c7=~f7,~sg1c8=~f8,~sg1c9=~f9,~sg1c10=~f10,~sg1c11=~f11,~sg1c12=~f12];});
179         if([~sg1d1,~sg1d2,~sg1d3,~sg1d4,~sg1d5,~sg1d6,~sg1d7,~sg1d8,~sg1d9,~sg1d10,~sg1d11,~sg1d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1d1=~f1,~sg1d2=~f2,~sg1d3=~f3,~sg1d4=~f4,~sg1d5=~f5,~sg1d6=~f6,~sg1d7=~f7,~sg1d8=~f8,~sg1d9=~f9,~sg1d10=~f10,~sg1d11=~f11,~sg1d12=~f12];});
180         if([~sg1e1,~sg1e2,~sg1e3,~sg1e4,~sg1e5,~sg1e6,~sg1e7,~sg1e8,~sg1e9,~sg1e10,~sg1e11,~sg1e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1e1=~f1,~sg1e2=~f2,~sg1e3=~f3,~sg1e4=~f4,~sg1e5=~f5,~sg1e6=~f6,~sg1e7=~f7,~sg1e8=~f8,~sg1e9=~f9,~sg1e10=~f10,~sg1e11=~f11,~sg1e12=~f12];});
181         if([~sg1f1,~sg1f2,~sg1f3,~sg1f4,~sg1f5,~sg1f6,~sg1f7,~sg1f8,~sg1f9,~sg1f10,~sg1f11,~sg1f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1f1=~f1,~sg1f2=~f2,~sg1f3=~f3,~sg1f4=~f4,~sg1f5=~f5,~sg1f6=~f6,~sg1f7=~f7,~sg1f8=~f8,~sg1f9=~f9,~sg1f10=~f10,~sg1f11=~f11,~sg1f12=~f12];});
182         if([~sg1g1,~sg1g2,~sg1g3,~sg1g4,~sg1g5,~sg1g6,~sg1g7,~sg1g8,~sg1g9,~sg1g10,~sg1g11,~sg1g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1g1=~f1,~sg1g2=~f2,~sg1g3=~f3,~sg1g4=~f4,~sg1g5=~f5,~sg1g6=~f6,~sg1g7=~f7,~sg1g8=~f8,~sg1g9=~f9,~sg1g10=~f10,~sg1g11=~f11,~sg1g12=~f12];});
183         if([~sg1h1,~sg1h2,~sg1h3,~sg1h4,~sg1h5,~sg1h6,~sg1h7,~sg1h8,~sg1h9,~sg1h10,~sg1h11,~sg1h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg1h1=~f1,~sg1h2=~f2,~sg1h3=~f3,~sg1h4=~f4,~sg1h5=~f5,~sg1h6=~f6,~sg1h7=~f7,~sg1h8=~f8,~sg1h9=~f9,~sg1h10=~f10,~sg1h11=~f11,~sg1h12=~f12];});
184         if([~sg2a1,~sg2a2,~sg2a3,~sg2a4,~sg2a5,~sg2a6,~sg2a7,~sg2a8,~sg2a9,~sg2a10,~sg2a11,~sg2a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2a1=~f1,~sg2a2=~f2,~sg2a3=~f3,~sg2a4=~f4,~sg2a5=~f5,~sg2a6=~f6,~sg2a7=~f7,~sg2a8=~f8,~sg2a9=~f9,~sg2a10=~f10,~sg2a11=~f11,~sg2a12=~f12];});
185         if([~sg2b1,~sg2b2,~sg2b3,~sg2b4,~sg2b5,~sg2b6,~sg2b7,~sg2b8,~sg2b9,~sg2b10,~sg2b11,~sg2b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2b1=~f1,~sg2b2=~f2,~sg2b3=~f3,~sg2b4=~f4,~sg2b5=~f5,~sg2b6=~f6,~sg2b7=~f7,~sg2b8=~f8,~sg2b9=~f9,~sg2b10=~f10,~sg2b11=~f11,~sg2b12=~f12];});
186         if([~sg2c1,~sg2c2,~sg2c3,~sg2c4,~sg2c5,~sg2c6,~sg2c7,~sg2c8,~sg2c9,~sg2c10,~sg2c11,~sg2c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2c1=~f1,~sg2c2=~f2,~sg2c3=~f3,~sg2c4=~f4,~sg2c5=~f5,~sg2c6=~f6,~sg2c7=~f7,~sg2c8=~f8,~sg2c9=~f9,~sg2c10=~f10,~sg2c11=~f11,~sg2c12=~f12];});
187         if([~sg2d1,~sg2d2,~sg2d3,~sg2d4,~sg2d5,~sg2d6,~sg2d7,~sg2d8,~sg2d9,~sg2d10,~sg2d11,~sg2d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2d1=~f1,~sg2d2=~f2,~sg2d3=~f3,~sg2d4=~f4,~sg2d5=~f5,~sg2d6=~f6,~sg2d7=~f7,~sg2d8=~f8,~sg2d9=~f9,~sg2d10=~f10,~sg2d11=~f11,~sg2d12=~f12];});
188         if([~sg2e1,~sg2e2,~sg2e3,~sg2e4,~sg2e5,~sg2e6,~sg2e7,~sg2e8,~sg2e9,~sg2e10,~sg2e11,~sg2e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2e1=~f1,~sg2e2=~f2,~sg2e3=~f3,~sg2e4=~f4,~sg2e5=~f5,~sg2e6=~f6,~sg2e7=~f7,~sg2e8=~f8,~sg2e9=~f9,~sg2e10=~f10,~sg2e11=~f11,~sg2e12=~f12];});
189         if([~sg2f1,~sg2f2,~sg2f3,~sg2f4,~sg2f5,~sg2f6,~sg2f7,~sg2f8,~sg2f9,~sg2f10,~sg2f11,~sg2f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2f1=~f1,~sg2f2=~f2,~sg2f3=~f3,~sg2f4=~f4,~sg2f5=~f5,~sg2f6=~f6,~sg2f7=~f7,~sg2f8=~f8,~sg2f9=~f9,~sg2f10=~f10,~sg2f11=~f11,~sg2f12=~f12];});
190         if([~sg2g1,~sg2g2,~sg2g3,~sg2g4,~sg2g5,~sg2g6,~sg2g7,~sg2g8,~sg2g9,~sg2g10,~sg2g11,~sg2g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2g1=~f1,~sg2g2=~f2,~sg2g3=~f3,~sg2g4=~f4,~sg2g5=~f5,~sg2g6=~f6,~sg2g7=~f7,~sg2g8=~f8,~sg2g9=~f9,~sg2g10=~f10,~sg2g11=~f11,~sg2g12=~f12];});
191         if([~sg2h1,~sg2h2,~sg2h3,~sg2h4,~sg2h5,~sg2h6,~sg2h7,~sg2h8,~sg2h9,~sg2h10,~sg2h11,~sg2h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg2h1=~f1,~sg2h2=~f2,~sg2h3=~f3,~sg2h4=~f4,~sg2h5=~f5,~sg2h6=~f6,~sg2h7=~f7,~sg2h8=~f8,~sg2h9=~f9,~sg2h10=~f10,~sg2h11=~f11,~sg2h12=~f12];});
192         if([~sg3a1,~sg3a2,~sg3a3,~sg3a4,~sg3a5,~sg3a6,~sg3a7,~sg3a8,~sg3a9,~sg3a10,~sg3a11,~sg3a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3a1=~f1,~sg3a2=~f2,~sg3a3=~f3,~sg3a4=~f4,~sg3a5=~f5,~sg3a6=~f6,~sg3a7=~f7,~sg3a8=~f8,~sg3a9=~f9,~sg3a10=~f10,~sg3a11=~f11,~sg3a12=~f12];});
193         if([~sg3b1,~sg3b2,~sg3b3,~sg3b4,~sg3b5,~sg3b6,~sg3b7,~sg3b8,~sg3b9,~sg3b10,~sg3b11,~sg3b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3b1=~f1,~sg3b2=~f2,~sg3b3=~f3,~sg3b4=~f4,~sg3b5=~f5,~sg3b6=~f6,~sg3b7=~f7,~sg3b8=~f8,~sg3b9=~f9,~sg3b10=~f10,~sg3b11=~f11,~sg3b12=~f12];});
194         if([~sg3c1,~sg3c2,~sg3c3,~sg3c4,~sg3c5,~sg3c6,~sg3c7,~sg3c8,~sg3c9,~sg3c10,~sg3c11,~sg3c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3c1=~f1,~sg3c2=~f2,~sg3c3=~f3,~sg3c4=~f4,~sg3c5=~f5,~sg3c6=~f6,~sg3c7=~f7,~sg3c8=~f8,~sg3c9=~f9,~sg3c10=~f10,~sg3c11=~f11,~sg3c12=~f12];});
195         if([~sg3d1,~sg3d2,~sg3d3,~sg3d4,~sg3d5,~sg3d6,~sg3d7,~sg3d8,~sg3d9,~sg3d10,~sg3d11,~sg3d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3d1=~f1,~sg3d2=~f2,~sg3d3=~f3,~sg3d4=~f4,~sg3d5=~f5,~sg3d6=~f6,~sg3d7=~f7,~sg3d8=~f8,~sg3d9=~f9,~sg3d10=~f10,~sg3d11=~f11,~sg3d12=~f12];});
196         if([~sg3e1,~sg3e2,~sg3e3,~sg3e4,~sg3e5,~sg3e6,~sg3e7,~sg3e8,~sg3e9,~sg3e10,~sg3e11,~sg3e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3e1=~f1,~sg3e2=~f2,~sg3e3=~f3,~sg3e4=~f4,~sg3e5=~f5,~sg3e6=~f6,~sg3e7=~f7,~sg3e8=~f8,~sg3e9=~f9,~sg3e10=~f10,~sg3e11=~f11,~sg3e12=~f12];});
197         if([~sg3f1,~sg3f2,~sg3f3,~sg3f4,~sg3f5,~sg3f6,~sg3f7,~sg3f8,~sg3f9,~sg3f10,~sg3f11,~sg3f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3f1=~f1,~sg3f2=~f2,~sg3f3=~f3,~sg3f4=~f4,~sg3f5=~f5,~sg3f6=~f6,~sg3f7=~f7,~sg3f8=~f8,~sg3f9=~f9,~sg3f10=~f10,~sg3f11=~f11,~sg3f12=~f12];});
198         if([~sg3g1,~sg3g2,~sg3g3,~sg3g4,~sg3g5,~sg3g6,~sg3g7,~sg3g8,~sg3g9,~sg3g10,~sg3g11,~sg3g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3g1=~f1,~sg3g2=~f2,~sg3g3=~f3,~sg3g4=~f4,~sg3g5=~f5,~sg3g6=~f6,~sg3g7=~f7,~sg3g8=~f8,~sg3g9=~f9,~sg3g10=~f10,~sg3g11=~f11,~sg3g12=~f12];});
199         if([~sg3h1,~sg3h2,~sg3h3,~sg3h4,~sg3h5,~sg3h6,~sg3h7,~sg3h8,~sg3h9,~sg3h10,~sg3h11,~sg3h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg3h1=~f1,~sg3h2=~f2,~sg3h3=~f3,~sg3h4=~f4,~sg3h5=~f5,~sg3h6=~f6,~sg3h7=~f7,~sg3h8=~f8,~sg3h9=~f9,~sg3h10=~f10,~sg3h11=~f11,~sg3h12=~f12];});
200         if([~sg4a1,~sg4a2,~sg4a3,~sg4a4,~sg4a5,~sg4a6,~sg4a7,~sg4a8,~sg4a9,~sg4a10,~sg4a11,~sg4a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4a1=~f1,~sg4a2=~f2,~sg4a3=~f3,~sg4a4=~f4,~sg4a5=~f5,~sg4a6=~f6,~sg4a7=~f7,~sg4a8=~f8,~sg4a9=~f9,~sg4a10=~f10,~sg4a11=~f11,~sg4a12=~f12];});
201         if([~sg4b1,~sg4b2,~sg4b3,~sg4b4,~sg4b5,~sg4b6,~sg4b7,~sg4b8,~sg4b9,~sg4b10,~sg4b11,~sg4b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4b1=~f1,~sg4b2=~f2,~sg4b3=~f3,~sg4b4=~f4,~sg4b5=~f5,~sg4b6=~f6,~sg4b7=~f7,~sg4b8=~f8,~sg4b9=~f9,~sg4b10=~f10,~sg4b11=~f11,~sg4b12=~f12];});
202         if([~sg4c1,~sg4c2,~sg4c3,~sg4c4,~sg4c5,~sg4c6,~sg4c7,~sg4c8,~sg4c9,~sg4c10,~sg4c11,~sg4c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4c1=~f1,~sg4c2=~f2,~sg4c3=~f3,~sg4c4=~f4,~sg4c5=~f5,~sg4c6=~f6,~sg4c7=~f7,~sg4c8=~f8,~sg4c9=~f9,~sg4c10=~f10,~sg4c11=~f11,~sg4c12=~f12];});
203         if([~sg4d1,~sg4d2,~sg4d3,~sg4d4,~sg4d5,~sg4d6,~sg4d7,~sg4d8,~sg4d9,~sg4d10,~sg4d11,~sg4d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4d1=~f1,~sg4d2=~f2,~sg4d3=~f3,~sg4d4=~f4,~sg4d5=~f5,~sg4d6=~f6,~sg4d7=~f7,~sg4d8=~f8,~sg4d9=~f9,~sg4d10=~f10,~sg4d11=~f11,~sg4d12=~f12];});
204         if([~sg4e1,~sg4e2,~sg4e3,~sg4e4,~sg4e5,~sg4e6,~sg4e7,~sg4e8,~sg4e9,~sg4e10,~sg4e11,~sg4e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4e1=~f1,~sg4e2=~f2,~sg4e3=~f3,~sg4e4=~f4,~sg4e5=~f5,~sg4e6=~f6,~sg4e7=~f7,~sg4e8=~f8,~sg4e9=~f9,~sg4e10=~f10,~sg4e11=~f11,~sg4e12=~f12];});
205         if([~sg4f1,~sg4f2,~sg4f3,~sg4f4,~sg4f5,~sg4f6,~sg4f7,~sg4f8,~sg4f9,~sg4f10,~sg4f11,~sg4f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4f1=~f1,~sg4f2=~f2,~sg4f3=~f3,~sg4f4=~f4,~sg4f5=~f5,~sg4f6=~f6,~sg4f7=~f7,~sg4f8=~f8,~sg4f9=~f9,~sg4f10=~f10,~sg4f11=~f11,~sg4f12=~f12];});
206         if([~sg4g1,~sg4g2,~sg4g3,~sg4g4,~sg4g5,~sg4g6,~sg4g7,~sg4g8,~sg4g9,~sg4g10,~sg4g11,~sg4g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4g1=~f1,~sg4g2=~f2,~sg4g3=~f3,~sg4g4=~f4,~sg4g5=~f5,~sg4g6=~f6,~sg4g7=~f7,~sg4g8=~f8,~sg4g9=~f9,~sg4g10=~f10,~sg4g11=~f11,~sg4g12=~f12];});
207         if([~sg4h1,~sg4h2,~sg4h3,~sg4h4,~sg4h5,~sg4h6,~sg4h7,~sg4h8,~sg4h9,~sg4h10,~sg4h11,~sg4h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg4h1=~f1,~sg4h2=~f2,~sg4h3=~f3,~sg4h4=~f4,~sg4h5=~f5,~sg4h6=~f6,~sg4h7=~f7,~sg4h8=~f8,~sg4h9=~f9,~sg4h10=~f10,~sg4h11=~f11,~sg4h12=~f12];});
208         if([~sg5a1,~sg5a2,~sg5a3,~sg5a4,~sg5a5,~sg5a6,~sg5a7,~sg5a8,~sg5a9,~sg5a10,~sg5a11,~sg5a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5a1=~f1,~sg5a2=~f2,~sg5a3=~f3,~sg5a4=~f4,~sg5a5=~f5,~sg5a6=~f6,~sg5a7=~f7,~sg5a8=~f8,~sg5a9=~f9,~sg5a10=~f10,~sg5a11=~f11,~sg5a12=~f12];});
209         if([~sg5b1,~sg5b2,~sg5b3,~sg5b4,~sg5b5,~sg5b6,~sg5b7,~sg5b8,~sg5b9,~sg5b10,~sg5b11,~sg5b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5b1=~f1,~sg5b2=~f2,~sg5b3=~f3,~sg5b4=~f4,~sg5b5=~f5,~sg5b6=~f6,~sg5b7=~f7,~sg5b8=~f8,~sg5b9=~f9,~sg5b10=~f10,~sg5b11=~f11,~sg5b12=~f12];});
210         if([~sg5c1,~sg5c2,~sg5c3,~sg5c4,~sg5c5,~sg5c6,~sg5c7,~sg5c8,~sg5c9,~sg5c10,~sg5c11,~sg5c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5c1=~f1,~sg5c2=~f2,~sg5c3=~f3,~sg5c4=~f4,~sg5c5=~f5,~sg5c6=~f6,~sg5c7=~f7,~sg5c8=~f8,~sg5c9=~f9,~sg5c10=~f10,~sg5c11=~f11,~sg5c12=~f12];});
211         if([~sg5d1,~sg5d2,~sg5d3,~sg5d4,~sg5d5,~sg5d6,~sg5d7,~sg5d8,~sg5d9,~sg5d10,~sg5d11,~sg5d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5d1=~f1,~sg5d2=~f2,~sg5d3=~f3,~sg5d4=~f4,~sg5d5=~f5,~sg5d6=~f6,~sg5d7=~f7,~sg5d8=~f8,~sg5d9=~f9,~sg5d10=~f10,~sg5d11=~f11,~sg5d12=~f12];});
212         if([~sg5e1,~sg5e2,~sg5e3,~sg5e4,~sg5e5,~sg5e6,~sg5e7,~sg5e8,~sg5e9,~sg5e10,~sg5e11,~sg5e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5e1=~f1,~sg5e2=~f2,~sg5e3=~f3,~sg5e4=~f4,~sg5e5=~f5,~sg5e6=~f6,~sg5e7=~f7,~sg5e8=~f8,~sg5e9=~f9,~sg5e10=~f10,~sg5e11=~f11,~sg5e12=~f12];});
213         if([~sg5f1,~sg5f2,~sg5f3,~sg5f4,~sg5f5,~sg5f6,~sg5f7,~sg5f8,~sg5f9,~sg5f10,~sg5f11,~sg5f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5f1=~f1,~sg5f2=~f2,~sg5f3=~f3,~sg5f4=~f4,~sg5f5=~f5,~sg5f6=~f6,~sg5f7=~f7,~sg5f8=~f8,~sg5f9=~f9,~sg5f10=~f10,~sg5f11=~f11,~sg5f12=~f12];});
214         if([~sg5g1,~sg5g2,~sg5g3,~sg5g4,~sg5g5,~sg5g6,~sg5g7,~sg5g8,~sg5g9,~sg5g10,~sg5g11,~sg5g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5g1=~f1,~sg5g2=~f2,~sg5g3=~f3,~sg5g4=~f4,~sg5g5=~f5,~sg5g6=~f6,~sg5g7=~f7,~sg5g8=~f8,~sg5g9=~f9,~sg5g10=~f10,~sg5g11=~f11,~sg5g12=~f12];});
215         if([~sg5h1,~sg5h2,~sg5h3,~sg5h4,~sg5h5,~sg5h6,~sg5h7,~sg5h8,~sg5h9,~sg5h10,~sg5h11,~sg5h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg5h1=~f1,~sg5h2=~f2,~sg5h3=~f3,~sg5h4=~f4,~sg5h5=~f5,~sg5h6=~f6,~sg5h7=~f7,~sg5h8=~f8,~sg5h9=~f9,~sg5h10=~f10,~sg5h11=~f11,~sg5h12=~f12];});
216         if([~sg6a1,~sg6a2,~sg6a3,~sg6a4,~sg6a5,~sg6a6,~sg6a7,~sg6a8,~sg6a9,~sg6a10,~sg6a11,~sg6a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6a1=~f1,~sg6a2=~f2,~sg6a3=~f3,~sg6a4=~f4,~sg6a5=~f5,~sg6a6=~f6,~sg6a7=~f7,~sg6a8=~f8,~sg6a9=~f9,~sg6a10=~f10,~sg6a11=~f11,~sg6a12=~f12];});
217         if([~sg6b1,~sg6b2,~sg6b3,~sg6b4,~sg6b5,~sg6b6,~sg6b7,~sg6b8,~sg6b9,~sg6b10,~sg6b11,~sg6b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6b1=~f1,~sg6b2=~f2,~sg6b3=~f3,~sg6b4=~f4,~sg6b5=~f5,~sg6b6=~f6,~sg6b7=~f7,~sg6b8=~f8,~sg6b9=~f9,~sg6b10=~f10,~sg6b11=~f11,~sg6b12=~f12];});
218         if([~sg6c1,~sg6c2,~sg6c3,~sg6c4,~sg6c5,~sg6c6,~sg6c7,~sg6c8,~sg6c9,~sg6c10,~sg6c11,~sg6c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6c1=~f1,~sg6c2=~f2,~sg6c3=~f3,~sg6c4=~f4,~sg6c5=~f5,~sg6c6=~f6,~sg6c7=~f7,~sg6c8=~f8,~sg6c9=~f9,~sg6c10=~f10,~sg6c11=~f11,~sg6c12=~f12];});
219         if([~sg6d1,~sg6d2,~sg6d3,~sg6d4,~sg6d5,~sg6d6,~sg6d7,~sg6d8,~sg6d9,~sg6d10,~sg6d11,~sg6d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6d1=~f1,~sg6d2=~f2,~sg6d3=~f3,~sg6d4=~f4,~sg6d5=~f5,~sg6d6=~f6,~sg6d7=~f7,~sg6d8=~f8,~sg6d9=~f9,~sg6d10=~f10,~sg6d11=~f11,~sg6d12=~f12];});
220         if([~sg6e1,~sg6e2,~sg6e3,~sg6e4,~sg6e5,~sg6e6,~sg6e7,~sg6e8,~sg6e9,~sg6e10,~sg6e11,~sg6e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6e1=~f1,~sg6e2=~f2,~sg6e3=~f3,~sg6e4=~f4,~sg6e5=~f5,~sg6e6=~f6,~sg6e7=~f7,~sg6e8=~f8,~sg6e9=~f9,~sg6e10=~f10,~sg6e11=~f11,~sg6e12=~f12];});
221         if([~sg6f1,~sg6f2,~sg6f3,~sg6f4,~sg6f5,~sg6f6,~sg6f7,~sg6f8,~sg6f9,~sg6f10,~sg6f11,~sg6f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6f1=~f1,~sg6f2=~f2,~sg6f3=~f3,~sg6f4=~f4,~sg6f5=~f5,~sg6f6=~f6,~sg6f7=~f7,~sg6f8=~f8,~sg6f9=~f9,~sg6f10=~f10,~sg6f11=~f11,~sg6f12=~f12];});
222         if([~sg6g1,~sg6g2,~sg6g3,~sg6g4,~sg6g5,~sg6g6,~sg6g7,~sg6g8,~sg6g9,~sg6g10,~sg6g11,~sg6g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6g1=~f1,~sg6g2=~f2,~sg6g3=~f3,~sg6g4=~f4,~sg6g5=~f5,~sg6g6=~f6,~sg6g7=~f7,~sg6g8=~f8,~sg6g9=~f9,~sg6g10=~f10,~sg6g11=~f11,~sg6g12=~f12];});
223         if([~sg6h1,~sg6h2,~sg6h3,~sg6h4,~sg6h5,~sg6h6,~sg6h7,~sg6h8,~sg6h9,~sg6h10,~sg6h11,~sg6h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg6h1=~f1,~sg6h2=~f2,~sg6h3=~f3,~sg6h4=~f4,~sg6h5=~f5,~sg6h6=~f6,~sg6h7=~f7,~sg6h8=~f8,~sg6h9=~f9,~sg6h10=~f10,~sg6h11=~f11,~sg6h12=~f12];});
224         if([~sg7a1,~sg7a2,~sg7a3,~sg7a4,~sg7a5,~sg7a6,~sg7a7,~sg7a8,~sg7a9,~sg7a10,~sg7a11,~sg7a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7a1=~f1,~sg7a2=~f2,~sg7a3=~f3,~sg7a4=~f4,~sg7a5=~f5,~sg7a6=~f6,~sg7a7=~f7,~sg7a8=~f8,~sg7a9=~f9,~sg7a10=~f10,~sg7a11=~f11,~sg7a12=~f12];});
225         if([~sg7b1,~sg7b2,~sg7b3,~sg7b4,~sg7b5,~sg7b6,~sg7b7,~sg7b8,~sg7b9,~sg7b10,~sg7b11,~sg7b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7b1=~f1,~sg7b2=~f2,~sg7b3=~f3,~sg7b4=~f4,~sg7b5=~f5,~sg7b6=~f6,~sg7b7=~f7,~sg7b8=~f8,~sg7b9=~f9,~sg7b10=~f10,~sg7b11=~f11,~sg7b12=~f12];});
226         if([~sg7c1,~sg7c2,~sg7c3,~sg7c4,~sg7c5,~sg7c6,~sg7c7,~sg7c8,~sg7c9,~sg7c10,~sg7c11,~sg7c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7c1=~f1,~sg7c2=~f2,~sg7c3=~f3,~sg7c4=~f4,~sg7c5=~f5,~sg7c6=~f6,~sg7c7=~f7,~sg7c8=~f8,~sg7c9=~f9,~sg7c10=~f10,~sg7c11=~f11,~sg7c12=~f12];});
227         if([~sg7d1,~sg7d2,~sg7d3,~sg7d4,~sg7d5,~sg7d6,~sg7d7,~sg7d8,~sg7d9,~sg7d10,~sg7d11,~sg7d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7d1=~f1,~sg7d2=~f2,~sg7d3=~f3,~sg7d4=~f4,~sg7d5=~f5,~sg7d6=~f6,~sg7d7=~f7,~sg7d8=~f8,~sg7d9=~f9,~sg7d10=~f10,~sg7d11=~f11,~sg7d12=~f12];});
228         if([~sg7e1,~sg7e2,~sg7e3,~sg7e4,~sg7e5,~sg7e6,~sg7e7,~sg7e8,~sg7e9,~sg7e10,~sg7e11,~sg7e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7e1=~f1,~sg7e2=~f2,~sg7e3=~f3,~sg7e4=~f4,~sg7e5=~f5,~sg7e6=~f6,~sg7e7=~f7,~sg7e8=~f8,~sg7e9=~f9,~sg7e10=~f10,~sg7e11=~f11,~sg7e12=~f12];});
229         if([~sg7f1,~sg7f2,~sg7f3,~sg7f4,~sg7f5,~sg7f6,~sg7f7,~sg7f8,~sg7f9,~sg7f10,~sg7f11,~sg7f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7f1=~f1,~sg7f2=~f2,~sg7f3=~f3,~sg7f4=~f4,~sg7f5=~f5,~sg7f6=~f6,~sg7f7=~f7,~sg7f8=~f8,~sg7f9=~f9,~sg7f10=~f10,~sg7f11=~f11,~sg7f12=~f12];});
230         if([~sg7g1,~sg7g2,~sg7g3,~sg7g4,~sg7g5,~sg7g6,~sg7g7,~sg7g8,~sg7g9,~sg7g10,~sg7g11,~sg7g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7g1=~f1,~sg7g2=~f2,~sg7g3=~f3,~sg7g4=~f4,~sg7g5=~f5,~sg7g6=~f6,~sg7g7=~f7,~sg7g8=~f8,~sg7g9=~f9,~sg7g10=~f10,~sg7g11=~f11,~sg7g12=~f12];});
231         if([~sg7h1,~sg7h2,~sg7h3,~sg7h4,~sg7h5,~sg7h6,~sg7h7,~sg7h8,~sg7h9,~sg7h10,~sg7h11,~sg7h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg7h1=~f1,~sg7h2=~f2,~sg7h3=~f3,~sg7h4=~f4,~sg7h5=~f5,~sg7h6=~f6,~sg7h7=~f7,~sg7h8=~f8,~sg7h9=~f9,~sg7h10=~f10,~sg7h11=~f11,~sg7h12=~f12];});
232         if([~sg8a1,~sg8a2,~sg8a3,~sg8a4,~sg8a5,~sg8a6,~sg8a7,~sg8a8,~sg8a9,~sg8a10,~sg8a11,~sg8a12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8a1=~f1,~sg8a2=~f2,~sg8a3=~f3,~sg8a4=~f4,~sg8a5=~f5,~sg8a6=~f6,~sg8a7=~f7,~sg8a8=~f8,~sg8a9=~f9,~sg8a10=~f10,~sg8a11=~f11,~sg8a12=~f12];});
233         if([~sg8b1,~sg8b2,~sg8b3,~sg8b4,~sg8b5,~sg8b6,~sg8b7,~sg8b8,~sg8b9,~sg8b10,~sg8b11,~sg8b12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8b1=~f1,~sg8b2=~f2,~sg8b3=~f3,~sg8b4=~f4,~sg8b5=~f5,~sg8b6=~f6,~sg8b7=~f7,~sg8b8=~f8,~sg8b9=~f9,~sg8b10=~f10,~sg8b11=~f11,~sg8b12=~f12];});
234         if([~sg8c1,~sg8c2,~sg8c3,~sg8c4,~sg8c5,~sg8c6,~sg8c7,~sg8c8,~sg8c9,~sg8c10,~sg8c11,~sg8c12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8c1=~f1,~sg8c2=~f2,~sg8c3=~f3,~sg8c4=~f4,~sg8c5=~f5,~sg8c6=~f6,~sg8c7=~f7,~sg8c8=~f8,~sg8c9=~f9,~sg8c10=~f10,~sg8c11=~f11,~sg8c12=~f12];});
235         if([~sg8d1,~sg8d2,~sg8d3,~sg8d4,~sg8d5,~sg8d6,~sg8d7,~sg8d8,~sg8d9,~sg8d10,~sg8d11,~sg8d12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8d1=~f1,~sg8d2=~f2,~sg8d3=~f3,~sg8d4=~f4,~sg8d5=~f5,~sg8d6=~f6,~sg8d7=~f7,~sg8d8=~f8,~sg8d9=~f9,~sg8d10=~f10,~sg8d11=~f11,~sg8d12=~f12];});
236         if([~sg8e1,~sg8e2,~sg8e3,~sg8e4,~sg8e5,~sg8e6,~sg8e7,~sg8e8,~sg8e9,~sg8e10,~sg8e11,~sg8e12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8e1=~f1,~sg8e2=~f2,~sg8e3=~f3,~sg8e4=~f4,~sg8e5=~f5,~sg8e6=~f6,~sg8e7=~f7,~sg8e8=~f8,~sg8e9=~f9,~sg8e10=~f10,~sg8e11=~f11,~sg8e12=~f12];});
237         if([~sg8f1,~sg8f2,~sg8f3,~sg8f4,~sg8f5,~sg8f6,~sg8f7,~sg8f8,~sg8f9,~sg8f10,~sg8f11,~sg8f12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8f1=~f1,~sg8f2=~f2,~sg8f3=~f3,~sg8f4=~f4,~sg8f5=~f5,~sg8f6=~f6,~sg8f7=~f7,~sg8f8=~f8,~sg8f9=~f9,~sg8f10=~f10,~sg8f11=~f11,~sg8f12=~f12];});
238         if([~sg8g1,~sg8g2,~sg8g3,~sg8g4,~sg8g5,~sg8g6,~sg8g7,~sg8g8,~sg8g9,~sg8g10,~sg8g11,~sg8g12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8g1=~f1,~sg8g2=~f2,~sg8g3=~f3,~sg8g4=~f4,~sg8g5=~f5,~sg8g6=~f6,~sg8g7=~f7,~sg8g8=~f8,~sg8g9=~f9,~sg8g10=~f10,~sg8g11=~f11,~sg8g12=~f12];});
239         if([~sg8h1,~sg8h2,~sg8h3,~sg8h4,~sg8h5,~sg8h6,~sg8h7,~sg8h8,~sg8h9,~sg8h10,~sg8h11,~sg8h12] == [nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil], {[~sg8h1=~f1,~sg8h2=~f2,~sg8h3=~f3,~sg8h4=~f4,~sg8h5=~f5,~sg8h6=~f6,~sg8h7=~f7,~sg8h8=~f8,~sg8h9=~f9,~sg8h10=~f10,~sg8h11=~f11,~sg8h12=~f12];});
240
241
242         //synthdefs
243
244         ~gsine1 = {
245                 SynthDef(\gsineicfld1, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
246                         a, b, c, d, e, f, pan=0, fc = 1;
247                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
248                         #n1=[~gm];
249                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
250                                 ++Array.fill((~gsinenum -1), {[/*1*/    [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
251                         }).flatten, inf);
252                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
253                         OffsetOut.ar(0, s1.dup*vol);
254                 }, [\ir]).add;
255
256                 SynthDef(\gsineicrld1, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
257                         a, b, c, d, e, f, pan=0, fc = 1, id = -1;
258                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9,af;
259                         #n1=[~gm];
260                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
261                                 ++Array.fill((~gsinenum -1), {[/*1*/    [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
262                         }).flatten].flatten.reverse, inf);
263                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune), Demand.ar(Impulse.ar(dur+tune), 0, dseq));
264                         OffsetOut.ar(0, s1.dup*vol);
265                 }, [\ir]).add;
266
267                 SynthDef(\gsineicfld2, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
268                         a, b, c, d, e, f, pan=0, fc = 1;
269                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
270                         #n1=[~gm2];
271                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
272                                 ++Array.fill((~gsinenum*2 -1), {[/*1*/  [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
273                         }).flatten, inf);
274                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
275                         OffsetOut.ar(0, s1.dup*vol);
276                 }, [\ir]).add;
277
278                 SynthDef(\gsineicrld2, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
279                         a, b, c, d, e, f, pan=0, fc = 1, id = -1;
280                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9,af;
281                         #n1=[~gm2];
282                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
283                                 ++Array.fill((~gsinenum*2 -1), {[/*1*/  [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
284                         }).flatten].flatten.reverse, inf);
285                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune), Demand.ar(Impulse.ar(dur+tune), 0, dseq));
286                         OffsetOut.ar(0, s1.dup*vol);
287                 }, [\ir]).add;
288
289                 SynthDef(\gsineicfld6, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
290                         a, b, c, d, e, f, pan=0, fc = 1;
291                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
292                         #n1=[~gm6];
293                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
294                                 ++Array.fill((~gsinenum*6 -1), {[/*1*/  [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
295                         }).flatten, inf);
296                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
297                         OffsetOut.ar(0, s1.dup*vol);
298                 }, [\ir]).add;
299
300                 SynthDef(\gsineicrld6, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
301                         a, b, c, d, e, f, pan=0, fc = 1;
302                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
303                         #n1=[~gm6];
304                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
305                                 ++Array.fill((~gsinenum*6 -1), {[/*1*/  [ a = a*n1,         b = b*n1*~fth,    c = c*n1,         d = d*n1*~fth,    e = e*n1,         f = f*n1*~fth ],/*2*/       [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*3*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],/*13*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*19*/       [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],/*29*/       [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],/*31*/       [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*40*/       [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],/*55*/       [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],/*63*/       [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]]
306                         }).flatten].flatten.reverse, inf);
307                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
308                         OffsetOut.ar(0, s1.dup*vol);
309                 }, [\ir]).add;
310
311
312         };
313
314         ~gsine2 = {
315                 SynthDef(\gsineicfld1, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
316                         a, b, c, d, e, f, pan=0, fc = 1;
317                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
318                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1];
319                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
320                                 ++Array.fill((~gsinenum -1), {[/*1*/    [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
321                         }).flatten, inf);
322                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
323                         OffsetOut.ar(0, s1.dup*vol);
324                 }, [\ir]).add;
325
326                 SynthDef(\gsineicrld1, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
327                         a, b, c, d, e, f, pan=0, fc = 1, id = -1;
328                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9,af;
329                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1,~ngm1];
330                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
331                                 ++Array.fill((~gsinenum -1), {[/*1*/    [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
332                         }).flatten].flatten.reverse, inf);
333                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune), Demand.ar(Impulse.ar(dur+tune), 0, dseq));
334                         OffsetOut.ar(0, s1.dup*vol);
335                 }, [\ir]).add;
336
337                 SynthDef(\gsineicfld2, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
338                         a, b, c, d, e, f, pan=0, fc = 1;
339                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
340                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2];
341                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
342                                 ++Array.fill((~gsinenum*2 -1), {[/*1*/  [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
343                         }).flatten, inf);
344                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
345                         OffsetOut.ar(0, s1.dup*vol);
346                 }, [\ir]).add;
347
348                 SynthDef(\gsineicrld2, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
349                         a, b, c, d, e, f, pan=0, fc = 1, id = -1;
350                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9,af;
351                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2,~ngm2];
352                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
353                                 ++Array.fill((~gsinenum*2 -1), {[/*1*/  [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
354                         }).flatten].flatten.reverse, inf);
355                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune), Demand.ar(Impulse.ar(dur+tune), 0, dseq));
356                         OffsetOut.ar(0, s1.dup*vol);
357                 }, [\ir]).add;
358
359                 SynthDef(\gsineicfld6, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
360                         a, b, c, d, e, f, pan=0, fc = 1;
361                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
362                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6];
363                         dseq = Dseq([/*1*/      #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
364                                 ++Array.fill((~gsinenum*6 -1), {[/*1*/  [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
365                         }).flatten, inf);
366                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
367                         OffsetOut.ar(0, s1.dup*vol);
368                 }, [\ir]).add;
369
370                 SynthDef(\gsineicrld6, {arg graindur = 0.04, dur = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol = ~vol, rate = 20, tune = 0,dseqval,
371                         a, b, c, d, e, f, pan=0, fc = 1;
372                         var s1, out, env1, s2, dseq,n1,n2,n3,n4,n5,n6,n7,n8,n9;
373                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6,~ngm6];
374                         dseq = Dseq([[/*1*/     #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],/*2*/       [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
375                                 ++Array.fill((~gsinenum*6 -1), {[/*1*/  [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*2*/ [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],/*3*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth  ],/*4*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth  ],/*5*/        [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*6*/ [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth  ],/*7*/        [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f ],/*8*/      [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*9*/      [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth ],/*10*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*11*/     [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*12*/     [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],/*13*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth ],/*14*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f],/*15*/      [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth ],/*16*/        [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*17*/     [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth],/*18*/ [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],/*19*/     [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth ],/*20*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth ],/*21*/        [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth ],/*22*/        [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*23*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth ],/*24*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*25*/        [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f ],/*26*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*27*/     [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*28*/     [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],/*29*/     [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f ],/*30*/     [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],/*31*/     [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth ],/*32*/        [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f ],/*33*/     [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*34*/     [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth ],/*35*/        [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth ],/*36*/        [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth ],/*37*/        [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*38*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*39*/     [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],/*40*/     [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f ],/*41*/     [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*42*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f ],/*43*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*44*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*45*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f ],/*46*/     [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f ],/*47*/     [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f ],/*48*/     [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f ],/*49*/     [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth ],/*50*/        [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth ],/*51*/        [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth ],/*52*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth ],/*53*/        [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f ],/*54*/     [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],/*55*/     [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f ],/*56*/     [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth ],/*57*/        [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f ],/*58*/     [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth ],/*59*/        [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth ],/*60*/        [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth ],/*61*/        [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f ],/*62*/     [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],/*63*/     [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth ],/*64*/        [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ]]
376                         }).flatten].flatten.reverse, inf);
377                         s1 = GrainSin.ar(1, Impulse.ar(dur+tune), 1/(dur+tune),Demand.ar(Impulse.ar(dur+tune), 0, dseq)*fc);
378                         OffsetOut.ar(0, s1.dup*vol);
379                 }, [\ir]).add;
380
381
382         };
383
384
385         //starting values for synthdefs
386
387         if((~gsinenum == nil) and: (~synthdef != "gsineicld"), {
388                 (
389                         if(~basefreq == nil, {~basefreq = ~base_frequency});
390                         ~fmult = 16;
391                         (#a,b,c,d,e,f = [ ~basefreq,~basefreq,~basefreq,~basefreq,~basefreq,~basefreq  ];
392                                 ~a = a; ~b = b; ~c =c; ~d = d; ~e = e;~f=f;);
393
394                         ~fth = 1.4142135623729;
395                         ~gm = 1.6180339887499;
396                         ~gm2 = 1.2720196495141;
397                         ~gm6 = 1.0835058821738;
398                         ~stepratio = 1.0594630943593;
399                         ~nval = 1.0355417528;
400                         ~n9s = 1.86;
401                         ~n9 = 1.080059789899;
402                         ~n18 = 1.0392592260319;
403                         ~n27 = 1.0260044847071;
404                         ~n36 = 1.0194406437022;
405                         ~n45 = 1.0155225125043;
406                         ~n54 = 1.012918794725;
407                         ~n63 = 1.0110630844869;
408                         ~n72 = 1.0096735332285;
409                         ~ngm1 = 1.0549232131786;
410                         ~ngm2 = 1.0270945492887;
411                         ~ngm6 = 1.0089511542031;
412                         ~nval = ~ngm6;
413
414                         ~synthdef = "gsineicld"; ~gsinenum = ~synthdefnum;
415                         case
416                         {~gsine == nil}{~gsine1.value}
417                         {~gsine == 0}{~gsine1.value;}
418                         {~gsine == 1}{~gsine2.value;};
419
420                 );
421         });
422
423
424         //generaate GUI window
425
426         w = Window("Timewave Synth", Rect(0,0,Window.screenBounds.width,Window.screenBounds.height), border:true);
427
428         view = UserView(w, Window.screenBounds);
429         view.clearOnRefresh = false;
430         view.background = Color.black;
431
432         //vertical grid (inactive)
433
434         /*~b1 = Window.screenBounds.width/(12*4) /*25.462962962963*/; ~btu = 31; ~btd = 375; ~bw = 0.5; ~bh = 120; ~bcolor = Color.grey;
435         CompositeView(w, Rect(~b1, ~btu, ~bw, ~bh)).background = ~bcolor;
436         CompositeView(w, Rect(~b1, ~btd, ~bw, ~bh)).background = ~bcolor;
437         54.do({CompositeView(w, Rect(~b1 = ~b1+(Window.screenBounds.width/(12*4)), ~btu, ~bw, ~bh)).background = ~bcolor;});
438         ~b1 = Window.screenBounds.width/(12*4);
439         54.do({CompositeView(w, Rect(~b1 = ~b1+(Window.screenBounds.width/(12*4)), ~btd, ~bw, ~bh)).background = ~bcolor;});*/
440
441         ~nh = 2;
442         ~nw = ~nh*1.6180339887499;
443
444         ~tgrid = 30;
445         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
446
447         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
448
449         //horizontal grid
450
451         13.do(x=~tgrid-10; {CompositeView(w, Rect(1, x=x+10, Window.screenBounds.width, 0.5)).background = Color.new255(51, 51, 51)});
452         13.do(x=~bgrid-10; {CompositeView(w, Rect(1, x=x+10, Window.screenBounds.width, 0.5)).background = Color.new255(51, 51, 51)});
453
454         ~z1 = (CompositeView(w, Rect((if(~f1 == nil, {f1.value},{~f1.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
455         ~z2 = (CompositeView(w, Rect((if(~f2 == nil, {f2.value},{~f2.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
456         ~z3 = (CompositeView(w, Rect((if(~f3 == nil, {f3.value},{~f3.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
457         ~z4 = (CompositeView(w, Rect((if(~f4 == nil, {f4.value},{~f4.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
458         ~z5 = (CompositeView(w, Rect((if(~f5 == nil, {f5.value},{~f5.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
459         ~z6 = (CompositeView(w, Rect((if(~f6 == nil, {f6.value},{~f6.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
460         ~z7 = (CompositeView(w, Rect((if(~f7 == nil, {f7.value},{~f7.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
461         ~z8 = (CompositeView(w, Rect((if(~f8 == nil, {f8.value},{~f8.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
462         ~z9 = (CompositeView(w, Rect((if(~f9 == nil, {f9.value},{~f9.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
463         ~z10 = (CompositeView(w, Rect((if(~f10 == nil, {f10.value},{~f10.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
464         ~z11 = (CompositeView(w, Rect((if(~f11 == nil, {f11.value},{~f11.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
465         ~z12 = (CompositeView(w, Rect((if(~f12 == nil, {f12.value},{~f12.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
466         ~zmid = (CompositeView(w, Rect(x, 280, ~nw, 2)).background = Color.clear;);
467         ~z25 = (CompositeView(w, Rect((if(~f1 == nil, {f1.value},{~f1.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
468         ~z26 = (CompositeView(w, Rect((if(~f2 == nil, {f2.value},{~f2.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
469         ~z27 = (CompositeView(w, Rect((if(~f3 == nil, {f3.value},{~f3.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
470         ~z28 = (CompositeView(w, Rect((if(~f4 == nil, {f4.value},{~f4.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
471         ~z29 = (CompositeView(w, Rect((if(~f5 == nil, {f5.value},{~f5.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
472         ~z30 = (CompositeView(w, Rect((if(~f6 == nil, {f6.value},{~f6.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
473         ~z31 = (CompositeView(w, Rect((if(~f7 == nil, {f7.value},{~f7.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
474         ~z32 = (CompositeView(w, Rect((if(~f8 == nil, {f8.value},{~f8.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
475         ~z33 = (CompositeView(w, Rect((if(~f9 == nil, {f9.value},{~f9.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
476         ~z34 = (CompositeView(w, Rect((if(~f10 == nil, {f10.value},{~f10.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
477         ~z35 = (CompositeView(w, Rect((if(~f11 == nil, {f11.value},{~f11.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
478         ~z36 = (CompositeView(w, Rect((if(~f12 == nil, {f12.value},{~f12.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
479
480
481         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
482
483
484         //synth functions (open, flow, slide, pause, free)
485
486         ~synthopen = {
487                 case
488                 {((~l1a.isRunning == false) and: (~l1a1.isRunning == false)) or: ~l1a1.isRunning == true}{
489                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
490                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
491                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
492                                 ~l1a1.set(\dur, f1,     \vol, vol1, \tune, tune);  ~l1b1.set(\dur, f1,  \vol, vol1, \tune, tune);
493                                 ~l1c1.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d1.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
494                                 ~l1e1.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f1.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
495                                 ~l2a1.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b1.set(\dur, f2,  \vol, vol2, \tune, tune);
496                                 ~l2c1.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d1.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
497                                 ~l2e1.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f1.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
498                                 ~l3a1.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b1.set(\dur, f3,  \vol, vol3, \tune, tune);
499                                 ~l3c1.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d1.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
500                                 ~l3e1.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f1.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
501                                 ~l4a1.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b1.set(\dur, f4,  \vol, vol4, \tune, tune);
502                                 ~l4c1.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d1.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
503                                 ~l4e1.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f1.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
504                                 ~l5a1.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b1.set(\dur, f5,  \vol, vol5, \tune, tune);
505                                 ~l5c1.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d1.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
506                                 ~l5e1.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f1.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
507                                 ~l6a1.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b1.set(\dur, f6,  \vol, vol6, \tune, tune);
508                                 ~l6c1.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d1.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
509                                 ~l6e1.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f1.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
510                                 ~l7a1.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b1.set(\dur, f7,  \vol, vol7, \tune, tune);
511                                 ~l7c1.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d1.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
512                                 ~l7e1.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f1.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
513                                 ~l8a1.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b1.set(\dur, f8,  \vol, vol8, \tune, tune);
514                                 ~l8c1.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d1.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
515                                 ~l8e1.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f1.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
516                                 ~l9a1.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b1.set(\dur, f9,  \vol, vol9, \tune, tune);
517                                 ~l9c1.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d1.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
518                                 ~l9e1.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f1.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
519                                 ~l10a1.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b1.set(\dur, f10,  \vol, vol10, \tune, tune);
520                                 ~l10c1.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d1.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
521                                 ~l10e1.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f1.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
522                                 ~l11a1.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b1.set(\dur, f11,  \vol, vol11, \tune, tune);
523                                 ~l11c1.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d1.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
524                                 ~l11e1.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f1.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
525                                 ~l12a1.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b1.set(\dur, f12,  \vol, vol12, \tune, tune);
526                                 ~l12c1.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d1.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
527                                 ~l12e1.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f1.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
528                         }););
529
530                         (
531                                 1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
532                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
533                                         #s1,s2,s3,s4,s5,s6 = [\gsineicfld6, \gsineicrld6, \gsineicfld2, \gsineicrld2, \gsineicfld1, \gsineicrld1];
534                                         ~l1a = Synth(s1, [\dur, ~f1,    \vol, vol1, \tune, tune]).register;    ~l1b = Synth(s2, [\dur, ~f1,    \vol, vol1, \tune, tune]);
535                                         ~l1c = Synth(s3, [\dur, ~f1/~icd3,  \vol, vol1, \tune, tune]);   ~l1d = Synth(s4, [\dur, ~f1/~icd3,  \vol, vol1, \tune, tune]);
536                                         ~l1e = Synth(s5, [\dur, ~f1/~icd6,  \vol, vol1, \tune, tune]);   ~l1f = Synth(s6, [\dur, ~f1/~icd6,  \vol, vol1, \tune, tune]);
537                                         ~l2a = Synth(s1, [\dur, ~f2,    \vol, vol2, \tune, tune]);        ~l2b = Synth(s2, [\dur, ~f2,    \vol, vol2, \tune, tune]);
538                                         ~l2c = Synth(s3, [\dur, ~f2/~icd3,  \vol, vol2, \tune, tune]);   ~l2d = Synth(s4, [\dur, ~f2/~icd3,  \vol, vol2, \tune, tune]);
539                                         ~l2e = Synth(s5, [\dur, ~f2/~icd6,  \vol, vol2, \tune, tune]);   ~l2f = Synth(s6, [\dur, ~f2/~icd6,  \vol, vol2, \tune, tune]);
540                                         ~l3a = Synth(s1, [\dur, ~f3,    \vol, vol3, \tune, tune]);        ~l3b = Synth(s2, [\dur, ~f3,   \vol, vol3, \tune, tune]);
541                                         ~l3c = Synth(s3, [\dur, ~f3/~icd3,  \vol, vol3, \tune, tune]);   ~l3d = Synth(s4, [\dur, ~f3/~icd3, \vol, vol3, \tune, tune]);
542                                         ~l3e = Synth(s5, [\dur, ~f3/~icd6,  \vol, vol3, \tune, tune]);   ~l3f = Synth(s6, [\dur, ~f3/~icd6, \vol, vol3, \tune, tune]);
543                                         ~l4a = Synth(s1, [\dur, ~f4,    \vol, vol4, \tune, tune]);       ~l4b = Synth(s2, [\dur, ~f4,   \vol, vol4, \tune, tune]);
544                                         ~l4c = Synth(s3, [\dur, ~f4/~icd3,  \vol, vol4, \tune, tune]);  ~l4d = Synth(s4, [\dur, ~f4/~icd3, \vol, vol4, \tune, tune]);
545                                         ~l4e = Synth(s5, [\dur, ~f4/~icd6,  \vol, vol4, \tune, tune]);   ~l4f = Synth(s6, [\dur, ~f4/~icd6, \vol, vol4, \tune, tune]);
546                                         ~l5a = Synth(s1, [\dur, ~f5,    \vol, vol5, \tune, tune]);       ~l5b = Synth(s2, [\dur, ~f5,   \vol, vol5, \tune, tune]);
547                                         ~l5c = Synth(s3, [\dur, ~f5/~icd3,  \vol, vol5, \tune, tune]);   ~l5d = Synth(s4, [\dur, ~f5/~icd3, \vol, vol5, \tune, tune]);
548                                         ~l5e = Synth(s5, [\dur, ~f5/~icd6,  \vol, vol5, \tune, tune]);   ~l5f = Synth(s6, [\dur, ~f5/~icd6, \vol, vol5, \tune, tune]);
549                                         ~l6a = Synth(s1, [\dur, ~f6,    \vol, vol6, \tune, tune]);       ~l6b = Synth(s2, [\dur, ~f6,   \vol, vol6, \tune, tune]);
550                                         ~l6c = Synth(s3, [\dur, ~f6/~icd3,  \vol, vol6, \tune, tune]);   ~l6d = Synth(s4, [\dur, ~f6/~icd3, \vol, vol6, \tune, tune]);
551                                         ~l6e = Synth(s5, [\dur, ~f6/~icd6,  \vol, vol6, \tune, tune]);   ~l6f = Synth(s6, [\dur, ~f6/~icd6, \vol, vol6, \tune, tune]);
552                                         ~l7a = Synth(s1, [\dur, ~f7,    \vol, vol7, \tune, tune]);       ~l7b = Synth(s2, [\dur, ~f7,   \vol, vol7, \tune, tune]);
553                                         ~l7c = Synth(s3, [\dur, ~f7/~icd3,  \vol, vol7, \tune, tune]);   ~l7d = Synth(s4, [\dur, ~f7/~icd3, \vol, vol7, \tune, tune]);
554                                         ~l7e = Synth(s5, [\dur, ~f7/~icd6,  \vol, vol7, \tune, tune]);   ~l7f = Synth(s6, [\dur, ~f7/~icd6, \vol, vol7, \tune, tune]);
555                                         ~l8a = Synth(s1, [\dur, ~f8,    \vol, vol8, \tune, tune]);       ~l8b = Synth(s2, [\dur, ~f8,   \vol, vol8, \tune, tune]);
556                                         ~l8c = Synth(s3, [\dur, ~f8/~icd3,  \vol, vol8, \tune, tune]);   ~l8d = Synth(s4, [\dur, ~f8/~icd3, \vol, vol8, \tune, tune]);
557                                         ~l8e = Synth(s5, [\dur, ~f8/~icd6,  \vol, vol8, \tune, tune]);   ~l8f = Synth(s6, [\dur, ~f8/~icd6, \vol, vol8, \tune, tune]);
558                                         ~l9a = Synth(s1, [\dur, ~f9,    \vol, vol9, \tune, tune]);       ~l9b = Synth(s2, [\dur, ~f9,   \vol, vol9, \tune, tune]);
559                                         ~l9c = Synth(s3, [\dur, ~f9/~icd3,  \vol, vol9, \tune, tune]);   ~l9d = Synth(s4, [\dur, ~f9/~icd3, \vol, vol9, \tune, tune]);
560                                         ~l9e = Synth(s5, [\dur, ~f9/~icd6,  \vol, vol9, \tune, tune]);   ~l9f = Synth(s6, [\dur, ~f9/~icd6, \vol, vol9, \tune, tune]);
561                                         ~l10a = Synth(s1, [\dur,~f10,  \vol, vol10, \tune, tune]);       ~l10b = Synth(s2, [\dur, ~f10, \vol, vol10, \tune, tune]);
562                                         ~l10c = Synth(s3, [\dur, ~f10/~icd3,  \vol, vol10, \tune, tune]);~l10d = Synth(s4, [\dur, ~f10/~icd3,  \vol, vol10, \tune, tune]);
563                                         ~l10e = Synth(s5, [\dur, ~f10/~icd6,  \vol, vol10, \tune, tune]);~l10f = Synth(s6, [\dur, ~f10/~icd6,  \vol, vol10, \tune, tune]);
564                                         ~l11a = Synth(s1, [\dur,~f11,   \vol, vol11, \tune, tune]);      ~l11b = Synth(s2, [\dur, ~f11,    \vol, vol11, \tune, tune]);
565                                         ~l11c = Synth(s3, [\dur, ~f11/~icd3,  \vol, vol11, \tune, tune]);~l11d = Synth(s4, [\dur, ~f11/~icd3,  \vol, vol11, \tune, tune]);
566                                         ~l11e = Synth(s5, [\dur, ~f11/~icd6,  \vol, vol11, \tune, tune]);~l11f = Synth(s6, [\dur, ~f11/~icd6,  \vol, vol11, \tune, tune]);
567                                         ~l12a = Synth(s1, [\dur,~f12,   \vol, vol12, \tune, tune]);      ~l12b = Synth(s2, [\dur, ~f12,    \vol, vol12, \tune, tune]);
568                                         ~l12c = Synth(s3, [\dur, ~f12/~icd3,  \vol, vol12, \tune, tune]);~l12d = Synth(s4, [\dur, ~f12/~icd3,  \vol, vol12, \tune, tune]);
569                                         ~l12e = Synth(s5, [\dur, ~f12/~icd6,  \vol, vol12, \tune, tune]);~l12f = Synth(s6, [\dur, ~f12/~icd6,  \vol, vol12, \tune, tune]);
570                                 });
571                         );
572                         AppClock.sched(0.161803398875,{
573                                 ([~l1a1,~l1b1,~l1c1,~l1d1,~l1e1,~l1f1,~l2a1,~l2b1,~l2c1,~l2d1,~l2e1,~l2f1,~l3a1,~l3b1,~l3c1,~l3d1,~l3e1,~l3f1,~l4a1,~l4b1,~l4c1,~l4d1,~l4e1,~l4f1,~l5a1,~l5b1,~l5c1,~l5d1,~l5e1,~l5f1,~l6a1,~l6b1,~l6c1,~l6d1,~l6e1,~l6f1,~l7a1,~l7b1,~l7c1,~l7d1,~l7e1,~l7f1,~l8a1,~l8b1,~l8c1,~l8d1,~l8e1,~l8f1,~l9a1,~l9b1,~l9c1,~l9d1,~l9e1,~l9f1,~l10a1,~l10b1,~l10c1,~l10d1,~l10e1,~l10f1,~l11a1,~l11b1,~l11c1,~l11d1,~l11e1,~l11f1,~l12a1,~l12b1,~l12c1,~l12d1,~l12e1,~l12f1 ].do(_.free)); ~slideroutine.stop;
574                         });
575                 }
576                 {~l1a.isRunning == true}{
577                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
578                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
579                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
580                                 ~l1a.set(\dur, f1,     \vol, vol1, \tune, tune);  ~l1b.set(\dur, f1,  \vol, vol1, \tune, tune);
581                                 ~l1c.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
582                                 ~l1e.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
583                                 ~l2a.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b.set(\dur, f2,  \vol, vol2, \tune, tune);
584                                 ~l2c.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
585                                 ~l2e.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
586                                 ~l3a.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b.set(\dur, f3,  \vol, vol3, \tune, tune);
587                                 ~l3c.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
588                                 ~l3e.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
589                                 ~l4a.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b.set(\dur, f4,  \vol, vol4, \tune, tune);
590                                 ~l4c.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
591                                 ~l4e.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
592                                 ~l5a.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b.set(\dur, f5,  \vol, vol5, \tune, tune);
593                                 ~l5c.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
594                                 ~l5e.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
595                                 ~l6a.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b.set(\dur, f6,  \vol, vol6, \tune, tune);
596                                 ~l6c.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
597                                 ~l6e.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
598                                 ~l7a.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b.set(\dur, f7,  \vol, vol7, \tune, tune);
599                                 ~l7c.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
600                                 ~l7e.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
601                                 ~l8a.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b.set(\dur, f8,  \vol, vol8, \tune, tune);
602                                 ~l8c.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
603                                 ~l8e.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
604                                 ~l9a.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b.set(\dur, f9,  \vol, vol9, \tune, tune);
605                                 ~l9c.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
606                                 ~l9e.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
607                                 ~l10a.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b.set(\dur, f10,  \vol, vol10, \tune, tune);
608                                 ~l10c.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
609                                 ~l10e.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
610                                 ~l11a.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b.set(\dur, f11,  \vol, vol11, \tune, tune);
611                                 ~l11c.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
612                                 ~l11e.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
613                                 ~l12a.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b.set(\dur, f12,  \vol, vol12, \tune, tune);
614                                 ~l12c.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
615                                 ~l12e.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
616                         }););
617
618                         (
619                                 1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
620                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
621                                         #s1,s2,s3,s4,s5,s6 = [\gsineicfld6, \gsineicrld6, \gsineicfld2, \gsineicrld2, \gsineicfld1, \gsineicrld1];
622                                         ~l1a1 = Synth(s1, [\dur, ~f1,    \vol, vol1, \tune, tune]).register;    ~l1b1 = Synth(s2, [\dur, ~f1,    \vol, vol1, \tune, tune]);
623                                         ~l1c1 = Synth(s3, [\dur, ~f1/~icd3,  \vol, vol1, \tune, tune]);   ~l1d1 = Synth(s4, [\dur, ~f1/~icd3,  \vol, vol1, \tune, tune]);
624                                         ~l1e1 = Synth(s5, [\dur, ~f1/~icd6,  \vol, vol1, \tune, tune]);   ~l1f1 = Synth(s6, [\dur, ~f1/~icd6,  \vol, vol1, \tune, tune]);
625                                         ~l2a1 = Synth(s1, [\dur, ~f2,    \vol, vol2, \tune, tune]);        ~l2b1 = Synth(s2, [\dur, ~f2,    \vol, vol2, \tune, tune]);
626                                         ~l2c1 = Synth(s3, [\dur, ~f2/~icd3,  \vol, vol2, \tune, tune]);   ~l2d1 = Synth(s4, [\dur, ~f2/~icd3,  \vol, vol2, \tune, tune]);
627                                         ~l2e1 = Synth(s5, [\dur, ~f2/~icd6,  \vol, vol2, \tune, tune]);   ~l2f1 = Synth(s6, [\dur, ~f2/~icd6,  \vol, vol2, \tune, tune]);
628                                         ~l3a1 = Synth(s1, [\dur, ~f3,    \vol, vol3, \tune, tune]);        ~l3b1 = Synth(s2, [\dur, ~f3,   \vol, vol3, \tune, tune]);
629                                         ~l3c1 = Synth(s3, [\dur, ~f3/~icd3,  \vol, vol3, \tune, tune]);   ~l3d1 = Synth(s4, [\dur, ~f3/~icd3, \vol, vol3, \tune, tune]);
630                                         ~l3e1 = Synth(s5, [\dur, ~f3/~icd6,  \vol, vol3, \tune, tune]);   ~l3f1 = Synth(s6, [\dur, ~f3/~icd6, \vol, vol3, \tune, tune]);
631                                         ~l4a1 = Synth(s1, [\dur, ~f4,    \vol, vol4, \tune, tune]);       ~l4b1 = Synth(s2, [\dur, ~f4,   \vol, vol4, \tune, tune]);
632                                         ~l4c1 = Synth(s3, [\dur, ~f4/~icd3,  \vol, vol4, \tune, tune]);  ~l4d1 = Synth(s4, [\dur, ~f4/~icd3, \vol, vol4, \tune, tune]);
633                                         ~l4e1 = Synth(s5, [\dur, ~f4/~icd6,  \vol, vol4, \tune, tune]);   ~l4f1 = Synth(s6, [\dur, ~f4/~icd6, \vol, vol4, \tune, tune]);
634                                         ~l5a1 = Synth(s1, [\dur, ~f5,    \vol, vol5, \tune, tune]);       ~l5b1 = Synth(s2, [\dur, ~f5,   \vol, vol5, \tune, tune]);
635                                         ~l5c1 = Synth(s3, [\dur, ~f5/~icd3,  \vol, vol5, \tune, tune]);   ~l5d1 = Synth(s4, [\dur, ~f5/~icd3, \vol, vol5, \tune, tune]);
636                                         ~l5e1 = Synth(s5, [\dur, ~f5/~icd6,  \vol, vol5, \tune, tune]);   ~l5f1 = Synth(s6, [\dur, ~f5/~icd6, \vol, vol5, \tune, tune]);
637                                         ~l6a1 = Synth(s1, [\dur, ~f6,    \vol, vol6, \tune, tune]);       ~l6b1 = Synth(s2, [\dur, ~f6,   \vol, vol6, \tune, tune]);
638                                         ~l6c1 = Synth(s3, [\dur, ~f6/~icd3,  \vol, vol6, \tune, tune]);   ~l6d1 = Synth(s4, [\dur, ~f6/~icd3, \vol, vol6, \tune, tune]);
639                                         ~l6e1 = Synth(s5, [\dur, ~f6/~icd6,  \vol, vol6, \tune, tune]);   ~l6f1 = Synth(s6, [\dur, ~f6/~icd6, \vol, vol6, \tune, tune]);
640                                         ~l7a1 = Synth(s1, [\dur, ~f7,    \vol, vol7, \tune, tune]);       ~l7b1 = Synth(s2, [\dur, ~f7,   \vol, vol7, \tune, tune]);
641                                         ~l7c1 = Synth(s3, [\dur, ~f7/~icd3,  \vol, vol7, \tune, tune]);   ~l7d1 = Synth(s4, [\dur, ~f7/~icd3, \vol, vol7, \tune, tune]);
642                                         ~l7e1 = Synth(s5, [\dur, ~f7/~icd6,  \vol, vol7, \tune, tune]);   ~l7f1 = Synth(s6, [\dur, ~f7/~icd6, \vol, vol7, \tune, tune]);
643                                         ~l8a1 = Synth(s1, [\dur, ~f8,    \vol, vol8, \tune, tune]);       ~l8b1 = Synth(s2, [\dur, ~f8,   \vol, vol8, \tune, tune]);
644                                         ~l8c1 = Synth(s3, [\dur, ~f8/~icd3,  \vol, vol8, \tune, tune]);   ~l8d1 = Synth(s4, [\dur, ~f8/~icd3, \vol, vol8, \tune, tune]);
645                                         ~l8e1 = Synth(s5, [\dur, ~f8/~icd6,  \vol, vol8, \tune, tune]);   ~l8f1 = Synth(s6, [\dur, ~f8/~icd6, \vol, vol8, \tune, tune]);
646                                         ~l9a1 = Synth(s1, [\dur, ~f9,    \vol, vol9, \tune, tune]);       ~l9b1 = Synth(s2, [\dur, ~f9,   \vol, vol9, \tune, tune]);
647                                         ~l9c1 = Synth(s3, [\dur, ~f9/~icd3,  \vol, vol9, \tune, tune]);   ~l9d1 = Synth(s4, [\dur, ~f9/~icd3, \vol, vol9, \tune, tune]);
648                                         ~l9e1 = Synth(s5, [\dur, ~f9/~icd6,  \vol, vol9, \tune, tune]);   ~l9f1 = Synth(s6, [\dur, ~f9/~icd6, \vol, vol9, \tune, tune]);
649                                         ~l10a1 = Synth(s1, [\dur,~f10,  \vol, vol10, \tune, tune]);       ~l10b1 = Synth(s2, [\dur, ~f10, \vol, vol10, \tune, tune]);
650                                         ~l10c1 = Synth(s3, [\dur, ~f10/~icd3,  \vol, vol10, \tune, tune]);~l10d1 = Synth(s4, [\dur, ~f10/~icd3,  \vol, vol10, \tune, tune]);
651                                         ~l10e1 = Synth(s5, [\dur, ~f10/~icd6,  \vol, vol10, \tune, tune]);~l10f1 = Synth(s6, [\dur, ~f10/~icd6,  \vol, vol10, \tune, tune]);
652                                         ~l11a1 = Synth(s1, [\dur,~f11,   \vol, vol11, \tune, tune]);      ~l11b1 = Synth(s2, [\dur, ~f11,    \vol, vol11, \tune, tune]);
653                                         ~l11c1 = Synth(s3, [\dur, ~f11/~icd3,  \vol, vol11, \tune, tune]);~l11d1 = Synth(s4, [\dur, ~f11/~icd3,  \vol, vol11, \tune, tune]);
654                                         ~l11e1 = Synth(s5, [\dur, ~f11/~icd6,  \vol, vol11, \tune, tune]);~l11f1 = Synth(s6, [\dur, ~f11/~icd6,  \vol, vol11, \tune, tune]);
655                                         ~l12a1 = Synth(s1, [\dur,~f12,   \vol, vol12, \tune, tune]);      ~l12b1 = Synth(s2, [\dur, ~f12,    \vol, vol12, \tune, tune]);
656                                         ~l12c1 = Synth(s3, [\dur, ~f12/~icd3,  \vol, vol12, \tune, tune]);~l12d1 = Synth(s4, [\dur, ~f12/~icd3,  \vol, vol12, \tune, tune]);
657                                         ~l12e1 = Synth(s5, [\dur, ~f12/~icd6,  \vol, vol12, \tune, tune]);~l12f1 = Synth(s6, [\dur, ~f12/~icd6,  \vol, vol12, \tune, tune]);
658
659                                 });
660                         );
661                         AppClock.sched(0.161803398875,{
662                                 ([~l1a,~l1b,~l1c,~l1d,~l1e,~l1f,~l2a,~l2b,~l2c,~l2d,~l2e,~l2f,~l3a,~l3b,~l3c,~l3d,~l3e,~l3f,~l4a,~l4b,~l4c,~l4d,~l4e,~l4f,~l5a,~l5b,~l5c,~l5d,~l5e,~l5f,~l6a,~l6b,~l6c,~l6d,~l6e,~l6f,~l7a,~l7b,~l7c,~l7d,~l7e,~l7f,~l8a,~l8b,~l8c,~l8d,~l8e,~l8f,~l9a,~l9b,~l9c,~l9d,~l9e,~l9f,~l10a,~l10b,~l10c,~l10d,~l10e,~l10f,~l11a,~l11b,~l11c,~l11d,~l11e,~l11f,~l12a,~l12b,~l12c,~l12d,~l12e,~l12f].do(_.free)); ~slideroutine.stop;
663                         });
664                 };
665
666                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
667                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
668                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
669                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
670                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
671                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
672                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
673                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
674                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
675                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
676                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
677                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
678
679                 b3.value = 1;
680         };
681
682         ~synthflow = {
683                 case
684                 {~l1a1.isRunning == true}{
685                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
686                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
687                                 ~l1a1.set(\dur, ~f1,     \vol, vol1, \tune, tune);  ~l1b1.set(\dur, ~f1,  \vol, vol1, \tune, tune);
688                                 ~l1c1.set(\dur, ~f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d1.set(\dur, ~f1/~icd3,  \vol, vol1, \tune, tune);
689                                 ~l1e1.set(\dur, ~f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f1.set(\dur, ~f1/~icd6,  \vol, vol1, \tune, tune);
690                                 ~l2a1.set(\dur, ~f2,     \vol, vol2, \tune, tune);          ~l2b1.set(\dur, ~f2,  \vol, vol2, \tune, tune);
691                                 ~l2c1.set(\dur, ~f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d1.set(\dur, ~f2/~icd3,  \vol, vol2, \tune, tune);
692                                 ~l2e1.set(\dur, ~f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f1.set(\dur, ~f2/~icd6,  \vol, vol2, \tune, tune);
693                                 ~l3a1.set(\dur, ~f3,     \vol, vol3, \tune, tune);          ~l3b1.set(\dur, ~f3,  \vol, vol3, \tune, tune);
694                                 ~l3c1.set(\dur, ~f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d1.set(\dur, ~f3/~icd3,  \vol, vol3, \tune, tune);
695                                 ~l3e1.set(\dur, ~f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f1.set(\dur, ~f3/~icd6,  \vol, vol3, \tune, tune);
696                                 ~l4a1.set(\dur, ~f4,    \vol, vol4, \tune, tune);           ~l4b1.set(\dur, ~f4,  \vol, vol4, \tune, tune);
697                                 ~l4c1.set(\dur, ~f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d1.set(\dur, ~f4/~icd3,  \vol, vol4, \tune, tune);
698                                 ~l4e1.set(\dur, ~f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f1.set(\dur, ~f4/~icd6,  \vol, vol4, \tune, tune);
699                                 ~l5a1.set(\dur, ~f5,    \vol, vol5, \tune, tune);           ~l5b1.set(\dur, ~f5,  \vol, vol5, \tune, tune);
700                                 ~l5c1.set(\dur, ~f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d1.set(\dur, ~f5/~icd3,  \vol, vol5, \tune, tune);
701                                 ~l5e1.set(\dur, ~f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f1.set(\dur, ~f5/~icd6,  \vol, vol5, \tune, tune);
702                                 ~l6a1.set(\dur, ~f6,    \vol, vol6, \tune, tune);           ~l6b1.set(\dur, ~f6,  \vol, vol6, \tune, tune);
703                                 ~l6c1.set(\dur, ~f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d1.set(\dur, ~f6/~icd3,  \vol, vol6, \tune, tune);
704                                 ~l6e1.set(\dur, ~f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f1.set(\dur, ~f6/~icd6,  \vol, vol6, \tune, tune);
705                                 ~l7a1.set(\dur, ~f7,    \vol, vol7, \tune, tune);           ~l7b1.set(\dur, ~f7,  \vol, vol7, \tune, tune);
706                                 ~l7c1.set(\dur, ~f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d1.set(\dur, ~f7/~icd3,  \vol, vol7, \tune, tune);
707                                 ~l7e1.set(\dur, ~f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f1.set(\dur, ~f7/~icd6,  \vol, vol7, \tune, tune);
708                                 ~l8a1.set(\dur, ~f8,    \vol, vol8, \tune, tune);           ~l8b1.set(\dur, ~f8,  \vol, vol8, \tune, tune);
709                                 ~l8c1.set(\dur, ~f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d1.set(\dur, ~f8/~icd3,  \vol, vol8, \tune, tune);
710                                 ~l8e1.set(\dur, ~f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f1.set(\dur, ~f8/~icd6,  \vol, vol8, \tune, tune);
711                                 ~l9a1.set(\dur, ~f9,    \vol, vol9,  \tune, tune);          ~l9b1.set(\dur, ~f9,  \vol, vol9, \tune, tune);
712                                 ~l9c1.set(\dur, ~f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d1.set(\dur, ~f9/~icd3,  \vol, vol9, \tune, tune);
713                                 ~l9e1.set(\dur, ~f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f1.set(\dur, ~f9/~icd6,  \vol, vol9, \tune, tune);
714                                 ~l10a1.set(\dur, ~f10,  \vol, vol10,  \tune, tune);         ~l10b1.set(\dur, ~f10,  \vol, vol10, \tune, tune);
715                                 ~l10c1.set(\dur, ~f10/~icd3,     \vol, vol10,  \tune, tune);~l10d1.set(\dur, ~f10/~icd3,  \vol, vol10, \tune, tune);
716                                 ~l10e1.set(\dur, ~f10/~icd6,     \vol, vol10,  \tune, tune);~l10f1.set(\dur, ~f10/~icd6,  \vol, vol10, \tune, tune);
717                                 ~l11a1.set(\dur, ~f11,  \vol, vol11,  \tune, tune);         ~l11b1.set(\dur, ~f11,  \vol, vol11, \tune, tune);
718                                 ~l11c1.set(\dur, ~f11/~icd3,     \vol, vol11,  \tune, tune);~l11d1.set(\dur, ~f11/~icd3,  \vol, vol11, \tune, tune);
719                                 ~l11e1.set(\dur, ~f11/~icd6,     \vol, vol11,  \tune, tune);~l11f1.set(\dur, ~f11/~icd6,  \vol, vol11, \tune, tune);
720                                 ~l12a1.set(\dur, ~f12,  \vol, vol12,  \tune, tune);         ~l12b1.set(\dur, ~f12,  \vol, vol12, \tune, tune);
721                                 ~l12c1.set(\dur, ~f12/~icd3,     \vol, vol12,  \tune, tune);~l12d1.set(\dur, ~f12/~icd3,  \vol, vol12, \tune, tune);
722                                 ~l12e1.set(\dur, ~f12/~icd6,     \vol, vol12,  \tune, tune);~l12f1.set(\dur, ~f12/~icd6,  \vol, vol12, \tune, tune);
723                         }););
724                 }
725                 {~l1a.isRunning == true} {
726                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
727                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
728                                 ~l1a.set(\dur, ~f1,     \vol, vol1, \tune, tune);  ~l1b.set(\dur, ~f1,  \vol, vol1, \tune, tune);
729                                 ~l1c.set(\dur, ~f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d.set(\dur, ~f1/~icd3,  \vol, vol1, \tune, tune);
730                                 ~l1e.set(\dur, ~f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f.set(\dur, ~f1/~icd6,  \vol, vol1, \tune, tune);
731                                 ~l2a.set(\dur, ~f2,     \vol, vol2, \tune, tune);          ~l2b.set(\dur, ~f2,  \vol, vol2, \tune, tune);
732                                 ~l2c.set(\dur, ~f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d.set(\dur, ~f2/~icd3,  \vol, vol2, \tune, tune);
733                                 ~l2e.set(\dur, ~f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f.set(\dur, ~f2/~icd6,  \vol, vol2, \tune, tune);
734                                 ~l3a.set(\dur, ~f3,     \vol, vol3, \tune, tune);          ~l3b.set(\dur, ~f3,  \vol, vol3, \tune, tune);
735                                 ~l3c.set(\dur, ~f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d.set(\dur, ~f3/~icd3,  \vol, vol3, \tune, tune);
736                                 ~l3e.set(\dur, ~f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f.set(\dur, ~f3/~icd6,  \vol, vol3, \tune, tune);
737                                 ~l4a.set(\dur, ~f4,    \vol, vol4, \tune, tune);           ~l4b.set(\dur, ~f4,  \vol, vol4, \tune, tune);
738                                 ~l4c.set(\dur, ~f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d.set(\dur, ~f4/~icd3,  \vol, vol4, \tune, tune);
739                                 ~l4e.set(\dur, ~f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f.set(\dur, ~f4/~icd6,  \vol, vol4, \tune, tune);
740                                 ~l5a.set(\dur, ~f5,    \vol, vol5, \tune, tune);           ~l5b.set(\dur, ~f5,  \vol, vol5, \tune, tune);
741                                 ~l5c.set(\dur, ~f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d.set(\dur, ~f5/~icd3,  \vol, vol5, \tune, tune);
742                                 ~l5e.set(\dur, ~f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f.set(\dur, ~f5/~icd6,  \vol, vol5, \tune, tune);
743                                 ~l6a.set(\dur, ~f6,    \vol, vol6, \tune, tune);           ~l6b.set(\dur, ~f6,  \vol, vol6, \tune, tune);
744                                 ~l6c.set(\dur, ~f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d.set(\dur, ~f6/~icd3,  \vol, vol6, \tune, tune);
745                                 ~l6e.set(\dur, ~f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f.set(\dur, ~f6/~icd6,  \vol, vol6, \tune, tune);
746                                 ~l7a.set(\dur, ~f7,    \vol, vol7, \tune, tune);           ~l7b.set(\dur, ~f7,  \vol, vol7, \tune, tune);
747                                 ~l7c.set(\dur, ~f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d.set(\dur, ~f7/~icd3,  \vol, vol7, \tune, tune);
748                                 ~l7e.set(\dur, ~f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f.set(\dur, ~f7/~icd6,  \vol, vol7, \tune, tune);
749                                 ~l8a.set(\dur, ~f8,    \vol, vol8, \tune, tune);           ~l8b.set(\dur, ~f8,  \vol, vol8, \tune, tune);
750                                 ~l8c.set(\dur, ~f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d.set(\dur, ~f8/~icd3,  \vol, vol8, \tune, tune);
751                                 ~l8e.set(\dur, ~f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f.set(\dur, ~f8/~icd6,  \vol, vol8, \tune, tune);
752                                 ~l9a.set(\dur, ~f9,    \vol, vol9,  \tune, tune);          ~l9b.set(\dur, ~f9,  \vol, vol9, \tune, tune);
753                                 ~l9c.set(\dur, ~f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d.set(\dur, ~f9/~icd3,  \vol, vol9, \tune, tune);
754                                 ~l9e.set(\dur, ~f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f.set(\dur, ~f9/~icd6,  \vol, vol9, \tune, tune);
755                                 ~l10a.set(\dur, ~f10,  \vol, vol10,  \tune, tune);         ~l10b.set(\dur, ~f10,  \vol, vol10, \tune, tune);
756                                 ~l10c.set(\dur, ~f10/~icd3,     \vol, vol10,  \tune, tune);~l10d.set(\dur, ~f10/~icd3,  \vol, vol10, \tune, tune);
757                                 ~l10e.set(\dur, ~f10/~icd6,     \vol, vol10,  \tune, tune);~l10f.set(\dur, ~f10/~icd6,  \vol, vol10, \tune, tune);
758                                 ~l11a.set(\dur, ~f11,  \vol, vol11,  \tune, tune);         ~l11b.set(\dur, ~f11,  \vol, vol11, \tune, tune);
759                                 ~l11c.set(\dur, ~f11/~icd3,     \vol, vol11,  \tune, tune);~l11d.set(\dur, ~f11/~icd3,  \vol, vol11, \tune, tune);
760                                 ~l11e.set(\dur, ~f11/~icd6,     \vol, vol11,  \tune, tune);~l11f.set(\dur, ~f11/~icd6,  \vol, vol11, \tune, tune);
761                                 ~l12a.set(\dur, ~f12,  \vol, vol12,  \tune, tune);         ~l12b.set(\dur, ~f12,  \vol, vol12, \tune, tune);
762                                 ~l12c.set(\dur, ~f12/~icd3,     \vol, vol12,  \tune, tune);~l12d.set(\dur, ~f12/~icd3,  \vol, vol12, \tune, tune);
763                                 ~l12e.set(\dur, ~f12/~icd6,     \vol, vol12,  \tune, tune);~l12f.set(\dur, ~f12/~icd6,  \vol, vol12, \tune, tune);
764
765                         }););
766                 };
767
768                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
769                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
770                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
771                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
772                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
773                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
774                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
775                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
776                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
777                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
778                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
779                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
780
781         };
782
783         ~synthslide = {
784                 case
785                 {~l1a1.isRunning == true}{(//fprog
786                         ~slideroutine = Routine({1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
787                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
788                                 ~slidedo.do({~slidecount=~slidecount-1;
789                                         (
790                                                 [ ~f1=~f1+g,~f2=~f2+h,~f3=~f3+i,~f4=~f4+j,~f5=~f5+k,~f6=~f6+l,~f7=~f7+m,~f8=~f8+n,~f9=~f9+o,~f10=~f10+p,~f11=~f11+q,~f12=~f12+r ];
791                                                 ~l1a1.set(\dur, ~f1,     \vol, vol1, \tune, tune);  ~l1b1.set(\dur, ~f1,  \vol, vol1, \tune, tune);
792                                                 ~l1c1.set(\dur, ~f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d1.set(\dur, ~f1/~icd3,  \vol, vol1, \tune, tune);
793                                                 ~l1e1.set(\dur, ~f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f1.set(\dur, ~f1/~icd6,  \vol, vol1, \tune, tune);
794                                                 ~l2a1.set(\dur, ~f2,     \vol, vol2, \tune, tune);          ~l2b1.set(\dur, ~f2,  \vol, vol2, \tune, tune);
795                                                 ~l2c1.set(\dur, ~f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d1.set(\dur, ~f2/~icd3,  \vol, vol2, \tune, tune);
796                                                 ~l2e1.set(\dur, ~f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f1.set(\dur, ~f2/~icd6,  \vol, vol2, \tune, tune);
797                                                 ~l3a1.set(\dur, ~f3,     \vol, vol3, \tune, tune);          ~l3b1.set(\dur, ~f3,  \vol, vol3, \tune, tune);
798                                                 ~l3c1.set(\dur, ~f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d1.set(\dur, ~f3/~icd3,  \vol, vol3, \tune, tune);
799                                                 ~l3e1.set(\dur, ~f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f1.set(\dur, ~f3/~icd6,  \vol, vol3, \tune, tune);
800                                                 ~l4a1.set(\dur, ~f4,    \vol, vol4, \tune, tune);           ~l4b1.set(\dur, ~f4,  \vol, vol4, \tune, tune);
801                                                 ~l4c1.set(\dur, ~f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d1.set(\dur, ~f4/~icd3,  \vol, vol4, \tune, tune);
802                                                 ~l4e1.set(\dur, ~f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f1.set(\dur, ~f4/~icd6,  \vol, vol4, \tune, tune);
803                                                 ~l5a1.set(\dur, ~f5,    \vol, vol5, \tune, tune);           ~l5b1.set(\dur, ~f5,  \vol, vol5, \tune, tune);
804                                                 ~l5c1.set(\dur, ~f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d1.set(\dur, ~f5/~icd3,  \vol, vol5, \tune, tune);
805                                                 ~l5e1.set(\dur, ~f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f1.set(\dur, ~f5/~icd6,  \vol, vol5, \tune, tune);
806                                                 ~l6a1.set(\dur, ~f6,    \vol, vol6, \tune, tune);           ~l6b1.set(\dur, ~f6,  \vol, vol6, \tune, tune);
807                                                 ~l6c1.set(\dur, ~f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d1.set(\dur, ~f6/~icd3,  \vol, vol6, \tune, tune);
808                                                 ~l6e1.set(\dur, ~f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f1.set(\dur, ~f6/~icd6,  \vol, vol6, \tune, tune);
809                                                 ~l7a1.set(\dur, ~f7,    \vol, vol7, \tune, tune);           ~l7b1.set(\dur, ~f7,  \vol, vol7, \tune, tune);
810                                                 ~l7c1.set(\dur, ~f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d1.set(\dur, ~f7/~icd3,  \vol, vol7, \tune, tune);
811                                                 ~l7e1.set(\dur, ~f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f1.set(\dur, ~f7/~icd6,  \vol, vol7, \tune, tune);
812                                                 ~l8a1.set(\dur, ~f8,    \vol, vol8, \tune, tune);           ~l8b1.set(\dur, ~f8,  \vol, vol8, \tune, tune);
813                                                 ~l8c1.set(\dur, ~f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d1.set(\dur, ~f8/~icd3,  \vol, vol8, \tune, tune);
814                                                 ~l8e1.set(\dur, ~f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f1.set(\dur, ~f8/~icd6,  \vol, vol8, \tune, tune);
815                                                 ~l9a1.set(\dur, ~f9,    \vol, vol9,  \tune, tune);          ~l9b1.set(\dur, ~f9,  \vol, vol9, \tune, tune);
816                                                 ~l9c1.set(\dur, ~f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d1.set(\dur, ~f9/~icd3,  \vol, vol9, \tune, tune);
817                                                 ~l9e1.set(\dur, ~f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f1.set(\dur, ~f9/~icd6,  \vol, vol9, \tune, tune);
818                                                 ~l10a1.set(\dur, ~f10,  \vol, vol10,  \tune, tune);         ~l10b1.set(\dur, ~f10,  \vol, vol10, \tune, tune);
819                                                 ~l10c1.set(\dur, ~f10/~icd3,     \vol, vol10,  \tune, tune);~l10d1.set(\dur, ~f10/~icd3,  \vol, vol10, \tune, tune);
820                                                 ~l10e1.set(\dur, ~f10/~icd6,     \vol, vol10,  \tune, tune);~l10f1.set(\dur, ~f10/~icd6,  \vol, vol10, \tune, tune);
821                                                 ~l11a1.set(\dur, ~f11,  \vol, vol11,  \tune, tune);         ~l11b1.set(\dur, ~f11,  \vol, vol11, \tune, tune);
822                                                 ~l11c1.set(\dur, ~f11/~icd3,     \vol, vol11,  \tune, tune);~l11d1.set(\dur, ~f11/~icd3,  \vol, vol11, \tune, tune);
823                                                 ~l11e1.set(\dur, ~f11/~icd6,     \vol, vol11,  \tune, tune);~l11f1.set(\dur, ~f11/~icd6,  \vol, vol11, \tune, tune);
824                                                 ~l12a1.set(\dur, ~f12,  \vol, vol12,  \tune, tune);         ~l12b1.set(\dur, ~f12,  \vol, vol12, \tune, tune);
825                                                 ~l12c1.set(\dur, ~f12/~icd3,     \vol, vol12,  \tune, tune);~l12d1.set(\dur, ~f12/~icd3,  \vol, vol12, \tune, tune);
826                                                 ~l12e1.set(\dur, ~f12/~icd6,     \vol, vol12,  \tune, tune);~l12f1.set(\dur, ~f12/~icd6,  \vol, vol12, \tune, tune);
827
828                                         );
829
830                                         {if(~slidecount==0,{
831                                                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
832                                                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
833                                                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
834                                                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
835                                                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
836                                                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
837                                                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
838                                                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
839                                                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
840                                                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
841                                                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
842                                                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
843                                         });}.defer;
844
845                                         (~slidetime/~slidedo).wait;});});}).play;);}
846                 {~l1a.isRunning == true} {(//fprog
847                         ~slideroutine = Routine({1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
848                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
849                                 ~slidedo.do({~slidecount=~slidecount-1;
850                                         (
851                                                 [ ~f1=~f1+g,~f2=~f2+h,~f3=~f3+i,~f4=~f4+j,~f5=~f5+k,~f6=~f6+l,~f7=~f7+m,~f8=~f8+n,~f9=~f9+o,~f10=~f10+p,~f11=~f11+q,~f12=~f12+r ];
852                                                 ~l1a.set(\dur, ~f1,     \vol, vol1, \tune, tune);  ~l1b.set(\dur, ~f1,  \vol, vol1, \tune, tune);
853                                                 ~l1c.set(\dur, ~f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d.set(\dur, ~f1/~icd3,  \vol, vol1, \tune, tune);
854                                                 ~l1e.set(\dur, ~f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f.set(\dur, ~f1/~icd6,  \vol, vol1, \tune, tune);
855                                                 ~l2a.set(\dur, ~f2,     \vol, vol2, \tune, tune);          ~l2b.set(\dur, ~f2,  \vol, vol2, \tune, tune);
856                                                 ~l2c.set(\dur, ~f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d.set(\dur, ~f2/~icd3,  \vol, vol2, \tune, tune);
857                                                 ~l2e.set(\dur, ~f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f.set(\dur, ~f2/~icd6,  \vol, vol2, \tune, tune);
858                                                 ~l3a.set(\dur, ~f3,     \vol, vol3, \tune, tune);          ~l3b.set(\dur, ~f3,  \vol, vol3, \tune, tune);
859                                                 ~l3c.set(\dur, ~f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d.set(\dur, ~f3/~icd3,  \vol, vol3, \tune, tune);
860                                                 ~l3e.set(\dur, ~f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f.set(\dur, ~f3/~icd6,  \vol, vol3, \tune, tune);
861                                                 ~l4a.set(\dur, ~f4,    \vol, vol4, \tune, tune);           ~l4b.set(\dur, ~f4,  \vol, vol4, \tune, tune);
862                                                 ~l4c.set(\dur, ~f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d.set(\dur, ~f4/~icd3,  \vol, vol4, \tune, tune);
863                                                 ~l4e.set(\dur, ~f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f.set(\dur, ~f4/~icd6,  \vol, vol4, \tune, tune);
864                                                 ~l5a.set(\dur, ~f5,    \vol, vol5, \tune, tune);           ~l5b.set(\dur, ~f5,  \vol, vol5, \tune, tune);
865                                                 ~l5c.set(\dur, ~f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d.set(\dur, ~f5/~icd3,  \vol, vol5, \tune, tune);
866                                                 ~l5e.set(\dur, ~f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f.set(\dur, ~f5/~icd6,  \vol, vol5, \tune, tune);
867                                                 ~l6a.set(\dur, ~f6,    \vol, vol6, \tune, tune);           ~l6b.set(\dur, ~f6,  \vol, vol6, \tune, tune);
868                                                 ~l6c.set(\dur, ~f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d.set(\dur, ~f6/~icd3,  \vol, vol6, \tune, tune);
869                                                 ~l6e.set(\dur, ~f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f.set(\dur, ~f6/~icd6,  \vol, vol6, \tune, tune);
870                                                 ~l7a.set(\dur, ~f7,    \vol, vol7, \tune, tune);           ~l7b.set(\dur, ~f7,  \vol, vol7, \tune, tune);
871                                                 ~l7c.set(\dur, ~f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d.set(\dur, ~f7/~icd3,  \vol, vol7, \tune, tune);
872                                                 ~l7e.set(\dur, ~f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f.set(\dur, ~f7/~icd6,  \vol, vol7, \tune, tune);
873                                                 ~l8a.set(\dur, ~f8,    \vol, vol8, \tune, tune);           ~l8b.set(\dur, ~f8,  \vol, vol8, \tune, tune);
874                                                 ~l8c.set(\dur, ~f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d.set(\dur, ~f8/~icd3,  \vol, vol8, \tune, tune);
875                                                 ~l8e.set(\dur, ~f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f.set(\dur, ~f8/~icd6,  \vol, vol8, \tune, tune);
876                                                 ~l9a.set(\dur, ~f9,    \vol, vol9,  \tune, tune);          ~l9b.set(\dur, ~f9,  \vol, vol9, \tune, tune);
877                                                 ~l9c.set(\dur, ~f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d.set(\dur, ~f9/~icd3,  \vol, vol9, \tune, tune);
878                                                 ~l9e.set(\dur, ~f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f.set(\dur, ~f9/~icd6,  \vol, vol9, \tune, tune);
879                                                 ~l10a.set(\dur, ~f10,  \vol, vol10,  \tune, tune);         ~l10b.set(\dur, ~f10,  \vol, vol10, \tune, tune);
880                                                 ~l10c.set(\dur, ~f10/~icd3,     \vol, vol10,  \tune, tune);~l10d.set(\dur, ~f10/~icd3,  \vol, vol10, \tune, tune);
881                                                 ~l10e.set(\dur, ~f10/~icd6,     \vol, vol10,  \tune, tune);~l10f.set(\dur, ~f10/~icd6,  \vol, vol10, \tune, tune);
882                                                 ~l11a.set(\dur, ~f11,  \vol, vol11,  \tune, tune);         ~l11b.set(\dur, ~f11,  \vol, vol11, \tune, tune);
883                                                 ~l11c.set(\dur, ~f11/~icd3,     \vol, vol11,  \tune, tune);~l11d.set(\dur, ~f11/~icd3,  \vol, vol11, \tune, tune);
884                                                 ~l11e.set(\dur, ~f11/~icd6,     \vol, vol11,  \tune, tune);~l11f.set(\dur, ~f11/~icd6,  \vol, vol11, \tune, tune);
885                                                 ~l12a.set(\dur, ~f12,  \vol, vol12,  \tune, tune);         ~l12b.set(\dur, ~f12,  \vol, vol12, \tune, tune);
886                                                 ~l12c.set(\dur, ~f12/~icd3,     \vol, vol12,  \tune, tune);~l12d.set(\dur, ~f12/~icd3,  \vol, vol12, \tune, tune);
887                                                 ~l12e.set(\dur, ~f12/~icd6,     \vol, vol12,  \tune, tune);~l12f.set(\dur, ~f12/~icd6,  \vol, vol12, \tune, tune);
888
889
890                                         );
891
892                                         {if(~slidecount==0,{
893                                                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
894                                                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
895                                                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
896                                                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
897                                                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
898                                                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
899                                                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
900                                                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
901                                                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
902                                                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
903                                                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
904                                                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
905                                         });}.defer;
906
907                                         (~slidetime/~slidedo).wait;});});}).play;);};
908         };
909
910         ~synthpause = {(
911                 case
912                 {~l1a1.isRunning == true}{
913                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
914                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
915                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
916                                 ~l1a1.set(\dur, f1,     \vol, vol1, \tune, tune);          ~l1b1.set(\dur, f1,  \vol, vol1, \tune, tune);
917                                 ~l1c1.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d1.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
918                                 ~l1e1.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f1.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
919                                 ~l2a1.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b1.set(\dur, f2,  \vol, vol2, \tune, tune);
920                                 ~l2c1.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d1.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
921                                 ~l2e1.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f1.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
922                                 ~l3a1.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b1.set(\dur, f3,  \vol, vol3, \tune, tune);
923                                 ~l3c1.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d1.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
924                                 ~l3e1.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f1.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
925                                 ~l4a1.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b1.set(\dur, f4,  \vol, vol4, \tune, tune);
926                                 ~l4c1.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d1.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
927                                 ~l4e1.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f1.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
928                                 ~l5a1.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b1.set(\dur, f5,  \vol, vol5, \tune, tune);
929                                 ~l5c1.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d1.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
930                                 ~l5e1.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f1.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
931                                 ~l6a1.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b1.set(\dur, f6,  \vol, vol6, \tune, tune);
932                                 ~l6c1.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d1.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
933                                 ~l6e1.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f1.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
934                                 ~l7a1.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b1.set(\dur, f7,  \vol, vol7, \tune, tune);
935                                 ~l7c1.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d1.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
936                                 ~l7e1.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f1.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
937                                 ~l8a1.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b1.set(\dur, f8,  \vol, vol8, \tune, tune);
938                                 ~l8c1.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d1.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
939                                 ~l8e1.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f1.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
940                                 ~l9a1.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b1.set(\dur, f9,  \vol, vol9, \tune, tune);
941                                 ~l9c1.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d1.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
942                                 ~l9e1.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f1.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
943                                 ~l10a1.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b1.set(\dur, f10,  \vol, vol10, \tune, tune);
944                                 ~l10c1.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d1.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
945                                 ~l10e1.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f1.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
946                                 ~l11a1.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b1.set(\dur, f11,  \vol, vol11, \tune, tune);
947                                 ~l11c1.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d1.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
948                                 ~l11e1.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f1.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
949                                 ~l12a1.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b1.set(\dur, f12,  \vol, vol12, \tune, tune);
950                                 ~l12c1.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d1.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
951                                 ~l12e1.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f1.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
952                         }););
953                 }
954                 {~l1a.isRunning == true} {
955                         (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
956                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
957                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
958                                 ~l1a.set(\dur, f1,     \vol, vol1, \tune, tune);  ~l1b.set(\dur, f1,  \vol, vol1, \tune, tune);
959                                 ~l1c.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
960                                 ~l1e.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
961                                 ~l2a.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b.set(\dur, f2,  \vol, vol2, \tune, tune);
962                                 ~l2c.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
963                                 ~l2e.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
964                                 ~l3a.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b.set(\dur, f3,  \vol, vol3, \tune, tune);
965                                 ~l3c.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
966                                 ~l3e.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
967                                 ~l4a.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b.set(\dur, f4,  \vol, vol4, \tune, tune);
968                                 ~l4c.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
969                                 ~l4e.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
970                                 ~l5a.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b.set(\dur, f5,  \vol, vol5, \tune, tune);
971                                 ~l5c.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
972                                 ~l5e.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
973                                 ~l6a.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b.set(\dur, f6,  \vol, vol6, \tune, tune);
974                                 ~l6c.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
975                                 ~l6e.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
976                                 ~l7a.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b.set(\dur, f7,  \vol, vol7, \tune, tune);
977                                 ~l7c.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
978                                 ~l7e.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
979                                 ~l8a.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b.set(\dur, f8,  \vol, vol8, \tune, tune);
980                                 ~l8c.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
981                                 ~l8e.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
982                                 ~l9a.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b.set(\dur, f9,  \vol, vol9, \tune, tune);
983                                 ~l9c.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
984                                 ~l9e.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
985                                 ~l10a.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b.set(\dur, f10,  \vol, vol10, \tune, tune);
986                                 ~l10c.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
987                                 ~l10e.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
988                                 ~l11a.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b.set(\dur, f11,  \vol, vol11, \tune, tune);
989                                 ~l11c.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
990                                 ~l11e.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
991                                 ~l12a.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b.set(\dur, f12,  \vol, vol12, \tune, tune);
992                                 ~l12c.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
993                                 ~l12e.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
994
995                         }););
996                 };
997                 );
998         };
999
1000         ~synthfree = {
1001                 (
1002                         case
1003                         {((~l1a.isRunning == false) and: (~l1a1.isRunning == false)) or: ~l1a1.isRunning == true}{
1004                                 (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
1005                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
1006                                         #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
1007                                         ~l1a1.set(\dur, f1,     \vol, vol1, \tune, tune);  ~l1b1.set(\dur, f1,  \vol, vol1, \tune, tune);
1008                                         ~l1c1.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d1.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
1009                                         ~l1e1.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f1.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
1010                                         ~l2a1.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b1.set(\dur, f2,  \vol, vol2, \tune, tune);
1011                                         ~l2c1.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d1.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
1012                                         ~l2e1.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f1.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
1013                                         ~l3a1.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b1.set(\dur, f3,  \vol, vol3, \tune, tune);
1014                                         ~l3c1.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d1.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
1015                                         ~l3e1.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f1.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
1016                                         ~l4a1.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b1.set(\dur, f4,  \vol, vol4, \tune, tune);
1017                                         ~l4c1.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d1.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
1018                                         ~l4e1.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f1.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
1019                                         ~l5a1.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b1.set(\dur, f5,  \vol, vol5, \tune, tune);
1020                                         ~l5c1.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d1.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
1021                                         ~l5e1.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f1.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
1022                                         ~l6a1.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b1.set(\dur, f6,  \vol, vol6, \tune, tune);
1023                                         ~l6c1.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d1.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
1024                                         ~l6e1.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f1.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
1025                                         ~l7a1.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b1.set(\dur, f7,  \vol, vol7, \tune, tune);
1026                                         ~l7c1.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d1.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
1027                                         ~l7e1.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f1.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
1028                                         ~l8a1.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b1.set(\dur, f8,  \vol, vol8, \tune, tune);
1029                                         ~l8c1.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d1.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
1030                                         ~l8e1.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f1.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
1031                                         ~l9a1.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b1.set(\dur, f9,  \vol, vol9, \tune, tune);
1032                                         ~l9c1.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d1.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
1033                                         ~l9e1.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f1.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
1034                                         ~l10a1.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b1.set(\dur, f10,  \vol, vol10, \tune, tune);
1035                                         ~l10c1.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d1.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
1036                                         ~l10e1.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f1.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
1037                                         ~l11a1.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b1.set(\dur, f11,  \vol, vol11, \tune, tune);
1038                                         ~l11c1.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d1.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
1039                                         ~l11e1.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f1.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
1040                                         ~l12a1.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b1.set(\dur, f12,  \vol, vol12, \tune, tune);
1041                                         ~l12c1.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d1.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
1042                                         ~l12e1.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f1.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
1043                                 }););
1044                                 AppClock.sched(0.161803398875,{
1045                                         ([~l1a1,~l1b1,~l1c1,~l1d1,~l1e1,~l1f1,~l2a1,~l2b1,~l2c1,~l2d1,~l2e1,~l2f1,~l3a1,~l3b1,~l3c1,~l3d1,~l3e1,~l3f1,~l4a1,~l4b1,~l4c1,~l4d1,~l4e1,~l4f1,~l5a1,~l5b1,~l5c1,~l5d1,~l5e1,~l5f1,~l6a1,~l6b1,~l6c1,~l6d1,~l6e1,~l6f1,~l7a1,~l7b1,~l7c1,~l7d1,~l7e1,~l7f1,~l8a1,~l8b1,~l8c1,~l8d1,~l8e1,~l8f1,~l9a1,~l9b1,~l9c1,~l9d1,~l9e1,~l9f1,~l10a1,~l10b1,~l10c1,~l10d1,~l10e1,~l10f1,~l11a1,~l11b1,~l11c1,~l11d1,~l11e1,~l11f1,~l12a1,~l12b1,~l12c1,~l12d1,~l12e1,~l12f1 ].do(_.free)); ~slideroutine.stop;
1046                                 });
1047                         }
1048                         {~l1a.isRunning == true}{
1049                                 (1.do({var vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,tune=0;
1050                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
1051                                         #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
1052                                         ~l1a.set(\dur, f1,     \vol, vol1, \tune, tune);  ~l1b.set(\dur, f1,  \vol, vol1, \tune, tune);
1053                                         ~l1c.set(\dur, f1/~icd3,       \vol, vol1, \tune, tune);  ~l1d.set(\dur, f1/~icd3,  \vol, vol1, \tune, tune);
1054                                         ~l1e.set(\dur, f1/~icd6,       \vol, vol1, \tune, tune);  ~l1f.set(\dur, f1/~icd6,  \vol, vol1, \tune, tune);
1055                                         ~l2a.set(\dur, f2,     \vol, vol2, \tune, tune);          ~l2b.set(\dur, f2,  \vol, vol2, \tune, tune);
1056                                         ~l2c.set(\dur, f2/~icd3,       \vol, vol2, \tune, tune);  ~l2d.set(\dur, f2/~icd3,  \vol, vol2, \tune, tune);
1057                                         ~l2e.set(\dur, f2/~icd6,       \vol, vol2, \tune, tune);  ~l2f.set(\dur, f2/~icd6,  \vol, vol2, \tune, tune);
1058                                         ~l3a.set(\dur, f3,     \vol, vol3, \tune, tune);          ~l3b.set(\dur, f3,  \vol, vol3, \tune, tune);
1059                                         ~l3c.set(\dur, f3/~icd3,       \vol, vol3, \tune, tune);  ~l3d.set(\dur, f3/~icd3,  \vol, vol3, \tune, tune);
1060                                         ~l3e.set(\dur, f3/~icd6,       \vol, vol3, \tune, tune);  ~l3f.set(\dur, f3/~icd6,  \vol, vol3, \tune, tune);
1061                                         ~l4a.set(\dur, f4,    \vol, vol4, \tune, tune);           ~l4b.set(\dur, f4,  \vol, vol4, \tune, tune);
1062                                         ~l4c.set(\dur, f4/~icd3,       \vol, vol4, \tune, tune);  ~l4d.set(\dur, f4/~icd3,  \vol, vol4, \tune, tune);
1063                                         ~l4e.set(\dur, f4/~icd6,       \vol, vol4, \tune, tune);  ~l4f.set(\dur, f4/~icd6,  \vol, vol4, \tune, tune);
1064                                         ~l5a.set(\dur, f5,    \vol, vol5, \tune, tune);           ~l5b.set(\dur, f5,  \vol, vol5, \tune, tune);
1065                                         ~l5c.set(\dur, f5/~icd3,       \vol, vol5, \tune, tune);  ~l5d.set(\dur, f5/~icd3,  \vol, vol5, \tune, tune);
1066                                         ~l5e.set(\dur, f5/~icd6,       \vol, vol5, \tune, tune);  ~l5f.set(\dur, f5/~icd6,  \vol, vol5, \tune, tune);
1067                                         ~l6a.set(\dur, f6,    \vol, vol6, \tune, tune);           ~l6b.set(\dur, f6,  \vol, vol6, \tune, tune);
1068                                         ~l6c.set(\dur, f6/~icd3,       \vol, vol6, \tune, tune);  ~l6d.set(\dur, f6/~icd3,  \vol, vol6, \tune, tune);
1069                                         ~l6e.set(\dur, f6/~icd6,       \vol, vol6, \tune, tune);  ~l6f.set(\dur, f6/~icd6,  \vol, vol6, \tune, tune);
1070                                         ~l7a.set(\dur, f7,    \vol, vol7, \tune, tune);           ~l7b.set(\dur, f7,  \vol, vol7, \tune, tune);
1071                                         ~l7c.set(\dur, f7/~icd3,       \vol, vol7, \tune, tune);  ~l7d.set(\dur, f7/~icd3,  \vol, vol7, \tune, tune);
1072                                         ~l7e.set(\dur, f7/~icd6,       \vol, vol7, \tune, tune);  ~l7f.set(\dur, f7/~icd6,  \vol, vol7, \tune, tune);
1073                                         ~l8a.set(\dur, f8,    \vol, vol8, \tune, tune);           ~l8b.set(\dur, f8,  \vol, vol8, \tune, tune);
1074                                         ~l8c.set(\dur, f8/~icd3,       \vol, vol8, \tune, tune);  ~l8d.set(\dur, f8/~icd3,  \vol, vol8, \tune, tune);
1075                                         ~l8e.set(\dur, f8/~icd6,       \vol, vol8, \tune, tune);  ~l8f.set(\dur, f8/~icd6,  \vol, vol8, \tune, tune);
1076                                         ~l9a.set(\dur, f9,    \vol, vol9,  \tune, tune);          ~l9b.set(\dur, f9,  \vol, vol9, \tune, tune);
1077                                         ~l9c.set(\dur, f9/~icd3,       \vol, vol9,  \tune, tune); ~l9d.set(\dur, f9/~icd3,  \vol, vol9, \tune, tune);
1078                                         ~l9e.set(\dur, f9/~icd6,       \vol, vol9,  \tune, tune); ~l9f.set(\dur, f9/~icd6,  \vol, vol9, \tune, tune);
1079                                         ~l10a.set(\dur, f10,  \vol, vol10,  \tune, tune);         ~l10b.set(\dur, f10,  \vol, vol10, \tune, tune);
1080                                         ~l10c.set(\dur, f10/~icd3,     \vol, vol10,  \tune, tune);~l10d.set(\dur, f10/~icd3,  \vol, vol10, \tune, tune);
1081                                         ~l10e.set(\dur, f10/~icd6,     \vol, vol10,  \tune, tune);~l10f.set(\dur, f10/~icd6,  \vol, vol10, \tune, tune);
1082                                         ~l11a.set(\dur, f11,  \vol, vol11,  \tune, tune);         ~l11b.set(\dur, f11,  \vol, vol11, \tune, tune);
1083                                         ~l11c.set(\dur, f11/~icd3,     \vol, vol11,  \tune, tune);~l11d.set(\dur, f11/~icd3,  \vol, vol11, \tune, tune);
1084                                         ~l11e.set(\dur, f11/~icd6,     \vol, vol11,  \tune, tune);~l11f.set(\dur, f11/~icd6,  \vol, vol11, \tune, tune);
1085                                         ~l12a.set(\dur, f12,  \vol, vol12,  \tune, tune);         ~l12b.set(\dur, f12,  \vol, vol12, \tune, tune);
1086                                         ~l12c.set(\dur, f12/~icd3,     \vol, vol12,  \tune, tune);~l12d.set(\dur, f12/~icd3,  \vol, vol12, \tune, tune);
1087                                         ~l12e.set(\dur, f12/~icd6,     \vol, vol12,  \tune, tune);~l12f.set(\dur, f12/~icd6,  \vol, vol12, \tune, tune);
1088                                 }););
1089                                 AppClock.sched(0.161803398875,{
1090                                         ([~l1a,~l1b,~l1c,~l1d,~l1e,~l1f,~l2a,~l2b,~l2c,~l2d,~l2e,~l2f,~l3a,~l3b,~l3c,~l3d,~l3e,~l3f,~l4a,~l4b,~l4c,~l4d,~l4e,~l4f,~l5a,~l5b,~l5c,~l5d,~l5e,~l5f,~l6a,~l6b,~l6c,~l6d,~l6e,~l6f,~l7a,~l7b,~l7c,~l7d,~l7e,~l7f,~l8a,~l8b,~l8c,~l8d,~l8e,~l8f,~l9a,~l9b,~l9c,~l9d,~l9e,~l9f,~l10a,~l10b,~l10c,~l10d,~l10e,~l10f,~l11a,~l11b,~l11c,~l11d,~l11e,~l11f,~l12a,~l12b,~l12c,~l12d,~l12e,~l12f].do(_.free)); ~slideroutine.stop;
1091                                 });
1092                         };
1093                 );
1094         };
1095
1096
1097         //timer values
1098
1099         case
1100         {~slot1 == nil}{""}
1101         {~slot2 == nil}{""}
1102         {~slot3 == nil}{""}
1103         {~slot4 == nil}{""}
1104         {~slot5 == nil}{""}
1105         {~slot6 == nil}{""}
1106         {~slot7 == nil}{""}
1107         {~slot8 == nil}{""};
1108
1109         ~timevals = {(~tst = TextView(w, Rect(~tspl,~tspt, ~tspw, ~tsph)).background_(Color.black);
1110                 (~tst.string =
1111                         "o1:_"++~time1o.value.asString++"_f1:_"++~time1f.value.asString++"_s1:_"++~time1s.value.asString++"\n" ++
1112                         "o2:_"++~time2o.value.asString++"_f2:_"++~time2f.value.asString++"_s2:_"++~time2s.value.asString++"\n" ++
1113                         "o3:_"++~time3o.value.asString++"_f3:_"++~time3f.value.asString++"_s3:_"++~time3s.value.asString++"\n" ++
1114                         "o4:_"++~time4o.value.asString++"_f4:_"++~time4f.value.asString++"_s4:_"++~time4s.value.asString++"\n" ++
1115                         "o5:_"++~time5o.value.asString++"_f5:_"++~time5f.value.asString++"_s5:_"++~time5s.value.asString++"\n" ++
1116                         "o6:_"++~time6o.value.asString++"_f6:_"++~time6f.value.asString++"_s6:_"++~time6s.value.asString++"\n" ++
1117                         "o7:_"++~time7o.value.asString++"_f7:_"++~time7f.value.asString++"_s7:_"++~time7s.value.asString++"\n" ++
1118                         "o8:_"++~time8o.value.asString++"_f8:_"++~time8f.value.asString++"_s8:_"++~time8s.value.asString++"\n" ++"\n" ++
1119                         if(~slot8 != ~slot, {
1120                                 (~slot1 = ~slot2).asString++"\n" ++
1121                                 (~slot2 = ~slot3).asString++"\n" ++
1122                                 (~slot3 = ~slot4).asString++"\n" ++
1123                                 (~slot4 = ~slot5).asString++"\n" ++
1124                                 (~slot5 = ~slot6).asString++"\n" ++
1125                                 (~slot6 = ~slot7).asString++"\n" ++
1126                                 (~slot7 = ~slot8).asString++"\n" ++
1127                                 (~slot8 = ~slot).asString;
1128                                 },{
1129                                         (~slot1).asString++"\n" ++
1130                                         (~slot2).asString++"\n" ++
1131                                         (~slot3).asString++"\n" ++
1132                                         (~slot4).asString++"\n" ++
1133                                         (~slot5).asString++"\n" ++
1134                                         (~slot6).asString++"\n" ++
1135                                         (~slot7).asString++"\n" ++
1136                                         (~slot8).asString;
1137                         });
1138
1139                 );
1140                 ~tst.stringColor = Color.white;
1141         )};
1142
1143
1144         //monitoring number of synths function
1145
1146         ~numsynthsfunc = {
1147                 if((~numsynths != nil) or: (~numsynths.isPlaying == true), {~numsynths.stop;});
1148                 ~numsynths = Routine({inf.do({if((s.numSynths > 73) and: (3.wait; s.numSynths > 73) and: (6.wait; s.numSynths > 73), {
1149
1150                         AppClock.sched(0, {
1151                                 if(~numsynthmessage != nil, {~numsynthmessage.close;});
1152                                 ~numsynthmessage = View(w, Rect(Window.screenBounds.width-(340+46),Window.screenBounds.height-(340+46/1.6180339887499)-110,340+46,340+46/1.6180339887499)).background_(Color.black).front;
1153                                 ~numsynthmessagestring = StaticText(~numsynthmessage, Rect(0,0,340+46,340+46/1.6180339887499)).background_(Color.black);
1154                                 ~numsynthmessagestring.align = \topLeft;
1155                                 ~numsynthmessagestring.string ="Warning:"++"\n"++"\n"++"More than the normal amount of synths are currently running. It is recommended to free the server by pressing "+"ctrl/cmd - period".quote+" and then pressing the "+"ok".quote+" button. Otherwise, you can press the "+"cancel".quote+" button to allow the synths to keep running. If you press the "+"cancel".quote+" button this message will not show again unless "+"synth0".quote+" has been pressed.";
1156                                 ~numsynthmessagestring.stringColor = Color.white;
1157                                 ~numsynthmessagebutton1 = Button.new(~numsynthmessage,Rect(320+46-100,340/1.6180339887499-30,46,46/1.6180339887499)).states_([["ok",Color.white,Color.black]]).action_({AppClock.sched(0, {~numsynthmessage.close; ~numsynths.play; ~midifunc.value;});});
1158                                 ~numsynthmessagebutton2 = Button.new(~numsynthmessage,Rect(120-46,340/1.6180339887499-30,46,46/1.6180339887499)).states_([["cancel",Color.white,Color.black]]).action_({AppClock.sched(0, {~numsynths.stop; ~numsynthmessage.close;});});
1159                                 ~numsynthmessage.front;
1160                         });
1161                 }); 1.wait;});}).play;
1162         };
1163
1164         ~numsynthsfunc.value;
1165
1166
1167         //mouse down action
1168
1169         view.mouseDownAction = {
1170                 |v, x, y, mod, butNum|
1171                 point = [x,y];
1172                 if(butNum == 0, { v.refresh;
1173
1174                         //generate dots on mouse down action
1175
1176                         ~tgrid = 30;
1177                         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
1178
1179                         case
1180                         {y<~tgrid} {nil}
1181                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z1.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1182                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z2.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1183                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z3.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1184                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z4.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1185                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z5.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1186                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z6.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1187                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z7.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1188                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z8.close;~z8 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1189                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z9.close;~z9 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1190                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z10.close;~z10 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1191                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z11.close;~z11 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1192                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z12.close;~z12 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1193                         {y>~tgrid and: y<~bgrid} {nil}
1194                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z1.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1195                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z2.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1196                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z3.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1197                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z4.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1198                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z5.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1199                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z6.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1200                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z7.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1201                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z8.close;~z8 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1202                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z9.close;~z9 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1203                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z10.close;~z10 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1204                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z11.close;~z11 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1205                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z12.close;~z12 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1206                 }, {});
1207
1208                 ~tgrid = 30;
1209                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
1210
1211                 //set synth values on mouse down action
1212
1213                 case
1214                 {~l1a.isRunning == true}{
1215                         case
1216                         {y<~tgrid} {nil}
1217                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1218                                 ~l1a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1219                                 ~l1b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f1=q.value; ~undof1=~f1;
1220                                 ~l1c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1221                                 ~l1d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1222                                 ~l1e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1223                                 ~l1f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1224                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1225                                 ~l2a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1226                                 ~l2b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f2=q.value; ~undof2=~f2;
1227                                 ~l2c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1228                                 ~l2d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1229                                 ~l2e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1230                                 ~l2f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1231                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1232                                 ~l3a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1233                                 ~l3b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f3=q.value; ~undof3=~f3;
1234                                 ~l3c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1235                                 ~l3d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1236                                 ~l3e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1237                                 ~l3f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1238                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1239                                 ~l4a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1240                                 ~l4b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f4=q.value; ~undof4=~f4;
1241                                 ~l4c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1242                                 ~l4d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1243                                 ~l4e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1244                                 ~l4f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1245                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1246                                 ~l5a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1247                                 ~l5b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f5=q.value; ~undof5=~f5;
1248                                 ~l5c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1249                                 ~l5d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1250                                 ~l5e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1251                                 ~l5f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1252                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1253                                 ~l6a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1254                                 ~l6b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f6=q.value; ~undof6=~f6;
1255                                 ~l6c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1256                                 ~l6d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1257                                 ~l6e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1258                                 ~l6f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1259                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1260                                 ~l7a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1261                                 ~l7b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f7=q.value; ~undof7=~f7;
1262                                 ~l7c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1263                                 ~l7d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1264                                 ~l7e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1265                                 ~l7f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1266                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1267                                 ~l8a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1268                                 ~l8b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f8=q.value; ~undof8=~f8;
1269                                 ~l8c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1270                                 ~l8d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1271                                 ~l8e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1272                                 ~l8f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1273                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1274                                 ~l9a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1275                                 ~l9b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f9=q.value; ~undof9=~f9;
1276                                 ~l9c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1277                                 ~l9d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1278                                 ~l9e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1279                                 ~l9f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1280                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1281                                 ~l10a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1282                                 ~l10b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f10=q.value; ~undof10=~f10;
1283                                 ~l10c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1284                                 ~l10d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1285                                 ~l10e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1286                                 ~l10f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1287                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1288                                 ~l11a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1289                                 ~l11b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f11=q.value; ~undof11=~f11;
1290                                 ~l11c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1291                                 ~l11d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1292                                 ~l11e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1293                                 ~l11f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1294                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1295                                 ~l12a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1296                                 ~l12b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f12=q.value; ~undof12=~f12;
1297                                 ~l12c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1298                                 ~l12d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1299                                 ~l12e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1300                                 ~l12f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1301                         {y>~tgrid and: y<~bgrid} {nil}
1302                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1303                                 ~l1a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1304                                 ~l1b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f1=q.value; ~undof1=~f1;
1305                                 ~l1c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1306                                 ~l1d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1307                                 ~l1e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1308                                 ~l1f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1309                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1310                                 ~l2a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1311                                 ~l2b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f2=q.value; ~undof2=~f2;
1312                                 ~l2c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1313                                 ~l2d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1314                                 ~l2e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1315                                 ~l2f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1316                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1317                                 ~l3a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1318                                 ~l3b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f3=q.value; ~undof3=~f3;
1319                                 ~l3c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1320                                 ~l3d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1321                                 ~l3e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1322                                 ~l3f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1323                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1324                                 ~l4a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1325                                 ~l4b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f4=q.value; ~undof4=~f4;
1326                                 ~l4c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1327                                 ~l4d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1328                                 ~l4e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1329                                 ~l4f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1330                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1331                                 ~l5a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1332                                 ~l5b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f5=q.value; ~undof5=~f5;
1333                                 ~l5c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1334                                 ~l5d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1335                                 ~l5e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1336                                 ~l5f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1337                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1338                                 ~l6a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1339                                 ~l6b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f6=q.value; ~undof6=~f6;
1340                                 ~l6c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1341                                 ~l6d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1342                                 ~l6e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1343                                 ~l6f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1344                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1345                                 ~l7a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1346                                 ~l7b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f7=q.value; ~undof7=~f7;
1347                                 ~l7c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1348                                 ~l7d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1349                                 ~l7e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1350                                 ~l7f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1351                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1352                                 ~l8a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1353                                 ~l8b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f8=q.value; ~undof8=~f8;
1354                                 ~l8c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1355                                 ~l8d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1356                                 ~l8e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1357                                 ~l8f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1358                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1359                                 ~l9a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1360                                 ~l9b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f9=q.value; ~undof9=~f9;
1361                                 ~l9c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1362                                 ~l9d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1363                                 ~l9e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1364                                 ~l9f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1365                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1366                                 ~l10a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1367                                 ~l10b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f10=q.value; ~undof10=~f10;
1368                                 ~l10c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1369                                 ~l10d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1370                                 ~l10e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1371                                 ~l10f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1372                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1373                                 ~l11a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1374                                 ~l11b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f11=q.value; ~undof11=~f11;
1375                                 ~l11c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1376                                 ~l11d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1377                                 ~l11e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1378                                 ~l11f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1379                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1380                                 ~l12a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1381                                 ~l12b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f12=q.value; ~undof12=~f12;
1382                                 ~l12c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1383                                 ~l12d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1384                                 ~l12e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1385                                 ~l12f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);};
1386                 }
1387                 {~l1a1.isRunning == true}{
1388                         case
1389                         {y<~tgrid} {nil}
1390                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1391                                 ~l1a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1392                                 ~l1b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f1=q.value; ~undof1=~f1;
1393                                 ~l1c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1394                                 ~l1d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1395                                 ~l1e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1396                                 ~l1f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1397                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1398                                 ~l2a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1399                                 ~l2b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f2=q.value; ~undof2=~f2;
1400                                 ~l2c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1401                                 ~l2d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1402                                 ~l2e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1403                                 ~l2f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1404                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1405                                 ~l3a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1406                                 ~l3b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f3=q.value; ~undof3=~f3;
1407                                 ~l3c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1408                                 ~l3d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1409                                 ~l3e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1410                                 ~l3f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1411                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1412                                 ~l4a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1413                                 ~l4b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f4=q.value; ~undof4=~f4;
1414                                 ~l4c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1415                                 ~l4d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1416                                 ~l4e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1417                                 ~l4f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1418                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1419                                 ~l5a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1420                                 ~l5b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f5=q.value; ~undof5=~f5;
1421                                 ~l5c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1422                                 ~l5d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1423                                 ~l5e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1424                                 ~l5f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1425                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1426                                 ~l6a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1427                                 ~l6b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f6=q.value; ~undof6=~f6;
1428                                 ~l6c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1429                                 ~l6d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1430                                 ~l6e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1431                                 ~l6f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1432                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1433                                 ~l7a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1434                                 ~l7b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f7=q.value; ~undof7=~f7;
1435                                 ~l7c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1436                                 ~l7d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1437                                 ~l7e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1438                                 ~l7f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1439                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1440                                 ~l8a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1441                                 ~l8b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f8=q.value; ~undof8=~f8;
1442                                 ~l8c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1443                                 ~l8d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1444                                 ~l8e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1445                                 ~l8f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1446                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1447                                 ~l9a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1448                                 ~l9b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f9=q.value; ~undof9=~f9;
1449                                 ~l9c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1450                                 ~l9d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1451                                 ~l9e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1452                                 ~l9f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1453                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1454                                 ~l10a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1455                                 ~l10b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f10=q.value; ~undof10=~f10;
1456                                 ~l10c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1457                                 ~l10d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1458                                 ~l10e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1459                                 ~l10f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1460                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1461                                 ~l11a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1462                                 ~l11b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f11=q.value; ~undof11=~f11;
1463                                 ~l11c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1464                                 ~l11d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1465                                 ~l11e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1466                                 ~l11f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1467                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1468                                 ~l12a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1469                                 ~l12b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f12=q.value; ~undof12=~f12;
1470                                 ~l12c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1471                                 ~l12d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1472                                 ~l12e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1473                                 ~l12f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1474                         {y>~tgrid and: y<~bgrid} {nil}
1475                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1476                                 ~l1a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1477                                 ~l1b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f1=q.value; ~undof1=~f1;
1478                                 ~l1c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1479                                 ~l1d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1480                                 ~l1e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1481                                 ~l1f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1482                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1483                                 ~l2a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1484                                 ~l2b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f2=q.value; ~undof2=~f2;
1485                                 ~l2c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1486                                 ~l2d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1487                                 ~l2e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1488                                 ~l2f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1489                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1490                                 ~l3a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1491                                 ~l3b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f3=q.value; ~undof3=~f3;
1492                                 ~l3c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1493                                 ~l3d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1494                                 ~l3e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1495                                 ~l3f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1496                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1497                                 ~l4a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1498                                 ~l4b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f4=q.value; ~undof4=~f4;
1499                                 ~l4c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1500                                 ~l4d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1501                                 ~l4e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1502                                 ~l4f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1503                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1504                                 ~l5a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1505                                 ~l5b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f5=q.value; ~undof5=~f5;
1506                                 ~l5c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1507                                 ~l5d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1508                                 ~l5e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1509                                 ~l5f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1510                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1511                                 ~l6a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1512                                 ~l6b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f6=q.value; ~undof6=~f6;
1513                                 ~l6c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1514                                 ~l6d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1515                                 ~l6e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1516                                 ~l6f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1517                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1518                                 ~l7a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1519                                 ~l7b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f7=q.value; ~undof7=~f7;
1520                                 ~l7c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1521                                 ~l7d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1522                                 ~l7e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1523                                 ~l7f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1524                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1525                                 ~l8a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1526                                 ~l8b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f8=q.value; ~undof8=~f8;
1527                                 ~l8c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1528                                 ~l8d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1529                                 ~l8e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1530                                 ~l8f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1531                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1532                                 ~l9a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1533                                 ~l9b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f9=q.value; ~undof9=~f9;
1534                                 ~l9c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1535                                 ~l9d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1536                                 ~l9e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1537                                 ~l9f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1538                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1539                                 ~l10a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1540                                 ~l10b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f10=q.value; ~undof10=~f10;
1541                                 ~l10c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1542                                 ~l10d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1543                                 ~l10e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1544                                 ~l10f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1545                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1546                                 ~l11a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1547                                 ~l11b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f11=q.value; ~undof11=~f11;
1548                                 ~l11c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1549                                 ~l11d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1550                                 ~l11e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1551                                 ~l11f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1552                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1553                                 ~l12a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1554                                 ~l12b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f12=q.value; ~undof12=~f12;
1555                                 ~l12c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1556                                 ~l12d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1557                                 ~l12e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1558                                 ~l12f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);};
1559                 };
1560         };
1561
1562
1563         //mouse move action
1564
1565         view.mouseMoveAction = {
1566                 |v, x, y|
1567
1568                 ~nh = 2;
1569                 ~nw = ~nh*1.6180339887499;
1570
1571                 //generate dots on mouse move action
1572
1573                 ~tgrid = 30;
1574                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
1575
1576                 case
1577                 {y<~tgrid} {nil}
1578                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1579                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1580                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1581                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1582                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1583                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1584                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1585                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1586                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1587                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1588                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1589                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1590                 {y>~tgrid and: y<~bgrid} {nil}
1591                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1592                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1593                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1594                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1595                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1596                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1597                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1598                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1599                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1600                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1601                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
1602                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)};
1603                 w.refresh;
1604
1605                 ~tgrid = 30;
1606                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
1607
1608                 //set synth values on mouse move action
1609
1610                 case
1611                 {~l1a.isRunning == true}{
1612                         case
1613                         {y<~tgrid} {nil}
1614                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1615                                 ~l1a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1616                                 ~l1b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f1=q.value; ~undof1=~f1;
1617                                 ~l1c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1618                                 ~l1d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1619                                 ~l1e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1620                                 ~l1f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1621                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1622                                 ~l2a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1623                                 ~l2b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f2=q.value; ~undof2=~f2;
1624                                 ~l2c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1625                                 ~l2d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1626                                 ~l2e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1627                                 ~l2f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1628                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1629                                 ~l3a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1630                                 ~l3b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f3=q.value; ~undof3=~f3;
1631                                 ~l3c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1632                                 ~l3d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1633                                 ~l3e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1634                                 ~l3f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1635                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1636                                 ~l4a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1637                                 ~l4b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f4=q.value; ~undof4=~f4;
1638                                 ~l4c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1639                                 ~l4d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1640                                 ~l4e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1641                                 ~l4f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1642                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1643                                 ~l5a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1644                                 ~l5b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f5=q.value; ~undof5=~f5;
1645                                 ~l5c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1646                                 ~l5d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1647                                 ~l5e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1648                                 ~l5f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1649                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1650                                 ~l6a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1651                                 ~l6b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f6=q.value; ~undof6=~f6;
1652                                 ~l6c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1653                                 ~l6d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1654                                 ~l6e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1655                                 ~l6f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1656                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1657                                 ~l7a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1658                                 ~l7b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f7=q.value; ~undof7=~f7;
1659                                 ~l7c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1660                                 ~l7d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1661                                 ~l7e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1662                                 ~l7f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1663                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1664                                 ~l8a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1665                                 ~l8b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f8=q.value; ~undof8=~f8;
1666                                 ~l8c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1667                                 ~l8d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1668                                 ~l8e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1669                                 ~l8f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1670                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1671                                 ~l9a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1672                                 ~l9b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f9=q.value; ~undof9=~f9;
1673                                 ~l9c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1674                                 ~l9d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1675                                 ~l9e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1676                                 ~l9f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1677                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1678                                 ~l10a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1679                                 ~l10b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f10=q.value; ~undof10=~f10;
1680                                 ~l10c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1681                                 ~l10d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1682                                 ~l10e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1683                                 ~l10f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1684                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1685                                 ~l11a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1686                                 ~l11b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f11=q.value; ~undof11=~f11;
1687                                 ~l11c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1688                                 ~l11d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1689                                 ~l11e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1690                                 ~l11f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1691                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1692                                 ~l12a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1693                                 ~l12b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f12=q.value; ~undof12=~f12;
1694                                 ~l12c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1695                                 ~l12d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1696                                 ~l12e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1697                                 ~l12f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1698                         {y>~tgrid and: y<~bgrid} {nil}
1699                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1700                                 ~l1a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1701                                 ~l1b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f1=q.value; ~undof1=~f1;
1702                                 ~l1c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1703                                 ~l1d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1704                                 ~l1e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1705                                 ~l1f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1706                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1707                                 ~l2a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1708                                 ~l2b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f2=q.value; ~undof2=~f2;
1709                                 ~l2c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1710                                 ~l2d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1711                                 ~l2e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1712                                 ~l2f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1713                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1714                                 ~l3a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1715                                 ~l3b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f3=q.value; ~undof3=~f3;
1716                                 ~l3c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1717                                 ~l3d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1718                                 ~l3e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1719                                 ~l3f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1720                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1721                                 ~l4a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1722                                 ~l4b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f4=q.value; ~undof4=~f4;
1723                                 ~l4c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1724                                 ~l4d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1725                                 ~l4e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1726                                 ~l4f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1727                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1728                                 ~l5a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1729                                 ~l5b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f5=q.value; ~undof5=~f5;
1730                                 ~l5c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1731                                 ~l5d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1732                                 ~l5e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1733                                 ~l5f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1734                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1735                                 ~l6a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1736                                 ~l6b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f6=q.value; ~undof6=~f6;
1737                                 ~l6c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1738                                 ~l6d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1739                                 ~l6e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1740                                 ~l6f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1741                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1742                                 ~l7a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1743                                 ~l7b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f7=q.value; ~undof7=~f7;
1744                                 ~l7c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1745                                 ~l7d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1746                                 ~l7e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1747                                 ~l7f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1748                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1749                                 ~l8a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1750                                 ~l8b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f8=q.value; ~undof8=~f8;
1751                                 ~l8c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1752                                 ~l8d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1753                                 ~l8e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1754                                 ~l8f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1755                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1756                                 ~l9a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1757                                 ~l9b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f9=q.value; ~undof9=~f9;
1758                                 ~l9c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1759                                 ~l9d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1760                                 ~l9e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1761                                 ~l9f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1762                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1763                                 ~l10a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1764                                 ~l10b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f10=q.value; ~undof10=~f10;
1765                                 ~l10c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1766                                 ~l10d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1767                                 ~l10e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1768                                 ~l10f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1769                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1770                                 ~l11a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1771                                 ~l11b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f11=q.value; ~undof11=~f11;
1772                                 ~l11c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1773                                 ~l11d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1774                                 ~l11e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1775                                 ~l11f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1776                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1777                                 ~l12a.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1778                                 ~l12b.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f12=q.value; ~undof12=~f12;
1779                                 ~l12c.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1780                                 ~l12d.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1781                                 ~l12e.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1782                                 ~l12f.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);};
1783                 }
1784                 {~l1a1.isRunning == true}{
1785                         case
1786                         {y<~tgrid} {nil}
1787                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1788                                 ~l1a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1789                                 ~l1b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f1=q.value; ~undof1=~f1;
1790                                 ~l1c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1791                                 ~l1d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1792                                 ~l1e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1793                                 ~l1f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1794                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1795                                 ~l2a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1796                                 ~l2b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f2=q.value; ~undof2=~f2;
1797                                 ~l2c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1798                                 ~l2d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1799                                 ~l2e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1800                                 ~l2f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1801                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1802                                 ~l3a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1803                                 ~l3b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f3=q.value; ~undof3=~f3;
1804                                 ~l3c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1805                                 ~l3d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1806                                 ~l3e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1807                                 ~l3f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1808                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1809                                 ~l4a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1810                                 ~l4b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f4=q.value; ~undof4=~f4;
1811                                 ~l4c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1812                                 ~l4d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1813                                 ~l4e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1814                                 ~l4f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1815                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1816                                 ~l5a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1817                                 ~l5b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f5=q.value; ~undof5=~f5;
1818                                 ~l5c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1819                                 ~l5d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1820                                 ~l5e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1821                                 ~l5f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1822                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1823                                 ~l6a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1824                                 ~l6b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f6=q.value; ~undof6=~f6;
1825                                 ~l6c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1826                                 ~l6d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1827                                 ~l6e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1828                                 ~l6f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1829                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1830                                 ~l7a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1831                                 ~l7b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f7=q.value; ~undof7=~f7;
1832                                 ~l7c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1833                                 ~l7d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1834                                 ~l7e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1835                                 ~l7f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1836                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1837                                 ~l8a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1838                                 ~l8b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f8=q.value; ~undof8=~f8;
1839                                 ~l8c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1840                                 ~l8d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1841                                 ~l8e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1842                                 ~l8f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1843                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1844                                 ~l9a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1845                                 ~l9b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f9=q.value; ~undof9=~f9;
1846                                 ~l9c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1847                                 ~l9d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1848                                 ~l9e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1849                                 ~l9f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1850                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1851                                 ~l10a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1852                                 ~l10b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f10=q.value; ~undof10=~f10;
1853                                 ~l10c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1854                                 ~l10d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1855                                 ~l10e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1856                                 ~l10f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1857                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1858                                 ~l11a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1859                                 ~l11b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f11=q.value; ~undof11=~f11;
1860                                 ~l11c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1861                                 ~l11d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1862                                 ~l11e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1863                                 ~l11f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1864                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
1865                                 ~l12a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)));
1866                                 ~l12b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value); ~f12=q.value; ~undof12=~f12;
1867                                 ~l12c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd3);
1868                                 ~l12d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd3);
1869                                 ~l12e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1))/~icd6);
1870                                 ~l12f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value/~icd6);}
1871                         {y>~tgrid and: y<~bgrid} {nil}
1872                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1873                                 ~l1a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1874                                 ~l1b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f1=q.value; ~undof1=~f1;
1875                                 ~l1c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1876                                 ~l1d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1877                                 ~l1e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1878                                 ~l1f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1879                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1880                                 ~l2a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1881                                 ~l2b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f2=q.value; ~undof2=~f2;
1882                                 ~l2c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1883                                 ~l2d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1884                                 ~l2e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1885                                 ~l2f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1886                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1887                                 ~l3a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1888                                 ~l3b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f3=q.value; ~undof3=~f3;
1889                                 ~l3c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1890                                 ~l3d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1891                                 ~l3e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1892                                 ~l3f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1893                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1894                                 ~l4a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1895                                 ~l4b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f4=q.value; ~undof4=~f4;
1896                                 ~l4c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1897                                 ~l4d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1898                                 ~l4e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1899                                 ~l4f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1900                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1901                                 ~l5a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1902                                 ~l5b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f5=q.value; ~undof5=~f5;
1903                                 ~l5c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1904                                 ~l5d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1905                                 ~l5e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1906                                 ~l5f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1907                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1908                                 ~l6a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1909                                 ~l6b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f6=q.value; ~undof6=~f6;
1910                                 ~l6c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1911                                 ~l6d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1912                                 ~l6e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1913                                 ~l6f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1914                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1915                                 ~l7a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1916                                 ~l7b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f7=q.value; ~undof7=~f7;
1917                                 ~l7c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1918                                 ~l7d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1919                                 ~l7e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1920                                 ~l7f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1921                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1922                                 ~l8a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1923                                 ~l8b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f8=q.value; ~undof8=~f8;
1924                                 ~l8c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1925                                 ~l8d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1926                                 ~l8e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1927                                 ~l8f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1928                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1929                                 ~l9a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1930                                 ~l9b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f9=q.value; ~undof9=~f9;
1931                                 ~l9c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1932                                 ~l9d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1933                                 ~l9e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1934                                 ~l9f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1935                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1936                                 ~l10a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1937                                 ~l10b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f10=q.value; ~undof10=~f10;
1938                                 ~l10c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1939                                 ~l10d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1940                                 ~l10e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1941                                 ~l10f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1942                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1943                                 ~l11a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1944                                 ~l11b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f11=q.value; ~undof11=~f11;
1945                                 ~l11c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1946                                 ~l11d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1947                                 ~l11e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1948                                 ~l11f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);}
1949                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
1950                                 ~l12a1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)));
1951                                 ~l12b1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value); ~f12=q.value; ~undof12=~f12;
1952                                 ~l12c1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd3);
1953                                 ~l12d1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd3);
1954                                 ~l12e1.set(\dur, ((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2))/~icd6);
1955                                 ~l12f1.set(\dur, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value/~icd6);};
1956                 };
1957         };
1958
1959         ~tgrid = 30;
1960         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
1961         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
1962
1963         ~bpl = Window.screenBounds.width-340;
1964         ~bpt = Window.screenBounds.height-88;
1965         ~bph = 40;
1966         ~bpw = 40/1.6180339887499;
1967
1968
1969         //copy button
1970
1971         b = Button.new(w,Rect(Window.screenBounds.width*0+80,Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["copy",Color.white,Color.black],["copy",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1972                 if(button.value == 1, {
1973
1974                         ~tsc = TextView(w, Rect(0,0, 1600*2, 354)).background_(Color.black);
1975                         (~tsc.string =
1976                                 "saved open/flow 1-8: "++"\n"++"\n"++
1977                                 "[~f1="++fp1.asString++",~f2="++fp2.asString++",~f3="++fp3.asString++",~f4="++fp4.asString++",~f5="++fp5.asString++",~f6="++fp6.asString++",~f7="++fp7.asString++",~f8="++fp8.asString++",~f9="++fp9.asString++",~f10="++fp10.asString++",~f11="++fp11.asString++",~f12="++fp12.asString++"];"++" "++"~synthopen.value; ~trace.value; (a).wait;"++"\n"++
1978                                 "[~f1="++fp1b.asString++",~f2="++fp2b.asString++",~f3="++fp3b.asString++",~f4="++fp4b.asString++",~f5="++fp5b.asString++",~f6="++fp6b.asString++",~f7="++fp7b.asString++",~f8="++fp8b.asString++",~f9="++fp9b.asString++",~f10="++fp10b.asString++",~f11="++fp11b.asString++",~f12="++fp12b.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1979                                 "[~f1="++fp1c.asString++",~f2="++fp2c.asString++",~f3="++fp3c.asString++",~f4="++fp4c.asString++",~f5="++fp5c.asString++",~f6="++fp6c.asString++",~f7="++fp7c.asString++",~f8="++fp8c.asString++",~f9="++fp9c.asString++",~f10="++fp10c.asString++",~f11="++fp11c.asString++",~f12="++fp12c.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1980                                 "[~f1="++fp1d.asString++",~f2="++fp2d.asString++",~f3="++fp3d.asString++",~f4="++fp4d.asString++",~f5="++fp5d.asString++",~f6="++fp6d.asString++",~f7="++fp7d.asString++",~f8="++fp8d.asString++",~f9="++fp9d.asString++",~f10="++fp10d.asString++",~f11="++fp11d.asString++",~f12="++fp12d.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1981                                 "[~f1="++fp1e.asString++",~f2="++fp2e.asString++",~f3="++fp3e.asString++",~f4="++fp4e.asString++",~f5="++fp5e.asString++",~f6="++fp6e.asString++",~f7="++fp7e.asString++",~f8="++fp8e.asString++",~f9="++fp9e.asString++",~f10="++fp10e.asString++",~f11="++fp11e.asString++",~f12="++fp12e.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1982                                 "[~f1="++fp1f.asString++",~f2="++fp2f.asString++",~f3="++fp3f.asString++",~f4="++fp4f.asString++",~f5="++fp5f.asString++",~f6="++fp6f.asString++",~f7="++fp7f.asString++",~f8="++fp8f.asString++",~f9="++fp9f.asString++",~f10="++fp10f.asString++",~f11="++fp11f.asString++",~f12="++fp12f.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1983                                 "[~f1="++fp1g.asString++",~f2="++fp2g.asString++",~f3="++fp3g.asString++",~f4="++fp4g.asString++",~f5="++fp5g.asString++",~f6="++fp6g.asString++",~f7="++fp7g.asString++",~f8="++fp8g.asString++",~f9="++fp9g.asString++",~f10="++fp10g.asString++",~f11="++fp11g.asString++",~f12="++fp12g.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++
1984                                 "[~f1="++fp1h.asString++",~f2="++fp2h.asString++",~f3="++fp3h.asString++",~f4="++fp4h.asString++",~f5="++fp5h.asString++",~f6="++fp6h.asString++",~f7="++fp7h.asString++",~f8="++fp8h.asString++",~f9="++fp9h.asString++",~f10="++fp10h.asString++",~f11="++fp11h.asString++",~f12="++fp12h.asString++"];"++" "++"~synthflow.value; ~trace.value; (a).wait;"++"\n"++"\n"++
1985
1986                                 "saved slide 1-8: "++"\n"++"\n"++
1987
1988                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1.asString++",~f2="++fp2.asString++",~f3="++fp3.asString++",~f4="++fp4.asString++",~f5="++fp5.asString++",~f6="++fp6.asString++",~f7="++fp7.asString++",~f8="++fp8.asString++",~f9="++fp9.asString++",~f10="++fp10.asString++",~f11="++fp11.asString++",~f12="++fp12.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1989                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1b.asString++",~f2="++fp2b.asString++",~f3="++fp3b.asString++",~f4="++fp4b.asString++",~f5="++fp5b.asString++",~f6="++fp6b.asString++",~f7="++fp7b.asString++",~f8="++fp8b.asString++",~f9="++fp9b.asString++",~f10="++fp10b.asString++",~f11="++fp11b.asString++",~f12="++fp12b.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1990                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1c.asString++",~f2="++fp2c.asString++",~f3="++fp3c.asString++",~f4="++fp4c.asString++",~f5="++fp5c.asString++",~f6="++fp6c.asString++",~f7="++fp7c.asString++",~f8="++fp8c.asString++",~f9="++fp9c.asString++",~f10="++fp10c.asString++",~f11="++fp11c.asString++",~f12="++fp12c.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1991                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1d.asString++",~f2="++fp2d.asString++",~f3="++fp3d.asString++",~f4="++fp4d.asString++",~f5="++fp5d.asString++",~f6="++fp6d.asString++",~f7="++fp7d.asString++",~f8="++fp8d.asString++",~f9="++fp9d.asString++",~f10="++fp10d.asString++",~f11="++fp11d.asString++",~f12="++fp12d.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1992                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1e.asString++",~f2="++fp2e.asString++",~f3="++fp3e.asString++",~f4="++fp4e.asString++",~f5="++fp5e.asString++",~f6="++fp6e.asString++",~f7="++fp7e.asString++",~f8="++fp8e.asString++",~f9="++fp9e.asString++",~f10="++fp10e.asString++",~f11="++fp11e.asString++",~f12="++fp12e.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1993                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1f.asString++",~f2="++fp2f.asString++",~f3="++fp3f.asString++",~f4="++fp4f.asString++",~f5="++fp5f.asString++",~f6="++fp6f.asString++",~f7="++fp7f.asString++",~f8="++fp8f.asString++",~f9="++fp9f.asString++",~f10="++fp10f.asString++",~f11="++fp11f.asString++",~f12="++fp12f.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1994                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1g.asString++",~f2="++fp2g.asString++",~f3="++fp3g.asString++",~f4="++fp4g.asString++",~f5="++fp5g.asString++",~f6="++fp6g.asString++",~f7="++fp7g.asString++",~f8="++fp8g.asString++",~f9="++fp9g.asString++",~f10="++fp10g.asString++",~f11="++fp11g.asString++",~f12="++fp12g.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++
1995                                 "#o,p,q,r,s,t,u,v,w,x,y,z = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; [~f1="++fp1h.asString++",~f2="++fp2h.asString++",~f3="++fp3h.asString++",~f4="++fp4h.asString++",~f5="++fp5h.asString++",~f6="++fp6h.asString++",~f7="++fp7h.asString++",~f8="++fp8h.asString++",~f9="++fp9h.asString++",~f10="++fp10h.asString++",~f11="++fp11h.asString++",~f12="++fp12h.asString++"];"++" "++"~slidetime = 1; ~slidedo = 432; ~synthslide.value; ~trace.value; (a).wait;"++"\n"++"\n"++
1996
1997                                 "current: "++"\n"++
1998                                 "[~f1="++~f1.asString++",~f2="++~f2.asString++",~f3="++~f3.asString++",~f4="++~f4.asString++",~f5="++~f5.asString++",~f6="++~f6.asString++",~f7="++~f7.asString++",~f8="++~f8.asString++",~f9="++~f9.asString++",~f10="++~f10.asString++",~f11="++~f11.asString++",~f12="++~f12.asString++"]"
1999
2000                         );
2001                         ~tsc.stringColor = Color.white;
2002                         (str= [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ];("echo"+str+"| xclip -selection clipboard").unixCmd;);
2003                         [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].postln;},
2004                         {~tsc.close;});
2005         });
2006
2007
2008         //stop timer button
2009
2010         sts = Button.new(w,Rect(Window.screenBounds.width-20-20-20-20,~bpt+69+5,20,20/1.6180339887499)).states_([["st",Color.white,Color.black],["st",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2011                 if(~timer.isPlaying == true, {
2012                         if(~tst.value == nil, {~timer.stop; ~systemclock.stop; ~systemclock.clear;},{~tst.close;
2013                                 ~timevals.value;
2014                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear;});
2015                 });
2016         });
2017
2018
2019         //timer button
2020
2021         ~ts = Button.new(w,Rect(Window.screenBounds.width*0+20,Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["tsynth0",Color.white,Color.black],["tsynth1",Color.white,Color.black]]).action_({arg synthbutton; synthbutton.value.postln}).action_({arg synthbutton; if(synthbutton.value == 1, {
2022                 if(~tst != nil, {~tst.close});
2023                 ~timevals.value;
2024                 ~timer.stop; ~systemclock.stop; ~systemclock.clear;},{if(~tst.value == nil, {~timer.stop; ~systemclock.stop; ~systemclock.clear;},{~timer.stop; ~systemclock.stop; ~systemclock.clear; ~tst.close;})})});
2025
2026
2027         //start/stop synth button
2028
2029         b3 = Button.new(w,Rect(Window.screenBounds.width*0+20,Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["synth0",Color.white,Color.black],["synth1",Color.white,Color.black]]).action_({arg synthbutton; synthbutton.value.postln}).action_({
2030                 arg synthbutton; if(synthbutton.value == 1, {
2031                         ~l1a = Synth(\gsineicfld, [\dur, 432]).register;~l1a1 = Synth(\gsineicfld, [\dur, 432]).register;[~l1a, ~l1a1].do(_.free);~l1a = Synth(\gsineicfld, [\dur, 432]).register;~l1a1 = Synth(\gsineicfld, [\dur, 432]).register;[~l1a, ~l1a1].do(_.free);
2032                         ~synthopen.value;
2033                         ~numsynths.stop; ~numsynthsfunc.value;
2034                         ~midifunc.value;
2035                         },
2036                         {~synthfree.value; b4.value = 0;})
2037         });
2038
2039
2040         //pause/unpause button
2041
2042         b4 = Button.new(w,Rect(Window.screenBounds.width*0+80,Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["pause0",Color.white,Color.black],["pause1",Color.white,Color.black]]).action_({arg synthbutton; synthbutton.value.postln}).action_({
2043                 arg synthbutton; if(synthbutton.value == 1, {~synthpause.value; ~timer.stop;},
2044                         {~synthflow.value; if(~time == 0, {~timer.stop;}, {~timer = Routine({inf.do({~time = ~time+0.01; ~time.postln; 0.01.wait;});}); SystemClock.play(~timer);})})
2045         });
2046
2047
2048         //open/flow/slide buttons coordinate values
2049
2050         ~bph = 26;
2051         ~bpw = 26/1.6180339887499;
2052         ~bpl = Window.screenBounds.width-(~bph*8)-20;
2053         ~bpt = Window.screenBounds.height-88;
2054
2055         ~bp01l = ~bpl;
2056         ~bp02l = ~bpl+(~bph*1);
2057         ~bp03l = ~bpl+(~bph*2);
2058         ~bp04l = ~bpl+(~bph*3);
2059         ~bp05l = ~bpl+(~bph*4);
2060         ~bp06l = ~bpl+(~bph*5);
2061         ~bp07l = ~bpl+(~bph*6);
2062         ~bp08l = ~bpl+(~bph*7);
2063         ~bpf1l = ~bpl;
2064         ~bpf2l = ~bpl+(~bph*1);
2065         ~bpf3l = ~bpl+(~bph*2);
2066         ~bpf4l = ~bpl+(~bph*3);
2067         ~bpf5l = ~bpl+(~bph*4);
2068         ~bpf6l = ~bpl+(~bph*5);
2069         ~bpf7l = ~bpl+(~bph*6);
2070         ~bpf8l = ~bpl+(~bph*7);
2071
2072         ~bp01t = ~bpt;
2073         ~bp02t = ~bpt;
2074         ~bp03t = ~bpt;
2075         ~bp04t = ~bpt;
2076         ~bp05t = ~bpt;
2077         ~bp06t = ~bpt;
2078         ~bp07t = ~bpt;
2079         ~bp08t = ~bpt;
2080         ~bpf1t = ~bpt+~bpw;
2081         ~bpf2t = ~bpt+~bpw;
2082         ~bpf3t = ~bpt+~bpw;
2083         ~bpf4t = ~bpt+~bpw;
2084         ~bpf5t = ~bpt+~bpw;
2085         ~bpf6t = ~bpt+~bpw;
2086         ~bpf7t = ~bpt+~bpw;
2087         ~bpf8t = ~bpt+~bpw;
2088
2089         ~bp01h = ~bph;
2090         ~bp02h = ~bph;
2091         ~bp03h = ~bph;
2092         ~bp04h = ~bph;
2093         ~bp05h = ~bph;
2094         ~bp06h = ~bph;
2095         ~bp07h = ~bph;
2096         ~bp08h = ~bph;
2097         ~bpf1h = ~bph;
2098         ~bpf2h = ~bph;
2099         ~bpf3h = ~bph;
2100         ~bpf4h = ~bph;
2101         ~bpf5h = ~bph;
2102         ~bpf6h = ~bph;
2103         ~bpf7h = ~bph;
2104         ~bpf8h = ~bph;
2105
2106         ~bp01w = ~bpw;
2107         ~bp02w = ~bpw;
2108         ~bp03w = ~bpw;
2109         ~bp04w = ~bpw;
2110         ~bp05w = ~bpw;
2111         ~bp06w = ~bpw;
2112         ~bp07w = ~bpw;
2113         ~bp08w = ~bpw;
2114         ~bpf1w = ~bpw;
2115         ~bpf2w = ~bpw;
2116         ~bpf3w = ~bpw;
2117         ~bpf4w = ~bpw;
2118         ~bpf5w = ~bpw;
2119         ~bpf6w = ~bpw;
2120         ~bpf7w = ~bpw;
2121         ~bpf8w = ~bpw;
2122
2123         ~tspw=280+210;
2124         ~tsph=280+210/~gm;
2125         ~tspl=Window.screenBounds.width-~tspw;
2126         ~tspt=~bpt-310;
2127
2128
2129         //synthopen 1-8 buttons
2130
2131         ~bplaceo1 = Button.new(w,Rect(~bp01l,~bp01t,~bp01h,~bp01w)).states_([["o1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2132
2133                 [~f1=fp1,~f2=fp2,~f3=fp3,~f4=fp4,~f5=fp5,~f6=fp6,~f7=fp7,~f8=fp8,~f9=fp9,~f10=fp10,~f11=fp11,~f12=fp12];
2134
2135                 ~synthopen.value;
2136                 ~currentsynth = "o1"; ~synthmonitorfunc.value;
2137
2138                 if(~ts.value == 1,
2139                         {if(~tst == nil, {nil}, {~tst.close;});
2140                                 ~timevals.value;
2141                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1o = 0;
2142                                 ~timer = Routine({inf.do({
2143                                         ~time1o =
2144                                         ~time1o+0.01; ~slot = "o1_"+~time1o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2145                         {nil});
2146         });
2147
2148         ~bplaceo2 = Button.new(w,Rect(~bp02l,~bp02t,~bp02h,~bp02w)).states_([["o2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2149
2150                 [~f1=fp1b,~f2=fp2b,~f3=fp3b,~f4=fp4b,~f5=fp5b,~f6=fp6b,~f7=fp7b,~f8=fp8b,~f9=fp9b,~f10=fp10b,~f11=fp11b,~f12=fp12b];
2151
2152                 ~synthopen.value;
2153                 ~currentsynth = "o2"; ~synthmonitorfunc.value;
2154
2155                 if(~ts.value == 1,
2156                         {if(~tst == nil, {nil}, {~tst.close;});
2157                                 ~timevals.value;
2158                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2o = 0;
2159                                 ~timer = Routine({inf.do({
2160                                         ~time2o =
2161                                         ~time2o+0.01; ~slot = "o2_"+~time2o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2162                         {nil});
2163         });
2164         ~bplaceo3 = Button.new(w,Rect(~bp03l,~bp03t,~bp03h,~bp03w)).states_([["o3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2165
2166                 [~f1=fp1c,~f2=fp2c,~f3=fp3c,~f4=fp4c,~f5=fp5c,~f6=fp6c,~f7=fp7c,~f8=fp8c,~f9=fp9c,~f10=fp10c,~f11=fp11c,~f12=fp12c];
2167
2168                 ~synthopen.value;
2169                 ~currentsynth = "o3"; ~synthmonitorfunc.value;
2170
2171                 if(~ts.value == 1,
2172                         {if(~tst == nil, {nil}, {~tst.close;});
2173                                 ~timevals.value;
2174                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3o = 0;
2175                                 ~timer = Routine({inf.do({
2176                                         ~time3o =
2177                                         ~time3o+0.01; ~slot = "o3_"+~time3o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2178                         {nil});
2179         });
2180         ~bplaceo4 = Button.new(w,Rect(~bp04l,~bp04t,~bp04h,~bp04w)).states_([["o4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2181
2182                 [~f1=fp1d,~f2=fp2d,~f3=fp3d,~f4=fp4d,~f5=fp5d,~f6=fp6d,~f7=fp7d,~f8=fp8d,~f9=fp9d,~f10=fp10d,~f11=fp11d,~f12=fp12d];
2183
2184                 ~synthopen.value;
2185                 ~currentsynth = "o4"; ~synthmonitorfunc.value;
2186
2187                 if(~ts.value == 1,
2188                         {if(~tst == nil, {nil}, {~tst.close;});
2189                                 ~timevals.value;
2190                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4o = 0;
2191                                 ~timer = Routine({inf.do({
2192                                         ~time4o =
2193                                         ~time4o+0.01; ~slot = "o4_"+~time4o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2194                         {nil});
2195
2196         });
2197
2198         ~bplaceo5 = Button.new(w,Rect(~bp05l,~bp05t,~bp05h,~bp05w)).states_([["o5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2199
2200                 [~f1=fp1e,~f2=fp2e,~f3=fp3e,~f4=fp4e,~f5=fp5e,~f6=fp6e,~f7=fp7e,~f8=fp8e,~f9=fp9e,~f10=fp10e,~f11=fp11e,~f12=fp12e];
2201
2202                 ~synthopen.value;
2203                 ~currentsynth = "o5"; ~synthmonitorfunc.value;
2204
2205                 if(~ts.value == 1,
2206                         {if(~tst == nil, {nil}, {~tst.close;});
2207                                 ~timevals.value;
2208                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5o = 0;
2209                                 ~timer = Routine({inf.do({
2210                                         ~time5o =
2211                                         ~time5o+0.01; ~slot = "o5_"+~time5o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2212                         {nil});
2213
2214         });
2215         ~bplaceo6 = Button.new(w,Rect(~bp06l,~bp06t,~bp06h,~bp06w)).states_([["o6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2216
2217                 [~f1=fp1f,~f2=fp2f,~f3=fp3f,~f4=fp4f,~f5=fp5f,~f6=fp6f,~f7=fp7f,~f8=fp8f,~f9=fp9f,~f10=fp10f,~f11=fp11f,~f12=fp12f];
2218
2219                 ~synthopen.value;
2220                 ~currentsynth = "o6"; ~synthmonitorfunc.value;
2221
2222                 if(~ts.value == 1,
2223                         {if(~tst == nil, {nil}, {~tst.close;});
2224                                 ~timevals.value;
2225                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6o = 0;
2226                                 ~timer = Routine({inf.do({
2227                                         ~time6o =
2228                                         ~time6o+0.01; ~slot = "o6_"+~time6o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2229                         {nil});
2230         });
2231         ~bplaceo7 = Button.new(w,Rect(~bp07l,~bp07t,~bp07h,~bp07w)).states_([["o7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2232
2233                 [~f1=fp1g,~f2=fp2g,~f3=fp3g,~f4=fp4g,~f5=fp5g,~f6=fp6g,~f7=fp7g,~f8=fp8g,~f9=fp9g,~f10=fp10g,~f11=fp11g,~f12=fp12g];
2234
2235                 ~synthopen.value;
2236                 ~currentsynth = "o7"; ~synthmonitorfunc.value;
2237
2238                 if(~ts.value == 1,
2239                         {if(~tst == nil, {nil}, {~tst.close;});
2240                                 ~timevals.value;
2241                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7o = 0;
2242                                 ~timer = Routine({inf.do({
2243                                         ~time7o =
2244                                         ~time7o+0.01; ~slot = "o7_"+~time7o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2245                         {nil});
2246         });
2247         ~bplaceo8 = Button.new(w,Rect(~bp08l,~bp08t,~bp08h,~bp08w)).states_([["o8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2248
2249                 [~f1=fp1h,~f2=fp2h,~f3=fp3h,~f4=fp4h,~f5=fp5h,~f6=fp6h,~f7=fp7h,~f8=fp8h,~f9=fp9h,~f10=fp10h,~f11=fp11h,~f12=fp12h];
2250
2251                 ~synthopen.value;
2252                 ~currentsynth = "o8"; ~synthmonitorfunc.value;
2253
2254                 if(~ts.value == 1,
2255                         {if(~tst == nil, {nil}, {~tst.close;});
2256                                 ~timevals.value;
2257                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8o = 0;
2258                                 ~timer = Routine({inf.do({
2259                                         ~time8o =
2260                                         ~time8o+0.01; ~slot = "o8_"+~time8o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2261                         {nil});
2262         });
2263
2264
2265         //synthflow 1-8 buttons
2266
2267         ~bplacef1 = Button.new(w,Rect(~bpf1l,~bpf1t,~bpf1h,~bpf1w)).states_([["f1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2268
2269                 [~f1=fp1,~f2=fp2,~f3=fp3,~f4=fp4,~f5=fp5,~f6=fp6,~f7=fp7,~f8=fp8,~f9=fp9,~f10=fp10,~f11=fp11,~f12=fp12];
2270
2271                 ~synthflow.value;
2272                 ~currentsynth = "f1"; ~synthmonitorfunc.value;
2273
2274                 if(~ts.value == 1,
2275                         {if(~tst == nil, {nil}, {~tst.close;});
2276                                 ~timevals.value;
2277                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1f = 0;
2278                                 ~timer = Routine({inf.do({
2279                                         ~time1f =
2280                                         ~time1f+0.01; ~slot = "f1_"+~time1f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2281                         {nil});
2282         });
2283         ~bplacef2 = Button.new(w,Rect(~bpf2l,~bpf2t,~bpf2h,~bpf2w)).states_([["f2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2284
2285                 [~f1=fp1b,~f2=fp2b,~f3=fp3b,~f4=fp4b,~f5=fp5b,~f6=fp6b,~f7=fp7b,~f8=fp8b,~f9=fp9b,~f10=fp10b,~f11=fp11b,~f12=fp12b];
2286
2287                 ~synthflow.value;
2288                 ~currentsynth = "f2"; ~synthmonitorfunc.value;
2289
2290                 if(~ts.value == 1,
2291                         {if(~tst == nil, {nil}, {~tst.close;});
2292                                 ~timevals.value;
2293                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2f = 0;
2294                                 ~timer = Routine({inf.do({
2295                                         ~time2f =
2296                                         ~time2f+0.01; ~slot = "f2_"+~time2f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2297                         {nil});
2298         });
2299
2300         ~bplacef3 = Button.new(w,Rect(~bpf3l,~bpf3t,~bpf3h,~bpf3w)).states_([["f3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2301
2302                 [~f1=fp1c,~f2=fp2c,~f3=fp3c,~f4=fp4c,~f5=fp5c,~f6=fp6c,~f7=fp7c,~f8=fp8c,~f9=fp9c,~f10=fp10c,~f11=fp11c,~f12=fp12c];
2303
2304                 ~synthflow.value;
2305                 ~currentsynth = "f3"; ~synthmonitorfunc.value;
2306
2307                 if(~ts.value == 1,
2308                         {if(~tst == nil, {nil}, {~tst.close;});
2309                                 ~timevals.value;
2310                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3f = 0;
2311                                 ~timer = Routine({inf.do({
2312                                         ~time3f =
2313                                         ~time3f+0.01; ~slot = "f3_"+~time3f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2314                         {nil});
2315         });
2316         ~bplacef4 = Button.new(w,Rect(~bpf4l,~bpf4t,~bpf4h,~bpf4w)).states_([["f4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2317
2318                 [~f1=fp1d,~f2=fp2d,~f3=fp3d,~f4=fp4d,~f5=fp5d,~f6=fp6d,~f7=fp7d,~f8=fp8d,~f9=fp9d,~f10=fp10d,~f11=fp11d,~f12=fp12d];
2319
2320                 ~synthflow.value;
2321                 ~currentsynth = "f4"; ~synthmonitorfunc.value;
2322
2323                 if(~ts.value == 1,
2324                         {if(~tst == nil, {nil}, {~tst.close;});
2325                                 ~timevals.value;
2326                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4f = 0;
2327                                 ~timer = Routine({inf.do({
2328                                         ~time4f =
2329                                         ~time4f+0.01; ~slot = "f4_"+~time4f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2330                         {nil});
2331         });
2332
2333         ~bplacef5 = Button.new(w,Rect(~bpf5l,~bpf5t,~bpf5h,~bpf5w)).states_([["f5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2334
2335                 [~f1=fp1e,~f2=fp2e,~f3=fp3e,~f4=fp4e,~f5=fp5e,~f6=fp6e,~f7=fp7e,~f8=fp8e,~f9=fp9e,~f10=fp10e,~f11=fp11e,~f12=fp12e];
2336
2337                 ~synthflow.value;
2338                 ~currentsynth = "f5"; ~synthmonitorfunc.value;
2339
2340                 if(~ts.value == 1,
2341                         {if(~tst == nil, {nil}, {~tst.close;});
2342                                 ~timevals.value;
2343                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5f = 0;
2344                                 ~timer = Routine({inf.do({
2345                                         ~time5f =
2346                                         ~time5f+0.01; ~slot = "f5_"+~time5f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2347                         {nil});
2348         });
2349
2350         ~bplacef6 = Button.new(w,Rect(~bpf6l,~bpf6t,~bpf6h,~bpf6w)).states_([["f6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2351
2352                 [~f1=fp1f,~f2=fp2f,~f3=fp3f,~f4=fp4f,~f5=fp5f,~f6=fp6f,~f7=fp7f,~f8=fp8f,~f9=fp9f,~f10=fp10f,~f11=fp11f,~f12=fp12f];
2353
2354                 ~synthflow.value;
2355                 ~currentsynth = "f6"; ~synthmonitorfunc.value;
2356
2357                 if(~ts.value == 1,
2358                         {if(~tst == nil, {nil}, {~tst.close;});
2359                                 ~timevals.value;
2360                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6f = 0;
2361                                 ~timer = Routine({inf.do({
2362                                         ~time6f =
2363                                         ~time6f+0.01; ~slot = "f6_"+~time6f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2364                         {nil});
2365         });
2366
2367
2368         ~bplacef7 = Button.new(w,Rect(~bpf7l,~bpf7t,~bpf7h,~bpf7w)).states_([["f7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2369
2370                 [~f1=fp1g,~f2=fp2g,~f3=fp3g,~f4=fp4g,~f5=fp5g,~f6=fp6g,~f7=fp7g,~f8=fp8g,~f9=fp9g,~f10=fp10g,~f11=fp11g,~f12=fp12g];
2371
2372                 ~synthflow.value;
2373                 ~currentsynth = "f7"; ~synthmonitorfunc.value;
2374
2375                 if(~ts.value == 1,
2376                         {if(~tst == nil, {nil}, {~tst.close;});
2377                                 ~timevals.value;
2378                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7f = 0;
2379                                 ~timer = Routine({inf.do({
2380                                         ~time7f =
2381                                         ~time7f+0.01; ~slot = "f7_"+~time7f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2382                         {nil});
2383         });
2384         ~bplacef8 = Button.new(w,Rect(~bpf8l,~bpf8t,~bpf8h,~bpf8w)).states_([["f8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2385
2386                 [~f1=fp1h,~f2=fp2h,~f3=fp3h,~f4=fp4h,~f5=fp5h,~f6=fp6h,~f7=fp7h,~f8=fp8h,~f9=fp9h,~f10=fp10h,~f11=fp11h,~f12=fp12h];
2387
2388                 ~synthflow.value;
2389                 ~currentsynth = "f8"; ~synthmonitorfunc.value;
2390
2391                 if(~ts.value == 1,
2392                         {if(~tst == nil, {nil}, {~tst.close;});
2393                                 ~timevals.value;
2394                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8f = 0;
2395                                 ~timer = Routine({inf.do({
2396                                         ~time8f =
2397                                         ~time8f+0.01; ~slot = "f8_"+~time8f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2398                         {nil});
2399         });
2400
2401
2402         //synthslide 1-8 buttons
2403
2404         ~bplaces1 = Button.new(w,Rect(~bpf1l,~bpf1t+~bpf1w,~bpf1h,~bpf1w)).states_([["s1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2405
2406                 if(~slidetime1 == nil, {~slidetime1 = 4}); if(~slidedo1 == nil, {~slidedo1 = 2000;}); ~slidecount = ~slidedo1;
2407                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2408                         [ fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 ])*(-1)/~slidedo1);
2409
2410                 ~slidetime =~slidetime1; ~slidedo = ~slidedo1;
2411
2412                 ~slideroutine.stop;
2413
2414                 ~synthslide.value;
2415                 ~currentsynth = "s1"; ~synthmonitorfunc.value;
2416
2417                 if(~ts.value == 1,
2418                         {if(~tst == nil, {nil}, {~tst.close;});
2419                                 ~timevals.value;
2420                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1s = 0;
2421                                 ~timer = Routine({inf.do({
2422                                         ~time1s =
2423                                         ~time1s+0.01; ~slot = "s1_"+~time1s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2424                         {nil});
2425
2426         });
2427         ~bplaces2 = Button.new(w,Rect(~bpf2l,~bpf2t+~bpf2w,~bpf2h,~bpf2w)).states_([["s2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2428
2429                 if(~slidetime2 == nil, {~slidetime2 = 4}); if(~slidedo2 == nil, {~slidedo2 = 2000;}); ~slidecount = ~slidedo2;
2430                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2431                         [ fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b ])*(-1)/~slidedo2);
2432
2433                 ~slidetime = ~slidetime2; ~slidedo = ~slidedo2;
2434
2435                 ~slideroutine.stop;
2436
2437                 ~synthslide.value;
2438                 ~currentsynth = "s2"; ~synthmonitorfunc.value;
2439
2440                 if(~ts.value == 1,
2441                         {if(~tst == nil, {nil}, {~tst.close;});
2442                                 ~timevals.value;
2443                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2s = 0;
2444                                 ~timer = Routine({inf.do({
2445                                         ~time2s =
2446                                         ~time2s+0.01; ~slot = "s2_"+~time2s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2447                         {nil});
2448
2449         });
2450         ~bplaces3 = Button.new(w,Rect(~bpf3l,~bpf3t+~bpf3w,~bpf3h,~bpf3w)).states_([["s3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2451
2452                 if(~slidetime3 == nil, {~slidetime3 = 4}); if(~slidedo3 == nil, {~slidedo3 = 2000;}); ~slidecount = ~slidedo3;
2453                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2454                         [ fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c ])*(-1)/~slidedo3);
2455
2456                 ~slidetime = ~slidetime3; ~slidedo = ~slidedo3;
2457
2458                 ~slideroutine.stop;
2459
2460                 ~synthslide.value;
2461                 ~currentsynth = "s3"; ~synthmonitorfunc.value;
2462
2463                 if(~ts.value == 1,
2464                         {if(~tst == nil, {nil}, {~tst.close;});
2465                                 ~timevals.value;
2466                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3s = 0;
2467                                 ~timer = Routine({inf.do({
2468                                         ~time3s =
2469                                         ~time3s+0.01; ~slot = "s3_"+~time3s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2470                         {nil});
2471
2472         });
2473         ~bplaces4 = Button.new(w,Rect(~bpf4l,~bpf4t+~bpf4w,~bpf4h,~bpf4w)).states_([["s4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2474
2475                 if(~slidetime4 == nil, {~slidetime4 = 4}); if(~slidedo4 == nil, {~slidedo4 = 2000;}); ~slidecount = ~slidedo4;
2476                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2477                         [ fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d ])*(-1)/~slidedo4);
2478
2479                 ~slidetime = ~slidetime4; ~slidedo = ~slidedo4;
2480
2481                 ~slideroutine.stop;
2482
2483                 ~synthslide.value;
2484                 ~currentsynth = "s4"; ~synthmonitorfunc.value;
2485
2486                 if(~ts.value == 1,
2487                         {if(~tst == nil, {nil}, {~tst.close;});
2488                                 ~timevals.value;
2489                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4s = 0;
2490                                 ~timer = Routine({inf.do({
2491                                         ~time4s =
2492                                         ~time4s+0.01; ~slot = "s4_"+~time4s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2493                         {nil});
2494         });
2495         ~bplaces5 = Button.new(w,Rect(~bpf5l,~bpf5t+~bpf5w,~bpf5h,~bpf5w)).states_([["s5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2496
2497                 if(~slidetime5 == nil, {~slidetime5 = 4}); if(~slidedo5 == nil, {~slidedo5 = 2000;}); ~slidecount = ~slidedo5;
2498                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2499                         [ fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e ])*(-1)/~slidedo5);
2500
2501                 ~slidetime = ~slidetime5; ~slidedo = ~slidedo5;
2502
2503                 ~slideroutine.stop;
2504
2505                 ~synthslide.value;
2506                 ~currentsynth = "s5"; ~synthmonitorfunc.value;
2507
2508                 if(~ts.value == 1,
2509                         {if(~tst == nil, {nil}, {~tst.close;});
2510                                 ~timevals.value;
2511                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5s = 0;
2512                                 ~timer = Routine({inf.do({
2513                                         ~time5s =
2514                                         ~time5s+0.01; ~slot = "s5_"+~time5s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2515                         {nil});
2516
2517         });
2518         ~bplaces6 = Button.new(w,Rect(~bpf6l,~bpf6t+~bpf6w,~bpf6h,~bpf6w)).states_([["s6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2519
2520                 if(~slidetime6 == nil, {~slidetime6 = 4}); if(~slidedo6 == nil, {~slidedo6 = 2000;}); ~slidecount = ~slidedo6;
2521                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2522                         [ fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f ])*(-1)/~slidedo6);
2523
2524                 ~slidetime = ~slidetime6; ~slidedo = ~slidedo6;
2525                 ~slideroutine.stop;
2526
2527                 ~synthslide.value;
2528                 ~currentsynth = "s6"; ~synthmonitorfunc.value;
2529
2530                 if(~ts.value == 1,
2531                         {if(~tst == nil, {nil}, {~tst.close;});
2532                                 ~timevals.value;
2533                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6s = 0;
2534                                 ~timer = Routine({inf.do({
2535                                         ~time6s =
2536                                         ~time6s+0.01; ~slot = "s6_"+~time6s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2537                         {nil});
2538
2539         });
2540         ~bplaces7 = Button.new(w,Rect(~bpf7l,~bpf7t+~bpf7w,~bpf7h,~bpf7w)).states_([["s7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2541
2542                 if(~slidetime7 == nil, {~slidetime7 = 4}); if(~slidedo7 == nil, {~slidedo7 = 2000;}); ~slidecount = ~slidedo7;
2543                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2544                         [ fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g ])*(-1)/~slidedo7);
2545
2546                 ~slidetime = ~slidetime7; ~slidedo = ~slidedo7;
2547                 ~slideroutine.stop;
2548
2549                 ~synthslide.value;
2550                 ~currentsynth = "s7"; ~synthmonitorfunc.value;
2551
2552                 if(~ts.value == 1,
2553                         {if(~tst == nil, {nil}, {~tst.close;});
2554                                 ~timevals.value;
2555                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7s = 0;
2556                                 ~timer = Routine({inf.do({
2557                                         ~time7s =
2558                                         ~time7s+0.01; ~slot = "s7_"+~time7s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2559                         {nil});
2560
2561         });
2562         ~bplaces8 = Button.new(w,Rect(~bpf8l,~bpf8t+~bpf8w,~bpf8h,~bpf8w)).states_([["s8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2563
2564                 if(~slidetime8 == nil, {~slidetime8 = 4}); if(~slidedo8 == nil, {~slidedo8 = 2000;}); ~slidecount = ~slidedo8;
2565                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]-
2566                         [ fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h ])*(-1)/~slidedo8);
2567
2568                 ~slidetime = ~slidetime8; ~slidedo = ~slidedo8;
2569
2570                 ~slideroutine.stop;
2571
2572                 ~synthslide.value;
2573                 ~currentsynth = "s8"; ~synthmonitorfunc.value;
2574
2575                 if(~ts.value == 1,
2576                         {if(~tst == nil, {nil}, {~tst.close;});
2577                                 ~timevals.value;
2578                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8s = 0;
2579                                 ~timer = Routine({inf.do({
2580                                         ~time8s =
2581                                         ~time8s+0.01; ~slot = "s8_"+~time8s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
2582                         {nil});
2583         });
2584
2585
2586         //if slidetime/slidedo is nil
2587
2588         if(~slidetimeall == nil, {~slidetimeall = 1});
2589         if(~slidetime1 == nil, {~slidetime1 = 1});
2590         if(~slidetime2 == nil, {~slidetime2 = 1});
2591         if(~slidetime3 == nil, {~slidetime3 = 1});
2592         if(~slidetime4 == nil, {~slidetime4 = 1});
2593         if(~slidetime5 == nil, {~slidetime5 = 1});
2594         if(~slidetime6 == nil, {~slidetime6 = 1});
2595         if(~slidetime7 == nil, {~slidetime7 = 1});
2596         if(~slidetime8 == nil, {~slidetime8 = 1});
2597
2598         if(~slidedoall == nil, {~slidedoall = 432});
2599         if(~slidedo1 == nil, {~slidedo1 = 432});
2600         if(~slidedo2 == nil, {~slidedo2 = 432});
2601         if(~slidedo3 == nil, {~slidedo3 = 432});
2602         if(~slidedo4 == nil, {~slidedo4 = 432});
2603         if(~slidedo5 == nil, {~slidedo5 = 432});
2604         if(~slidedo6 == nil, {~slidedo6 = 432});
2605         if(~slidedo7 == nil, {~slidedo7 = 432});
2606         if(~slidedo8 == nil, {~slidedo8 = 432});
2607
2608
2609         //set slide values button
2610
2611         ~slidevals = Button.new(w,Rect(Window.screenBounds.width-20-20-20,~bpt+69+5,20,20/1.6180339887499)).states_([["s",Color.white,Color.black],["s",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2612
2613                 if(button.value == 1, {
2614                         ({
2615                                 arg lefttime = 0 , lefttimebox = 52, leftdo = lefttimebox+widthbox+6, leftdobox = leftdo+57, top = 0,width=52, height = 16,  widthbox=52, heightbox = 16, inc=0, lw = 0,  uw = 0, numw = 40;
2616                                 var tall, stall, iall, siall, st1, st2, st3, st4, st5, st6, st7, st8, si1, si2, si3, si4, si5, si6, si7, si8, t1,t2,t3,t4,t5,t6,t7,t8,i1,i2,i3,i4,i5,i6,i7,i8;
2617                                 ~slideview = View(w, Rect(Window.screenBounds.width-(340+46),Window.screenBounds.height-(340+46/1.6180339887499)-110,340+46,340+46/1.6180339887499)).front;
2618                                 /*w.view.decorator=FlowLayout(w.view.bounds);
2619                                 w.view.decorator.gap=2@2;*/
2620
2621                                 tall = StaticText(~slideview, Rect(lefttime , top=top, width, height)).background_(Color.black).string_("all time").stringColor_(Color.white);
2622                                 t1 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s1 time").stringColor_(Color.white);
2623                                 t2 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s2 time").stringColor_(Color.white);
2624                                 t3 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s3 time").stringColor_(Color.white);
2625                                 t4 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s4 time").stringColor_(Color.white);
2626                                 t5 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s5 time").stringColor_(Color.white);
2627                                 t6 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s6 time").stringColor_(Color.white);
2628                                 t7 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s7 time").stringColor_(Color.white);
2629                                 t8 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s8 time").stringColor_(Color.white);
2630
2631                                 top = 0;
2632
2633                                 stall=NumberBox(~slideview, Rect(lefttimebox , top=top, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetimeall);
2634                                 st1=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime1);
2635                                 st2=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime2);
2636                                 st3=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime3);
2637                                 st4=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime4);
2638                                 st5=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime5);
2639                                 st6=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime6);
2640                                 st7=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime7);
2641                                 st8=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime8);
2642
2643                                 top = 0;
2644
2645                                 iall = StaticText(~slideview, Rect(leftdo , top=top, width, height)).background_(Color.black).string_("all incr").stringColor_(Color.white);
2646                                 i1 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s1 incr").stringColor_(Color.white);
2647                                 i2 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s2 incr").stringColor_(Color.white);
2648                                 i3 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s3 incr").stringColor_(Color.white);
2649                                 i4 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s4 incr").stringColor_(Color.white);
2650                                 i5 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s5 incr").stringColor_(Color.white);
2651                                 i6 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s6 incr").stringColor_(Color.white);
2652                                 i7 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s7 incr").stringColor_(Color.white);
2653                                 i8 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s8 incr").stringColor_(Color.white);
2654
2655                                 top = 0;
2656
2657                                 siall=NumberBox(~slideview, Rect(leftdobox , top=top, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedoall);
2658                                 si1=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo1);
2659                                 si2=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo2);
2660                                 si3=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo3);
2661                                 si4=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo4);
2662                                 si5=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo5);
2663                                 si6=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo6);
2664                                 si7=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo7);
2665                                 si8=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo8);
2666
2667                                 stall.action_({arg val;
2668                                         ~slidetimeall = val.value;
2669                                         ~slidetime1 = val.value;
2670                                         ~slidetime2 = val.value;
2671                                         ~slidetime3 = val.value;
2672                                         ~slidetime4 = val.value;
2673                                         ~slidetime5 = val.value;
2674                                         ~slidetime6 = val.value;
2675                                         ~slidetime7 = val.value;
2676                                         ~slidetime8 = val.value;
2677                                         ~slideview.close; ~slidevals.valueAction_(1);
2678                                 });
2679                                 st1.action_({arg val; ~slidetime1 = val.value;});
2680                                 st2.action_({arg val; ~slidetime2 = val.value;});
2681                                 st3.action_({arg val; ~slidetime3 = val.value;});
2682                                 st4.action_({arg val; ~slidetime4 = val.value;});
2683                                 st5.action_({arg val; ~slidetime5 = val.value;});
2684                                 st6.action_({arg val; ~slidetime6 = val.value;});
2685                                 st7.action_({arg val; ~slidetime7 = val.value;});
2686                                 st8.action_({arg val; ~slidetime8 = val.value;});
2687
2688                                 siall.action_({arg val;
2689                                         ~slidedoall = val.value;
2690                                         ~slidedo1 = val.value;
2691                                         ~slidedo2 = val.value;
2692                                         ~slidedo3 = val.value;
2693                                         ~slidedo4 = val.value;
2694                                         ~slidedo5 = val.value;
2695                                         ~slidedo6 = val.value;
2696                                         ~slidedo7 = val.value;
2697                                         ~slidedo8 = val.value;
2698                                         ~slideview.close; ~slidevals.valueAction_(1);
2699                                 });
2700                                 si1.action_({arg val; ~slidedo1 = val.value;});
2701                                 si2.action_({arg val; ~slidedo2 = val.value;});
2702                                 si3.action_({arg val; ~slidedo3 = val.value;});
2703                                 si4.action_({arg val; ~slidedo4 = val.value;});
2704                                 si5.action_({arg val; ~slidedo5 = val.value;});
2705                                 si6.action_({arg val; ~slidedo6 = val.value;});
2706                                 si7.action_({arg val; ~slidedo7 = val.value;});
2707                                 si8.action_({arg val; ~slidedo8 = val.value;});
2708
2709                                 ~slideview.background_(Color.black);
2710
2711                                 ~closeslidebutton = Button.new(~slideview,Rect(220, top+40, 40, 40/~gm)).states_([["close",Color.white,Color.black]]).action_({arg button;
2712
2713                                         ~slideview.close; ~slidevals.value = 0;
2714                                 });
2715
2716                         }.value);
2717
2718                         ~slideview.front;
2719                 }, {~slideview.close});
2720         });
2721
2722
2723         //mute/unmute 1-8 buttons
2724
2725         mute1 = Button.new(w,Rect(~bpl+(0),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["1",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2726                 case
2727                 {~l1a1.isRunning == true}{
2728                         if(button.value == 0, {
2729                                 (~vol1 = ~vol;
2730                                         1.do({
2731                                                 ~l1a1.set(\vol, ~vol1);  ~l1b1.set(\vol, ~vol1);
2732                                                 ~l1c1.set(\vol, ~vol1);  ~l1d1.set(\vol, ~vol1);
2733                                                 ~l1e1.set(\vol, ~vol1);  ~l1f1.set(\vol, ~vol1);
2734
2735                                 }););
2736                                 }, {(~vol1 = 0;
2737                                         1.do({
2738                                                 ~l1a1.set(\vol, ~vol1);  ~l1b1.set(\vol, ~vol1);
2739                                                 ~l1c1.set(\vol, ~vol1);  ~l1d1.set(\vol, ~vol1);
2740                                                 ~l1e1.set(\vol, ~vol1);  ~l1f1.set(\vol, ~vol1);
2741
2742                                         }););
2743                         });
2744                 }
2745                 {~l1a.isRunning == true}{
2746                         if(button.value == 0, {
2747                                 (~vol1 = ~vol;
2748                                         1.do({
2749                                                 ~l1a.set(\vol, ~vol1);  ~l1b.set(\vol, ~vol1);
2750                                                 ~l1c.set(\vol, ~vol1);  ~l1d.set(\vol, ~vol1);
2751                                                 ~l1e.set(\vol, ~vol1);  ~l1f.set(\vol, ~vol1);
2752
2753                                 }););
2754                                 }, {(~vol1 = 0;
2755                                         1.do({
2756                                                 ~l1a.set(\vol, ~vol1);  ~l1b.set(\vol, ~vol1);
2757                                                 ~l1c.set(\vol, ~vol1);  ~l1d.set(\vol, ~vol1);
2758                                                 ~l1e.set(\vol, ~vol1);  ~l1f.set(\vol, ~vol1);
2759
2760                                         }););
2761                         });
2762                 };
2763         });
2764
2765         mute2 = Button.new(w,Rect(~bpl+(16*1),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["2",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2766                 case
2767                 {~l1a1.isRunning == true}{
2768                         if(button.value == 0, {
2769                                 (~vol2 = ~vol;
2770                                         1.do({
2771                                                 ~l2a1.set(\vol, ~vol2);  ~l2b1.set(\vol, ~vol2);
2772                                                 ~l2c1.set(\vol, ~vol2);  ~l2d1.set(\vol, ~vol2);
2773                                                 ~l2e1.set(\vol, ~vol2);  ~l2f1.set(\vol, ~vol2);
2774
2775                                 }););
2776                                 }, {(~vol2 = 0;
2777                                         1.do({
2778                                                 ~l2a1.set(\vol, ~vol2);  ~l2b1.set(\vol, ~vol2);
2779                                                 ~l2c1.set(\vol, ~vol2);  ~l2d1.set(\vol, ~vol2);
2780                                                 ~l2e1.set(\vol, ~vol2);  ~l2f1.set(\vol, ~vol2);
2781
2782                                         }););
2783                         });
2784                 }
2785                 {~l1a.isRunning == true}{
2786                         if(button.value == 0, {
2787                                 (~vol2 = ~vol;
2788                                         1.do({
2789                                                 ~l2a.set(\vol, ~vol2);  ~l2b.set(\vol, ~vol2);
2790                                                 ~l2c.set(\vol, ~vol2);  ~l2d.set(\vol, ~vol2);
2791                                                 ~l2e.set(\vol, ~vol2);  ~l2f.set(\vol, ~vol2);
2792
2793                                 }););
2794                                 }, {(~vol2 = 0;
2795                                         1.do({
2796                                                 ~l2a.set(\vol, ~vol2);  ~l2b.set(\vol, ~vol2);
2797                                                 ~l2c.set(\vol, ~vol2);  ~l2d.set(\vol, ~vol2);
2798                                                 ~l2e.set(\vol, ~vol2);  ~l2f.set(\vol, ~vol2);
2799
2800                                         }););
2801                         });
2802                 };
2803         });
2804         mute3 = Button.new(w,Rect(~bpl+(16*2),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["3",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2805                 case
2806                 {~l1a1.isRunning == true}{
2807                         if(button.value == 0, {
2808                                 (~vol3 = ~vol;
2809                                         1.do({
2810                                                 ~l3a1.set(\vol, ~vol3);  ~l3b1.set(\vol, ~vol3);
2811                                                 ~l3c1.set(\vol, ~vol3);  ~l3d1.set(\vol, ~vol3);
2812                                                 ~l3e1.set(\vol, ~vol3);  ~l3f1.set(\vol, ~vol3);
2813
2814                                 }););
2815                                 }, {(~vol3 = 0;
2816                                         1.do({
2817                                                 ~l3a1.set(\vol, ~vol3);  ~l3b1.set(\vol, ~vol3);
2818                                                 ~l3c1.set(\vol, ~vol3);  ~l3d1.set(\vol, ~vol3);
2819                                                 ~l3e1.set(\vol, ~vol3);  ~l3f1.set(\vol, ~vol3);
2820
2821                                         }););
2822                         });
2823                 }
2824                 {~l1a.isRunning == true}{
2825                         if(button.value == 0, {
2826                                 (~vol3 = ~vol;
2827                                         1.do({
2828                                                 ~l3a.set(\vol, ~vol3);  ~l3b.set(\vol, ~vol3);
2829                                                 ~l3c.set(\vol, ~vol3);  ~l3d.set(\vol, ~vol3);
2830                                                 ~l3e.set(\vol, ~vol3);  ~l3f.set(\vol, ~vol3);
2831
2832                                 }););
2833                                 }, {(~vol3 = 0;
2834                                         1.do({
2835                                                 ~l3a.set(\vol, ~vol3);  ~l3b.set(\vol, ~vol3);
2836                                                 ~l3c.set(\vol, ~vol3);  ~l3d.set(\vol, ~vol3);
2837                                                 ~l3e.set(\vol, ~vol3);  ~l3f.set(\vol, ~vol3);
2838
2839                                         }););
2840                         });
2841                 };
2842         });
2843         mute4 = Button.new(w,Rect(~bpl+(16*3),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["4",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2844                 case
2845                 {~l1a1.isRunning == true}{
2846                         if(button.value == 0, {
2847                                 (~vol4 = ~vol;
2848                                         1.do({
2849                                                 ~l4a1.set(\vol, ~vol4);  ~l4b1.set(\vol, ~vol4);
2850                                                 ~l4c1.set(\vol, ~vol4);  ~l4d1.set(\vol, ~vol4);
2851                                                 ~l4e1.set(\vol, ~vol4);  ~l4f1.set(\vol, ~vol4);
2852
2853                                 }););
2854                                 }, {(~vol4 = 0;
2855                                         1.do({
2856                                                 ~l4a1.set(\vol, ~vol4);  ~l4b1.set(\vol, ~vol4);
2857                                                 ~l4c1.set(\vol, ~vol4);  ~l4d1.set(\vol, ~vol4);
2858                                                 ~l4e1.set(\vol, ~vol4);  ~l4f1.set(\vol, ~vol4);
2859
2860                                         }););
2861                         });
2862                 }
2863                 {~l1a.isRunning == true}{
2864                         if(button.value == 0, {
2865                                 (~vol4 = ~vol;
2866                                         1.do({
2867                                                 ~l4a.set(\vol, ~vol4);  ~l4b.set(\vol, ~vol4);
2868                                                 ~l4c.set(\vol, ~vol4);  ~l4d.set(\vol, ~vol4);
2869                                                 ~l4e.set(\vol, ~vol4);  ~l4f.set(\vol, ~vol4);
2870
2871                                 }););
2872                                 }, {(~vol4 = 0;
2873                                         1.do({
2874                                                 ~l4a.set(\vol, ~vol4);  ~l4b.set(\vol, ~vol4);
2875                                                 ~l4c.set(\vol, ~vol4);  ~l4d.set(\vol, ~vol4);
2876                                                 ~l4e.set(\vol, ~vol4);  ~l4f.set(\vol, ~vol4);
2877
2878                                         }););
2879                         });
2880                 };
2881         });
2882         mute5 = Button.new(w,Rect(~bpl+(16*4),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["5",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2883                 case
2884                 {~l1a1.isRunning == true}{
2885                         if(button.value == 0, {
2886                                 (~vol5 = ~vol;
2887                                         1.do({
2888                                                 ~l5a1.set(\vol, ~vol5);  ~l5b1.set(\vol, ~vol5);
2889                                                 ~l5c1.set(\vol, ~vol5);  ~l5d1.set(\vol, ~vol5);
2890                                                 ~l5e1.set(\vol, ~vol5);  ~l5f1.set(\vol, ~vol5);
2891
2892                                 }););
2893                                 }, {(~vol5 = 0;
2894                                         1.do({
2895                                                 ~l5a1.set(\vol, ~vol5);  ~l5b1.set(\vol, ~vol5);
2896                                                 ~l5c1.set(\vol, ~vol5);  ~l5d1.set(\vol, ~vol5);
2897                                                 ~l5e1.set(\vol, ~vol5);  ~l5f1.set(\vol, ~vol5);
2898
2899                                         }););
2900                         });
2901                 }
2902                 {~l1a.isRunning == true}{
2903                         if(button.value == 0, {
2904                                 (~vol5 = ~vol;
2905                                         1.do({
2906                                                 ~l5a.set(\vol, ~vol5);  ~l5b.set(\vol, ~vol5);
2907                                                 ~l5c.set(\vol, ~vol5);  ~l5d.set(\vol, ~vol5);
2908                                                 ~l5e.set(\vol, ~vol5);  ~l5f.set(\vol, ~vol5);
2909
2910                                 }););
2911                                 }, {(~vol5 = 0;
2912                                         1.do({
2913                                                 ~l5a.set(\vol, ~vol5);  ~l5b.set(\vol, ~vol5);
2914                                                 ~l5c.set(\vol, ~vol5);  ~l5d.set(\vol, ~vol5);
2915                                                 ~l5e.set(\vol, ~vol5);  ~l5f.set(\vol, ~vol5);
2916
2917                                         }););
2918                         });
2919                 };
2920         });
2921         mute6 = Button.new(w,Rect(~bpl+(16*5),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["6",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2922                 case
2923                 {~l1a1.isRunning == true}{
2924                         if(button.value == 0, {
2925                                 (~vol6 = ~vol;
2926                                         1.do({
2927                                                 ~l6a1.set(\vol, ~vol6);  ~l6b1.set(\vol, ~vol6);
2928                                                 ~l6c1.set(\vol, ~vol6);  ~l6d1.set(\vol, ~vol6);
2929                                                 ~l6e1.set(\vol, ~vol6);  ~l6f1.set(\vol, ~vol6);
2930
2931                                 }););
2932                                 }, {(~vol6 = 0;
2933                                         1.do({
2934                                                 ~l6a1.set(\vol, ~vol6);  ~l6b1.set(\vol, ~vol6);
2935                                                 ~l6c1.set(\vol, ~vol6);  ~l6d1.set(\vol, ~vol6);
2936                                                 ~l6e1.set(\vol, ~vol6);  ~l6f1.set(\vol, ~vol6);
2937
2938                                         }););
2939                         });
2940                 }
2941                 {~l1a.isRunning == true}{
2942                         if(button.value == 0, {
2943                                 (~vol6 = ~vol;
2944                                         1.do({
2945                                                 ~l6a.set(\vol, ~vol6);  ~l6b.set(\vol, ~vol6);
2946                                                 ~l6c.set(\vol, ~vol6);  ~l6d.set(\vol, ~vol6);
2947                                                 ~l6e.set(\vol, ~vol6);  ~l6f.set(\vol, ~vol6);
2948
2949                                 }););
2950                                 }, {(~vol6 = 0;
2951                                         1.do({
2952                                                 ~l6a.set(\vol, ~vol6);  ~l6b.set(\vol, ~vol6);
2953                                                 ~l6c.set(\vol, ~vol6);  ~l6d.set(\vol, ~vol6);
2954                                                 ~l6e.set(\vol, ~vol6);  ~l6f.set(\vol, ~vol6);
2955
2956                                         }););
2957                         });
2958                 };
2959
2960         });
2961         mute7 = Button.new(w,Rect(~bpl+(16*6),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["7",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
2962                 case
2963                 {~l1a1.isRunning == true}{
2964                         if(button.value == 0, {
2965                                 (~vol7 = ~vol;
2966                                         1.do({
2967                                                 ~l7a1.set(\vol, ~vol7);  ~l7b1.set(\vol, ~vol7);
2968                                                 ~l7c1.set(\vol, ~vol7);  ~l7d1.set(\vol, ~vol7);
2969                                                 ~l7e1.set(\vol, ~vol7);  ~l7f1.set(\vol, ~vol7);
2970
2971                                 }););
2972                                 }, {(~vol7 = 0;
2973                                         1.do({
2974                                                 ~l7a1.set(\vol, ~vol7);  ~l7b1.set(\vol, ~vol7);
2975                                                 ~l7c1.set(\vol, ~vol7);  ~l7d1.set(\vol, ~vol7);
2976                                                 ~l7e1.set(\vol, ~vol7);  ~l7f1.set(\vol, ~vol7);
2977
2978                                         }););
2979                         });
2980                 }
2981                 {~l1a.isRunning == true}{
2982                         if(button.value == 0, {
2983                                 (~vol7 = ~vol;
2984                                         1.do({
2985                                                 ~l7a.set(\vol, ~vol7);  ~l7b.set(\vol, ~vol7);
2986                                                 ~l7c.set(\vol, ~vol7);  ~l7d.set(\vol, ~vol7);
2987                                                 ~l7e.set(\vol, ~vol7);  ~l7f.set(\vol, ~vol7);
2988
2989                                 }););
2990                                 }, {(~vol7 = 0;
2991                                         1.do({
2992                                                 ~l7a.set(\vol, ~vol7);  ~l7b.set(\vol, ~vol7);
2993                                                 ~l7c.set(\vol, ~vol7);  ~l7d.set(\vol, ~vol7);
2994                                                 ~l7e.set(\vol, ~vol7);  ~l7f.set(\vol, ~vol7);
2995
2996                                         }););
2997                         });
2998                 };
2999         });
3000         mute8 = Button.new(w,Rect(~bpl+(16*7),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["8",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3001                 case
3002                 {~l1a1.isRunning == true}{
3003                         if(button.value == 0, {
3004                                 (~vol8 = ~vol;
3005                                         1.do({
3006                                                 ~l8a1.set(\vol, ~vol8);  ~l8b1.set(\vol, ~vol8);
3007                                                 ~l8c1.set(\vol, ~vol8);  ~l8d1.set(\vol, ~vol8);
3008                                                 ~l8e1.set(\vol, ~vol8);  ~l8f1.set(\vol, ~vol8);
3009
3010                                 }););
3011                                 }, {(~vol8 = 0;
3012                                         1.do({
3013                                                 ~l8a1.set(\vol, ~vol8);  ~l8b1.set(\vol, ~vol8);
3014                                                 ~l8c1.set(\vol, ~vol8);  ~l8d1.set(\vol, ~vol8);
3015                                                 ~l8e1.set(\vol, ~vol8);  ~l8f1.set(\vol, ~vol8);
3016
3017                                         }););
3018                         });
3019                 }
3020                 {~l1a.isRunning == true}{
3021                         if(button.value == 0, {
3022                                 (~vol8 = ~vol;
3023                                         1.do({
3024                                                 ~l8a.set(\vol, ~vol8);  ~l8b.set(\vol, ~vol8);
3025                                                 ~l8c.set(\vol, ~vol8);  ~l8d.set(\vol, ~vol8);
3026                                                 ~l8e.set(\vol, ~vol8);  ~l8f.set(\vol, ~vol8);
3027
3028                                 }););
3029                                 }, {(~vol8 = 0;
3030                                         1.do({
3031                                                 ~l8a.set(\vol, ~vol8);  ~l8b.set(\vol, ~vol8);
3032                                                 ~l8c.set(\vol, ~vol8);  ~l8d.set(\vol, ~vol8);
3033                                                 ~l8e.set(\vol, ~vol8);  ~l8f.set(\vol, ~vol8);
3034
3035                                         }););
3036                         });
3037                 };
3038         });
3039         mute9 = Button.new(w,Rect(~bpl+(16*8),~bpt+69+5-(16/1.6180339887499),16,16/1.6180339887499)).states_([["9",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3040                 case
3041                 {~l1a1.isRunning == true}{
3042                         if(button.value == 0, {
3043                                 (~vol9 = ~vol;
3044                                         1.do({
3045                                                 ~l9a1.set(\vol, ~vol9);  ~l9b1.set(\vol, ~vol9);
3046                                                 ~l9c1.set(\vol, ~vol9);  ~l9d1.set(\vol, ~vol9);
3047                                                 ~l9e1.set(\vol, ~vol9);  ~l9f1.set(\vol, ~vol9);
3048
3049                                 }););
3050                                 }, {(~vol9 = 0;
3051                                         1.do({
3052                                                 ~l9a1.set(\vol, ~vol9);  ~l9b1.set(\vol, ~vol9);
3053                                                 ~l9c1.set(\vol, ~vol9);  ~l9d1.set(\vol, ~vol9);
3054                                                 ~l9e1.set(\vol, ~vol9);  ~l9f1.set(\vol, ~vol9);
3055
3056                                         }););
3057                         });
3058                 }
3059                 {~l1a.isRunning == true}{
3060                         if(button.value == 0, {
3061                                 (~vol9 = ~vol;
3062                                         1.do({
3063                                                 ~l9a.set(\vol, ~vol9);  ~l9b.set(\vol, ~vol9);
3064                                                 ~l9c.set(\vol, ~vol9);  ~l9d.set(\vol, ~vol9);
3065                                                 ~l9e.set(\vol, ~vol9);  ~l9f.set(\vol, ~vol9);
3066
3067                                 }););
3068                                 }, {(~vol9 = 0;
3069                                         1.do({
3070                                                 ~l9a.set(\vol, ~vol9);  ~l9b.set(\vol, ~vol9);
3071                                                 ~l9c.set(\vol, ~vol9);  ~l9d.set(\vol, ~vol9);
3072                                                 ~l9e.set(\vol, ~vol9);  ~l9f.set(\vol, ~vol9);
3073
3074                                         }););
3075                         });
3076                 };
3077         });
3078         mute10 = Button.new(w,Rect(~bpl+(0),~bpt+69+5,16,16/1.6180339887499)).states_([["10",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3079                 case
3080                 {~l1a1.isRunning == true}{
3081                         if(button.value == 0, {
3082                                 (~vol10 = ~vol;
3083                                         1.do({
3084                                                 ~l10a1.set(\vol, ~vol10);  ~l10b1.set(\vol, ~vol10);
3085                                                 ~l10c1.set(\vol, ~vol10);  ~l10d1.set(\vol, ~vol10);
3086                                                 ~l10e1.set(\vol, ~vol10);  ~l10f1.set(\vol, ~vol10);
3087
3088                                 }););
3089                                 }, {(~vol10 = 0;
3090                                         1.do({
3091                                                 ~l10a1.set(\vol, ~vol10);  ~l10b1.set(\vol, ~vol10);
3092                                                 ~l10c1.set(\vol, ~vol10);  ~l10d1.set(\vol, ~vol10);
3093                                                 ~l10e1.set(\vol, ~vol10);  ~l10f1.set(\vol, ~vol10);
3094
3095                                         }););
3096                         });
3097                 }
3098                 {~l1a.isRunning == true}{
3099                         if(button.value == 0, {
3100                                 (~vol10 = ~vol;
3101                                         1.do({
3102                                                 ~l10a.set(\vol, ~vol10);  ~l10b.set(\vol, ~vol10);
3103                                                 ~l10c.set(\vol, ~vol10);  ~l10d.set(\vol, ~vol10);
3104                                                 ~l10e.set(\vol, ~vol10);  ~l10f.set(\vol, ~vol10);
3105
3106                                 }););
3107                                 }, {(~vol10 = 0;
3108                                         1.do({
3109                                                 ~l10a.set(\vol, ~vol10);  ~l10b.set(\vol, ~vol10);
3110                                                 ~l10c.set(\vol, ~vol10);  ~l10d.set(\vol, ~vol10);
3111                                                 ~l10e.set(\vol, ~vol10);  ~l10f.set(\vol, ~vol10);
3112
3113                                         }););
3114                         });
3115                 };
3116         });
3117         mute11 = Button.new(w,Rect(~bpl+(16),~bpt+69+5,16,16/1.6180339887499)).states_([["11",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3118                 case
3119                 {~l1a1.isRunning == true}{
3120                         if(button.value == 0, {
3121                                 (~vol11 = ~vol;
3122                                         1.do({
3123                                                 ~l11a1.set(\vol, ~vol11);  ~l11b1.set(\vol, ~vol11);
3124                                                 ~l11c1.set(\vol, ~vol11);  ~l11d1.set(\vol, ~vol11);
3125                                                 ~l11e1.set(\vol, ~vol11);  ~l11f1.set(\vol, ~vol11);
3126
3127                                 }););
3128                                 }, {(~vol11 = 0;
3129                                         1.do({
3130                                                 ~l11a1.set(\vol, ~vol11);  ~l8b1.set(\vol, ~vol11);
3131                                                 ~l11c1.set(\vol, ~vol11);  ~l8d1.set(\vol, ~vol11);
3132                                                 ~l11e1.set(\vol, ~vol11);  ~l8f1.set(\vol, ~vol11);
3133
3134                                         }););
3135                         });
3136                 }
3137                 {~l1a.isRunning == true}{
3138                         if(button.value == 0, {
3139                                 (~vol11 = ~vol;
3140                                         1.do({
3141                                                 ~l11a.set(\vol, ~vol11);  ~l11b.set(\vol, ~vol11);
3142                                                 ~l11c.set(\vol, ~vol11);  ~l11d.set(\vol, ~vol11);
3143                                                 ~l11e.set(\vol, ~vol11);  ~l11f.set(\vol, ~vol11);
3144
3145                                 }););
3146                                 }, {(~vol11 = 0;
3147                                         1.do({
3148                                                 ~l11a.set(\vol, ~vol11);  ~l11b.set(\vol, ~vol11);
3149                                                 ~l11c.set(\vol, ~vol11);  ~l11d.set(\vol, ~vol11);
3150                                                 ~l11e.set(\vol, ~vol11);  ~l11f.set(\vol, ~vol11);
3151
3152                                         }););
3153                         });
3154                 };
3155         });
3156         mute12 = Button.new(w,Rect(~bpl+(16*2),~bpt+69+5,16,16/1.6180339887499)).states_([["12",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3157                 case
3158                 {~l1a1.isRunning == true}{
3159                         if(button.value == 0, {
3160                                 (~vol12 = ~vol;
3161                                         1.do({
3162                                                 ~l12a1.set(\vol, ~vol12);  ~l12b1.set(\vol, ~vol12);
3163                                                 ~l12c1.set(\vol, ~vol12);  ~l12d1.set(\vol, ~vol12);
3164                                                 ~l12e1.set(\vol, ~vol12);  ~l12f1.set(\vol, ~vol12);
3165
3166                                 }););
3167                                 }, {(~vol12 = 0;
3168                                         1.do({
3169                                                 ~l12a1.set(\vol, ~vol12);  ~l12b1.set(\vol, ~vol12);
3170                                                 ~l12c1.set(\vol, ~vol12);  ~l12d1.set(\vol, ~vol12);
3171                                                 ~l12e1.set(\vol, ~vol12);  ~l12f1.set(\vol, ~vol12);
3172
3173                                         }););
3174                         });
3175                 }
3176                 {~l1a.isRunning == true}{
3177                         if(button.value == 0, {
3178                                 (~vol12 = ~vol;
3179                                         1.do({
3180                                                 ~l12a.set(\vol, ~vol12);  ~l12b.set(\vol, ~vol12);
3181                                                 ~l12c.set(\vol, ~vol12);  ~l12d.set(\vol, ~vol12);
3182                                                 ~l12e.set(\vol, ~vol12);  ~l12f.set(\vol, ~vol12);
3183
3184                                 }););
3185                                 }, {(~vol12 = 0;
3186                                         1.do({
3187                                                 ~l12a.set(\vol, ~vol12);  ~l12b.set(\vol, ~vol12);
3188                                                 ~l12c.set(\vol, ~vol12);  ~l12d.set(\vol, ~vol12);
3189                                                 ~l12e.set(\vol, ~vol12);  ~l12f.set(\vol, ~vol12);
3190
3191                                         }););
3192                         });
3193                 };
3194         });
3195
3196
3197         //mute/unmute all button
3198
3199         muteall = Button.new(w,Rect(~bpl+(16*3),~bpt+69+5,16,16/1.6180339887499)).states_([["m",Color.white,Color.black],["u",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
3200
3201                 if(button.value == 0, {
3202                         mute1.value = 0;
3203                         mute2.value = 0;
3204                         mute3.value = 0;
3205                         mute4.value = 0;
3206                         mute5.value = 0;
3207                         mute6.value = 0;
3208                         mute7.value = 0;
3209                         mute8.value = 0;
3210                         mute9.value = 0;
3211                         mute10.value = 0;
3212                         mute11.value = 0;
3213                         mute12.value = 0;
3214
3215                         ~vol1 = ~vol;
3216                         ~vol2 = ~vol;
3217                         ~vol3 = ~vol;
3218                         ~vol4 = ~vol;
3219                         ~vol5 = ~vol;
3220                         ~vol6 = ~vol;
3221                         ~vol7 = ~vol;
3222                         ~vol8 = ~vol;
3223                         ~vol9 = ~vol;
3224                         ~vol10 = ~vol;
3225                         ~vol11 = ~vol;
3226                         ~vol12 = ~vol;
3227                         },
3228                         {
3229                                 mute1.value = 1;
3230                                 mute2.value = 1;
3231                                 mute3.value = 1;
3232                                 mute4.value = 1;
3233                                 mute5.value = 1;
3234                                 mute6.value = 1;
3235                                 mute7.value = 1;
3236                                 mute8.value = 1;
3237                                 mute9.value = 1;
3238                                 mute10.value = 1;
3239                                 mute11.value = 1;
3240                                 mute12.value = 1;
3241
3242                                 ~vol1 = 0;
3243                                 ~vol2 = 0;
3244                                 ~vol3 = 0;
3245                                 ~vol4 = 0;
3246                                 ~vol5 = 0;
3247                                 ~vol6 = 0;
3248                                 ~vol7 = 0;
3249                                 ~vol8 = 0;
3250                                 ~vol9 = 0;
3251                                 ~vol10 = 0;
3252                                 ~vol11 = 0;
3253                                 ~vol12 = 0;
3254                 });
3255                 ~synthflow.value;
3256         });
3257
3258
3259         //generate values for KW(King Wen) sequences per timewave instance pop-up menu
3260
3261         x=0;
3262         ~menu2values = Array.fill(20, {(x=x+1).asString++" kws/inst"});
3263
3264
3265         //KW(King Wen) sequences per timewave instance upon starting value
3266
3267         case
3268         {~gsinenum == nil}{~menu2start = ~menu2values.at(~synthdefnum-1)}
3269         {~gsinenum == 1}{~menu2start = ~menu2values.at(0)}
3270         {~gsinenum == 2}{~menu2start = ~menu2values.at(1)}
3271         {~gsinenum == 3}{~menu2start = ~menu2values.at(2)}
3272         {~gsinenum == 4}{~menu2start = ~menu2values.at(3)}
3273         {~gsinenum == 5}{~menu2start = ~menu2values.at(4)}
3274         {~gsinenum == 6}{~menu2start = ~menu2values.at(5)}
3275         {~gsinenum == 7}{~menu2start = ~menu2values.at(6)}
3276         {~gsinenum == 8}{~menu2start = ~menu2values.at(7)}
3277         {~gsinenum == 9}{~menu2start = ~menu2values.at(8)}
3278         {~gsinenum == 10}{~menu2start = ~menu2values.at(9)}
3279         {~gsinenum == 11}{~menu2start = ~menu2values.at(10)}
3280         {~gsinenum == 12}{~menu2start = ~menu2values.at(11)}
3281         {~gsinenum == 13}{~menu2start = ~menu2values.at(12)}
3282         {~gsinenum == 14}{~menu2start = ~menu2values.at(13)}
3283         {~gsinenum == 15}{~menu2start = ~menu2values.at(14)}
3284         {~gsinenum == 16}{~menu2start = ~menu2values.at(15)};
3285         if(~menu2synthdefstart.value == nil, {~menu2synthdefstart = ~synthdefnum}, {~menu2synthdefstart = ~gsinenum});
3286
3287
3288         //KW(King Wen) sequences per timewave instance pop-up menu
3289
3290         menu2=PopUpMenu(w,Rect(20+60*2+16,Window.screenBounds.height-52+(30/1.6180339887499*0),60*2,60/1.6180339887499)).items_(~mvalue = (-1); [~menu2start.asString]++Array.fill(16, {~menu2values.at(~mvalue = ~mvalue+1);});).background_(Color.black).stringColor_(Color.white);
3291
3292
3293         //pop-menu for base frequency
3294
3295         ~bfreqstart = ~basefreq;
3296         ~bfreq = PopUpMenu(w, Rect(20+60*2+16,Window.screenBounds.height-88+(30/1.6180339887499*0),120,60/1.6180339887499)).items_(~bfreqv = (-1); [~basefreq.asString++" hz"]++Array.fill(128, {~freqmap.at(~bfreqv=~bfreqv+1).asString++" hz"})).background_(Color.black).stringColor_(Color.white).action_({arg button;});
3297
3298
3299         //set button for KW sequences per timewave instance, basefreq, and gsine
3300
3301         set1=Button(w,Rect(20+60*2+16+120, Window.screenBounds.height-52+(16/1.6180339887499*0),60,60/1.6180339887499)).states_([["set",Color.white,Color.black]]).mouseDownAction_({
3302
3303                 ~st = StaticText(w, Rect(20+60*2+16+190,Window.screenBounds.height-40, 62, 20)).background_(Color.black);
3304                 ~st.stringColor = Color.white;
3305                 ~st.string = "loading...";
3306                 AppClock.sched(0.2,{
3307                         ~st.close;
3308                 });
3309
3310                 AppClock.sched(0,{
3311
3312                         if(~bfreq.value > 0, {~basefreq = ~freqmap.at(~bfreq.value - 1)}, {~basefreq = ~bfreqstart});
3313
3314                         (#a,b,c,d,e,f = [ ~basefreq,~basefreq,~basefreq,~basefreq,~basefreq,~basefreq  ]; ~a = a; ~b = b; ~c =c; ~d = d; ~e = e;~f=f;);
3315
3316                         case
3317                         {menu2.value == 0}{~gsinenum = ~menu2synthdefstart; ~gsine.value;}
3318                         {menu2.value == 1}{~gsinenum = 1; ~gsine.value;}
3319                         {menu2.value == 2}{~gsinenum = 2; ~gsine.value;}
3320                         {menu2.value == 3}{~gsinenum = 3; ~gsine.value;}
3321                         {menu2.value == 4}{~gsinenum = 4; ~gsine.value;}
3322                         {menu2.value == 5}{~gsinenum = 5; ~gsine.value;}
3323                         {menu2.value == 6}{~gsinenum = 6; ~gsine.value;}
3324                         {menu2.value == 7}{~gsinenum = 7; ~gsine.value;}
3325                         {menu2.value == 8}{~gsinenum = 8; ~gsine.value;}
3326                         {menu2.value == 9}{~gsinenum = 9; ~gsine.value;}
3327                         {menu2.value == 10}{~gsinenum = 10; ~gsine.value;}
3328                         {menu2.value == 11}{~gsinenum = 11; ~gsine.value;}
3329                         {menu2.value == 12}{~gsinenum = 12; ~gsine.value;}
3330                         {menu2.value == 13}{~gsinenum = 13; ~gsine.value;}
3331                         {menu2.value == 14}{~gsinenum = 14; ~gsine.value;}
3332                         {menu2.value == 15}{~gsinenum = 15; ~gsine.value;}
3333                         {menu2.value == 16}{~gsinenum = 16; ~gsine.value;};
3334                 });
3335
3336         })
3337         .action_({
3338         });
3339
3340
3341         //keyboard number buttons to choose synth
3342
3343         keycodeb = Button.new(w,Rect(Window.screenBounds.width-20-16,~bpt+160,16,16/1.6180339887499)).states_([
3344                 ["1",Color.white,Color.black],
3345                 ["2",Color.white,Color.black],
3346                 ["3",Color.white,Color.black],
3347                 ["4",Color.white,Color.black],
3348                 ["5",Color.white,Color.black],
3349                 ["6",Color.white,Color.black],
3350                 ["7",Color.white,Color.black],
3351                 ["8",Color.white,Color.black],
3352                 ["9",Color.white,Color.black],
3353                 ["10",Color.white,Color.black],
3354                 ["11",Color.white,Color.black],
3355                 ["12",Color.white,Color.black]]).action_({arg button;
3356
3357                 case
3358                 {button.value == 0}{
3359                         ~z25.background = Color.green; ~z1.background = Color.green;
3360                         ~z26.background = Color.white; ~z2.background = Color.white;
3361                         ~z27.background = Color.white; ~z3.background = Color.white;
3362                         ~z28.background = Color.white; ~z4.background = Color.white;
3363                         ~z29.background = Color.white; ~z5.background = Color.white;
3364                         ~z30.background = Color.white; ~z6.background = Color.white;
3365                         ~z31.background = Color.white; ~z7.background = Color.white;
3366                         ~z32.background = Color.white; ~z8.background = Color.white;
3367                         ~z33.background = Color.white; ~z9.background = Color.white;
3368                         ~z34.background = Color.white; ~z10.background = Color.white;
3369                         ~z35.background = Color.white; ~z11.background = Color.white;
3370                         ~z36.background = Color.white; ~z12.background = Color.white;
3371                 }
3372                 {button.value == 1}{
3373                         ~z25.background = Color.white; ~z1.background = Color.white;
3374                         ~z26.background = Color.green; ~z2.background = Color.green;
3375                         ~z27.background = Color.white; ~z3.background = Color.white;
3376                         ~z28.background = Color.white; ~z4.background = Color.white;
3377                         ~z29.background = Color.white; ~z5.background = Color.white;
3378                         ~z30.background = Color.white; ~z6.background = Color.white;
3379                         ~z31.background = Color.white; ~z7.background = Color.white;
3380                         ~z32.background = Color.white; ~z8.background = Color.white;
3381                         ~z33.background = Color.white; ~z9.background = Color.white;
3382                         ~z34.background = Color.white; ~z10.background = Color.white;
3383                         ~z35.background = Color.white; ~z11.background = Color.white;
3384                         ~z36.background = Color.white; ~z12.background = Color.white;
3385                 }
3386                 {button.value == 2}{
3387                         ~z25.background = Color.white; ~z1.background = Color.white;
3388                         ~z26.background = Color.white; ~z2.background = Color.white;
3389                         ~z27.background = Color.green; ~z3.background = Color.green;
3390                         ~z28.background = Color.white; ~z4.background = Color.white;
3391                         ~z29.background = Color.white; ~z5.background = Color.white;
3392                         ~z30.background = Color.white; ~z6.background = Color.white;
3393                         ~z31.background = Color.white; ~z7.background = Color.white;
3394                         ~z32.background = Color.white; ~z8.background = Color.white;
3395                         ~z33.background = Color.white; ~z9.background = Color.white;
3396                         ~z34.background = Color.white; ~z10.background = Color.white;
3397                         ~z35.background = Color.white; ~z11.background = Color.white;
3398                         ~z36.background = Color.white; ~z12.background = Color.white;
3399                 }
3400                 {button.value == 3}{
3401                         ~z25.background = Color.white; ~z1.background = Color.white;
3402                         ~z26.background = Color.white; ~z2.background = Color.white;
3403                         ~z27.background = Color.white; ~z3.background = Color.white;
3404                         ~z28.background = Color.green; ~z4.background = Color.green;
3405                         ~z29.background = Color.white; ~z5.background = Color.white;
3406                         ~z30.background = Color.white; ~z6.background = Color.white;
3407                         ~z31.background = Color.white; ~z7.background = Color.white;
3408                         ~z32.background = Color.white; ~z8.background = Color.white;
3409                         ~z33.background = Color.white; ~z9.background = Color.white;
3410                         ~z34.background = Color.white; ~z10.background = Color.white;
3411                         ~z35.background = Color.white; ~z11.background = Color.white;
3412                         ~z36.background = Color.white; ~z12.background = Color.white;
3413                 }
3414                 {button.value == 4}{
3415                         ~z25.background = Color.white; ~z1.background = Color.white;
3416                         ~z26.background = Color.white; ~z2.background = Color.white;
3417                         ~z27.background = Color.white; ~z3.background = Color.white;
3418                         ~z28.background = Color.white; ~z4.background = Color.white;
3419                         ~z29.background = Color.green; ~z5.background = Color.green;
3420                         ~z30.background = Color.white; ~z6.background = Color.white;
3421                         ~z31.background = Color.white; ~z7.background = Color.white;
3422                         ~z32.background = Color.white; ~z8.background = Color.white;
3423                         ~z33.background = Color.white; ~z9.background = Color.white;
3424                         ~z34.background = Color.white; ~z10.background = Color.white;
3425                         ~z35.background = Color.white; ~z11.background = Color.white;
3426                         ~z36.background = Color.white; ~z12.background = Color.white;
3427                 }
3428                 {button.value == 5}{
3429                         ~z25.background = Color.white; ~z1.background = Color.white;
3430                         ~z26.background = Color.white; ~z2.background = Color.white;
3431                         ~z27.background = Color.white; ~z3.background = Color.white;
3432                         ~z28.background = Color.white; ~z4.background = Color.white;
3433                         ~z29.background = Color.white; ~z5.background = Color.white;
3434                         ~z30.background = Color.green; ~z6.background = Color.green;
3435                         ~z31.background = Color.white; ~z7.background = Color.white;
3436                         ~z32.background = Color.white; ~z8.background = Color.white;
3437                         ~z33.background = Color.white; ~z9.background = Color.white;
3438                         ~z34.background = Color.white; ~z10.background = Color.white;
3439                         ~z35.background = Color.white; ~z11.background = Color.white;
3440                         ~z36.background = Color.white; ~z12.background = Color.white;
3441                 }
3442                 {button.value == 6}{
3443                         ~z25.background = Color.white; ~z1.background = Color.white;
3444                         ~z26.background = Color.white; ~z2.background = Color.white;
3445                         ~z27.background = Color.white; ~z3.background = Color.white;
3446                         ~z28.background = Color.white; ~z4.background = Color.white;
3447                         ~z29.background = Color.white; ~z5.background = Color.white;
3448                         ~z30.background = Color.white; ~z6.background = Color.white;
3449                         ~z31.background = Color.green; ~z7.background = Color.green;
3450                         ~z32.background = Color.white; ~z8.background = Color.white;
3451                         ~z33.background = Color.white; ~z9.background = Color.white;
3452                         ~z34.background = Color.white; ~z10.background = Color.white;
3453                         ~z35.background = Color.white; ~z11.background = Color.white;
3454                         ~z36.background = Color.white; ~z12.background = Color.white;
3455                 }
3456                 {button.value == 7}{
3457                         ~z25.background = Color.white; ~z1.background = Color.white;
3458                         ~z26.background = Color.white; ~z2.background = Color.white;
3459                         ~z27.background = Color.white; ~z3.background = Color.white;
3460                         ~z28.background = Color.white; ~z4.background = Color.white;
3461                         ~z29.background = Color.white; ~z5.background = Color.white;
3462                         ~z30.background = Color.white; ~z6.background = Color.white;
3463                         ~z31.background = Color.white; ~z7.background = Color.white;
3464                         ~z32.background = Color.green; ~z8.background = Color.green;
3465                         ~z33.background = Color.white; ~z9.background = Color.white;
3466                         ~z34.background = Color.white; ~z10.background = Color.white;
3467                         ~z35.background = Color.white; ~z11.background = Color.white;
3468                         ~z36.background = Color.white; ~z12.background = Color.white;
3469                 }
3470                 {button.value == 8}{
3471                         ~z25.background = Color.white; ~z1.background = Color.white;
3472                         ~z26.background = Color.white; ~z2.background = Color.white;
3473                         ~z27.background = Color.white; ~z3.background = Color.white;
3474                         ~z28.background = Color.white; ~z4.background = Color.white;
3475                         ~z29.background = Color.white; ~z5.background = Color.white;
3476                         ~z30.background = Color.white; ~z6.background = Color.white;
3477                         ~z31.background = Color.white; ~z7.background = Color.white;
3478                         ~z32.background = Color.white; ~z8.background = Color.white;
3479                         ~z33.background = Color.green; ~z9.background = Color.green;
3480                         ~z34.background = Color.white; ~z10.background = Color.white;
3481                         ~z35.background = Color.white; ~z11.background = Color.white;
3482                         ~z36.background = Color.white; ~z12.background = Color.white;
3483                 }
3484                 {button.value == 9}{
3485                         ~z25.background = Color.white; ~z1.background = Color.white;
3486                         ~z26.background = Color.white; ~z2.background = Color.white;
3487                         ~z27.background = Color.white; ~z3.background = Color.white;
3488                         ~z28.background = Color.white; ~z4.background = Color.white;
3489                         ~z29.background = Color.white; ~z5.background = Color.white;
3490                         ~z30.background = Color.white; ~z6.background = Color.white;
3491                         ~z31.background = Color.white; ~z7.background = Color.white;
3492                         ~z32.background = Color.white; ~z8.background = Color.white;
3493                         ~z33.background = Color.white; ~z9.background = Color.white;
3494                         ~z34.background = Color.green; ~z10.background = Color.green;
3495                         ~z35.background = Color.white; ~z11.background = Color.white;
3496                         ~z36.background = Color.white; ~z12.background = Color.white;
3497                 }
3498                 {button.value == 10}{
3499                         ~z25.background = Color.white; ~z1.background = Color.white;
3500                         ~z26.background = Color.white; ~z2.background = Color.white;
3501                         ~z27.background = Color.white; ~z3.background = Color.white;
3502                         ~z28.background = Color.white; ~z4.background = Color.white;
3503                         ~z29.background = Color.white; ~z5.background = Color.white;
3504                         ~z30.background = Color.white; ~z6.background = Color.white;
3505                         ~z31.background = Color.white; ~z7.background = Color.white;
3506                         ~z32.background = Color.white; ~z8.background = Color.white;
3507                         ~z33.background = Color.white; ~z9.background = Color.white;
3508                         ~z34.background = Color.white; ~z10.background = Color.white;
3509                         ~z35.background = Color.green; ~z11.background = Color.green;
3510                         ~z36.background = Color.white; ~z12.background = Color.white;
3511                 }
3512                 {button.value == 11}{
3513                         ~z25.background = Color.white; ~z1.background = Color.white;
3514                         ~z26.background = Color.white; ~z2.background = Color.white;
3515                         ~z27.background = Color.white; ~z3.background = Color.white;
3516                         ~z28.background = Color.white; ~z4.background = Color.white;
3517                         ~z29.background = Color.white; ~z5.background = Color.white;
3518                         ~z30.background = Color.white; ~z6.background = Color.white;
3519                         ~z31.background = Color.white; ~z7.background = Color.white;
3520                         ~z32.background = Color.white; ~z8.background = Color.white;
3521                         ~z33.background = Color.white; ~z9.background = Color.white;
3522                         ~z34.background = Color.white; ~z10.background = Color.white;
3523                         ~z35.background = Color.white; ~z11.background = Color.white;
3524                         ~z36.background = Color.green; ~z12.background = Color.green;
3525                 }
3526
3527         });
3528
3529
3530         //misc. keyboard buttons
3531
3532         w.view.keyDownAction = { arg view, char, modifiers, unicode, keycode;
3533                 [char, modifiers, unicode, keycode];
3534
3535                 //copy
3536                 if(unicode == ~c_unicode, {
3537                         case
3538                         {b.value == 0}{b.valueAction = 1}
3539                         {b.value == 1}{b.valueAction = 0};
3540                 });
3541
3542                 //start/stop synth
3543                 if(unicode == ~s_unicode, {
3544                         case
3545                         {b3.value == 0}{b3.valueAction = 1}
3546                         {b3.value == 1}{b3.valueAction = 0};
3547                 });
3548
3549                 //pause/unpause synth
3550                 if(unicode == ~spacebar_unicode, {
3551                         case
3552                         {b4.value == 0}{b4.valueAction = 1}
3553                         {b4.value == 1}{b4.valueAction = 0};
3554                 });
3555
3556                 //timer function
3557                 if(unicode == ~t_unicode, {
3558                         case
3559                         {~ts.value == 0}{~ts.valueAction = 1}
3560                         {~ts.value == 1}{~ts.valueAction = 0};
3561                 });
3562
3563                 //routine function
3564                 if(unicode == ~r_unicode, {
3565                         case
3566                         {~rviewbutton.value == 0}{~rviewbutton.valueAction = 1}
3567                         {~rviewbutton.value == 1}{~rviewbutton.valueAction = 0};
3568                 });
3569
3570                 //mute/unmute all synths
3571                 if(unicode == ~m_unicode, {
3572                         case
3573                         {muteall.value == 0}{muteall.valueAction = 1}
3574                         {muteall.value == 1}{muteall.valueAction = 0};
3575                 });
3576
3577                 //minimize GUI window
3578                 if(unicode == ~escape_unicode, {w.minimize;});
3579
3580
3581                 //keyboard number actions
3582
3583                 case
3584                 {unicode == ~one_unicode}{keycodeb.valueAction_(0)}
3585                 {unicode == ~two_unicode}{keycodeb.valueAction_(1)}
3586                 {unicode == ~three_unicode}{keycodeb.valueAction_(2)}
3587                 {unicode == ~four_unicode}{keycodeb.valueAction_(3)}
3588                 {unicode == ~five_unicode}{keycodeb.valueAction_(4)}
3589                 {unicode == ~six_unicode}{keycodeb.valueAction_(5)}
3590                 {unicode == ~seven_unicode}{keycodeb.valueAction_(6)}
3591                 {unicode == ~eight_unicode}{keycodeb.valueAction_(7)}
3592                 {unicode == ~nine_unicode}{keycodeb.valueAction_(8)}
3593                 {unicode == ~ten_unicode}{keycodeb.valueAction_(9)}
3594                 {unicode == ~eleven_unicode}{keycodeb.valueAction_(10)}
3595                 {unicode == ~twelve_unicode}{keycodeb.valueAction_(11)}
3596
3597
3598                 //keyboard up/down arrow actions
3599
3600                 {(keycode == ~uparrow_keycode) or: (unicode == ~i_unicode)}{keycodeb.valueAction_(keycodeb.value-1)}
3601                 {(keycode == ~downarrow_keycode) or: (unicode == ~k_unicode)}{keycodeb.valueAction_(keycodeb.value+1)};
3602
3603
3604                 //set synth frequency using left/right arrow keys or j/l keys
3605
3606                 if((~f1 >= ~freqmap.at(127)), {~freqmap.at(127)},
3607                         {if((keycodeb.value == 0) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3608                                 ~freqmapval1 = ~f1.cpsmidi.round;
3609                                 case
3610                                 {~l1a.isRunning == true}{
3611                                         ~l1a.set(\dur, ~f1 = ~freqmap.at(~freqmapval1 = ~freqmapval1.value+1));
3612                                         ~l1b.set(\dur, ~f1);
3613                                         ~l1c.set(\dur, ~f1/~icd3);
3614                                         ~l1d.set(\dur, ~f1/~icd3);
3615                                         ~l1e.set(\dur, ~f1/~icd6);
3616                                         ~l1f.set(\dur, ~f1/~icd6);
3617                                 }
3618                                 {~l1a1.isRunning == true}{
3619                                         ~l1a1.set(\dur, ~f1 = ~freqmap.at(~freqmapval1 = ~freqmapval1.value+1));
3620                                         ~l1b1.set(\dur, ~f1);
3621                                         ~l1c1.set(\dur, ~f1/~icd3);
3622                                         ~l1d1.set(\dur, ~f1/~icd3);
3623                                         ~l1e1.set(\dur, ~f1/~icd6);
3624                                         ~l1f1.set(\dur, ~f1/~icd6);
3625                                 };
3626                                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
3627                                 ~z25.background = Color.green; ~z1.background = Color.green;
3628                                 ~z26.background = Color.white; ~z2.background = Color.white;
3629                                 ~z27.background = Color.white; ~z3.background = Color.white;
3630                                 ~z28.background = Color.white; ~z4.background = Color.white;
3631                                 ~z29.background = Color.white; ~z5.background = Color.white;
3632                                 ~z30.background = Color.white; ~z6.background = Color.white;
3633                                 ~z31.background = Color.white; ~z7.background = Color.white;
3634                                 ~z32.background = Color.white; ~z8.background = Color.white;
3635                                 ~z33.background = Color.white; ~z9.background = Color.white;
3636                                 ~z34.background = Color.white; ~z10.background = Color.white;
3637                                 ~z35.background = Color.white; ~z11.background = Color.white;
3638                                 ~z36.background = Color.white; ~z12.background = Color.white;
3639                 });});
3640                 if((~f1 <= ~freqmap.at(0)), {~freqmap.at(0)},
3641                         {if((keycodeb.value == 0) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3642                                 ~freqmapval1 = ~f1.cpsmidi.round;
3643                                 case
3644                                 {~l1a.isRunning == true}{
3645                                         ~l1a.set(\dur, ~f1 = ~freqmap.at(~freqmapval1 = ~freqmapval1.value-1));
3646                                         ~l1b.set(\dur, ~f1);
3647                                         ~l1c.set(\dur, ~f1/~icd3);
3648                                         ~l1d.set(\dur, ~f1/~icd3);
3649                                         ~l1e.set(\dur, ~f1/~icd6);
3650                                         ~l1f.set(\dur, ~f1/~icd6);
3651                                 }
3652                                 {~l1a1.isRunning == true}{
3653                                         ~l1a1.set(\dur, ~f1 = ~freqmap.at(~freqmapval1 = ~freqmapval1.value-1));
3654                                         ~l1b1.set(\dur, ~f1);
3655                                         ~l1c1.set(\dur, ~f1/~icd3);
3656                                         ~l1d1.set(\dur, ~f1/~icd3);
3657                                         ~l1e1.set(\dur, ~f1/~icd6);
3658                                         ~l1f1.set(\dur, ~f1/~icd6);
3659                                 };
3660                                 if((~f1 > ~outmaxa) or: (~f1 < ~outmina), {~z25.close;~z1.close;~z25 = (CompositeView(w, Rect((~f1.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+10, ~nw, 2)).background = Color.white;);}, {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect((~f1.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+10, ~nw, 2)).background = Color.white;);});
3661
3662                                 ~z25.background = Color.green; ~z1.background = Color.green;
3663                                 ~z26.background = Color.white; ~z2.background = Color.white;
3664                                 ~z27.background = Color.white; ~z3.background = Color.white;
3665                                 ~z28.background = Color.white; ~z4.background = Color.white;
3666                                 ~z29.background = Color.white; ~z5.background = Color.white;
3667                                 ~z30.background = Color.white; ~z6.background = Color.white;
3668                                 ~z31.background = Color.white; ~z7.background = Color.white;
3669                                 ~z32.background = Color.white; ~z8.background = Color.white;
3670                                 ~z33.background = Color.white; ~z9.background = Color.white;
3671                                 ~z34.background = Color.white; ~z10.background = Color.white;
3672                                 ~z35.background = Color.white; ~z11.background = Color.white;
3673                                 ~z36.background = Color.white; ~z12.background = Color.white;
3674                 });});
3675
3676                 if((~f2 >= ~freqmap.at(127)), {~freqmap.at(127)},
3677                         {if((keycodeb.value == 1) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3678                                 ~freqmapval2 = ~f2.cpsmidi.round;
3679                                 case
3680                                 {~l1a.isRunning == true}{
3681                                         ~l2a.set(\dur, ~f2 = ~freqmap.at(~freqmapval2 = ~freqmapval2.value+1));
3682                                         ~l2b.set(\dur, ~f2);
3683                                         ~l2c.set(\dur, ~f2/~icd3);
3684                                         ~l2d.set(\dur, ~f2/~icd3);
3685                                         ~l2e.set(\dur, ~f2/~icd6);
3686                                         ~l2f.set(\dur, ~f2/~icd6);
3687                                 }
3688                                 {~l1a1.isRunning == true}{
3689                                         ~l2a1.set(\dur, ~f2 = ~freqmap.at(~freqmapval2 = ~freqmapval2.value+1));
3690                                         ~l2b1.set(\dur, ~f2);
3691                                         ~l2c1.set(\dur, ~f2/~icd3);
3692                                         ~l2d1.set(\dur, ~f2/~icd3);
3693                                         ~l2e1.set(\dur, ~f2/~icd6);
3694                                         ~l2f1.set(\dur, ~f2/~icd6);
3695                                 };
3696                                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
3697                                 ~z25.background = Color.white; ~z1.background = Color.white;
3698                                 ~z26.background = Color.green; ~z2.background = Color.green;
3699                                 ~z27.background = Color.white; ~z3.background = Color.white;
3700                                 ~z28.background = Color.white; ~z4.background = Color.white;
3701                                 ~z29.background = Color.white; ~z5.background = Color.white;
3702                                 ~z30.background = Color.white; ~z6.background = Color.white;
3703                                 ~z31.background = Color.white; ~z7.background = Color.white;
3704                                 ~z32.background = Color.white; ~z8.background = Color.white;
3705                                 ~z33.background = Color.white; ~z9.background = Color.white;
3706                                 ~z34.background = Color.white; ~z10.background = Color.white;
3707                                 ~z35.background = Color.white; ~z11.background = Color.white;
3708                                 ~z36.background = Color.white; ~z12.background = Color.white;
3709                 });});
3710                 if((~f2 <= ~freqmap.at(0)), {~freqmap.at(0)},
3711                         {if((keycodeb.value == 1) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3712                                 ~freqmapval2 = ~f2.cpsmidi.round;
3713                                 case
3714                                 {~l1a.isRunning == true}{
3715                                         ~l2a.set(\dur, ~f2 = ~freqmap.at(~freqmapval2 = ~freqmapval2.value-1));
3716                                         ~l2b.set(\dur, ~f2);
3717                                         ~l2c.set(\dur, ~f2/~icd3);
3718                                         ~l2d.set(\dur, ~f2/~icd3);
3719                                         ~l2e.set(\dur, ~f2/~icd6);
3720                                         ~l2f.set(\dur, ~f2/~icd6);
3721                                 }
3722                                 {~l1a1.isRunning == true}{
3723                                         ~l2a1.set(\dur, ~f2 = ~freqmap.at(~freqmapval2 = ~freqmapval2.value-1));
3724                                         ~l2b1.set(\dur, ~f2);
3725                                         ~l2c1.set(\dur, ~f2/~icd3);
3726                                         ~l2d1.set(\dur, ~f2/~icd3);
3727                                         ~l2e1.set(\dur, ~f2/~icd6);
3728                                         ~l2f1.set(\dur, ~f2/~icd6);
3729                                 };
3730                                 if((~f2 > ~outmaxa) or: (~f2 < ~outmina), {~z26.close;~z2.close;~z26 = (CompositeView(w, Rect((~f2.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+20, ~nw, 2)).background = Color.white;);}, {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect((~f2.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+20, ~nw, 2)).background = Color.white;);});
3731
3732                                 ~z25.background = Color.white; ~z1.background = Color.white;
3733                                 ~z26.background = Color.green; ~z2.background = Color.green;
3734                                 ~z27.background = Color.white; ~z3.background = Color.white;
3735                                 ~z28.background = Color.white; ~z4.background = Color.white;
3736                                 ~z29.background = Color.white; ~z5.background = Color.white;
3737                                 ~z30.background = Color.white; ~z6.background = Color.white;
3738                                 ~z31.background = Color.white; ~z7.background = Color.white;
3739                                 ~z32.background = Color.white; ~z8.background = Color.white;
3740                                 ~z33.background = Color.white; ~z9.background = Color.white;
3741                                 ~z34.background = Color.white; ~z10.background = Color.white;
3742                                 ~z35.background = Color.white; ~z11.background = Color.white;
3743                                 ~z36.background = Color.white; ~z12.background = Color.white;
3744                 });});
3745
3746                 if((~f3 >= ~freqmap.at(127)), {~freqmap.at(127)},
3747                         {if((keycodeb.value == 2) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3748                                 ~freqmapval3 = ~f3.cpsmidi.round;
3749                                 case
3750                                 {~l1a.isRunning == true}{
3751                                         ~l3a.set(\dur, ~f3 = ~freqmap.at(~freqmapval3 = ~freqmapval3.value+1));
3752                                         ~l3b.set(\dur, ~f3);
3753                                         ~l3c.set(\dur, ~f3/~icd3);
3754                                         ~l3d.set(\dur, ~f3/~icd3);
3755                                         ~l3e.set(\dur, ~f3/~icd6);
3756                                         ~l3f.set(\dur, ~f3/~icd6);
3757                                 }
3758                                 {~l1a1.isRunning == true}{
3759                                         ~l3a1.set(\dur, ~f3 = ~freqmap.at(~freqmapval3 = ~freqmapval3.value+1));
3760                                         ~l3b1.set(\dur, ~f3);
3761                                         ~l3c1.set(\dur, ~f3/~icd3);
3762                                         ~l3d1.set(\dur, ~f3/~icd3);
3763                                         ~l3e1.set(\dur, ~f3/~icd6);
3764                                         ~l3f1.set(\dur, ~f3/~icd6);
3765                                 };
3766                                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
3767                                 ~z25.background = Color.white; ~z1.background = Color.white;
3768                                 ~z26.background = Color.white; ~z2.background = Color.white;
3769                                 ~z27.background = Color.green; ~z3.background = Color.green;
3770                                 ~z28.background = Color.white; ~z4.background = Color.white;
3771                                 ~z29.background = Color.white; ~z5.background = Color.white;
3772                                 ~z30.background = Color.white; ~z6.background = Color.white;
3773                                 ~z31.background = Color.white; ~z7.background = Color.white;
3774                                 ~z32.background = Color.white; ~z8.background = Color.white;
3775                                 ~z33.background = Color.white; ~z9.background = Color.white;
3776                                 ~z34.background = Color.white; ~z10.background = Color.white;
3777                                 ~z35.background = Color.white; ~z11.background = Color.white;
3778                                 ~z36.background = Color.white; ~z12.background = Color.white;
3779                 });});
3780                 if((~f3 <= ~freqmap.at(0)), {~freqmap.at(0)},
3781                         {if((keycodeb.value == 2) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3782                                 ~freqmapval3 = ~f3.cpsmidi.round;
3783                                 case
3784                                 {~l1a.isRunning == true}{
3785                                         ~l3a.set(\dur, ~f3 = ~freqmap.at(~freqmapval3 = ~freqmapval3.value-1));
3786                                         ~l3b.set(\dur, ~f3);
3787                                         ~l3c.set(\dur, ~f3/~icd3);
3788                                         ~l3d.set(\dur, ~f3/~icd3);
3789                                         ~l3e.set(\dur, ~f3/~icd6);
3790                                         ~l3f.set(\dur, ~f3/~icd6);
3791                                 }
3792                                 {~l1a1.isRunning == true}{
3793                                         ~l3a1.set(\dur, ~f3 = ~freqmap.at(~freqmapval3 = ~freqmapval3.value-1));
3794                                         ~l3b1.set(\dur, ~f3);
3795                                         ~l3c1.set(\dur, ~f3/~icd3);
3796                                         ~l3d1.set(\dur, ~f3/~icd3);
3797                                         ~l3e1.set(\dur, ~f3/~icd6);
3798                                         ~l3f1.set(\dur, ~f3/~icd6);
3799                                 };
3800                                 if((~f3 > ~outmaxa) or: (~f3 < ~outmina), {~z27.close;~z3.close;~z27 = (CompositeView(w, Rect((~f3.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+30, ~nw, 2)).background = Color.white;);}, {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect((~f3.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+30, ~nw, 2)).background = Color.white;);});
3801
3802                                 ~z25.background = Color.white; ~z1.background = Color.white;
3803                                 ~z26.background = Color.white; ~z2.background = Color.white;
3804                                 ~z27.background = Color.green; ~z3.background = Color.green;
3805                                 ~z28.background = Color.white; ~z4.background = Color.white;
3806                                 ~z29.background = Color.white; ~z5.background = Color.white;
3807                                 ~z30.background = Color.white; ~z6.background = Color.white;
3808                                 ~z31.background = Color.white; ~z7.background = Color.white;
3809                                 ~z32.background = Color.white; ~z8.background = Color.white;
3810                                 ~z33.background = Color.white; ~z9.background = Color.white;
3811                                 ~z34.background = Color.white; ~z10.background = Color.white;
3812                                 ~z35.background = Color.white; ~z11.background = Color.white;
3813                                 ~z36.background = Color.white; ~z12.background = Color.white;
3814                 });});
3815
3816                 if((~f4 >= ~freqmap.at(127)), {~freqmap.at(127)},
3817                         {if((keycodeb.value == 3) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3818                                 ~freqmapval4 = ~f4.cpsmidi.round;
3819                                 case
3820                                 {~l1a.isRunning == true}{
3821                                         ~l4a.set(\dur, ~f4 = ~freqmap.at(~freqmapval4 = ~freqmapval4.value+1));
3822                                         ~l4b.set(\dur, ~f4);
3823                                         ~l4c.set(\dur, ~f4/~icd3);
3824                                         ~l4d.set(\dur, ~f4/~icd3);
3825                                         ~l4e.set(\dur, ~f4/~icd6);
3826                                         ~l4f.set(\dur, ~f4/~icd6);
3827                                 }
3828                                 {~l1a1.isRunning == true}{
3829                                         ~l4a1.set(\dur, ~f4 = ~freqmap.at(~freqmapval4 = ~freqmapval4.value+1));
3830                                         ~l4b1.set(\dur, ~f4);
3831                                         ~l4c1.set(\dur, ~f4/~icd3);
3832                                         ~l4d1.set(\dur, ~f4/~icd3);
3833                                         ~l4e1.set(\dur, ~f4/~icd6);
3834                                         ~l4f1.set(\dur, ~f4/~icd6);
3835                                 };
3836                                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
3837                                 ~z25.background = Color.white; ~z1.background = Color.white;
3838                                 ~z26.background = Color.white; ~z2.background = Color.white;
3839                                 ~z27.background = Color.white; ~z3.background = Color.white;
3840                                 ~z28.background = Color.green; ~z4.background = Color.green;
3841                                 ~z29.background = Color.white; ~z5.background = Color.white;
3842                                 ~z30.background = Color.white; ~z6.background = Color.white;
3843                                 ~z31.background = Color.white; ~z7.background = Color.white;
3844                                 ~z32.background = Color.white; ~z8.background = Color.white;
3845                                 ~z33.background = Color.white; ~z9.background = Color.white;
3846                                 ~z34.background = Color.white; ~z10.background = Color.white;
3847                                 ~z35.background = Color.white; ~z11.background = Color.white;
3848                                 ~z36.background = Color.white; ~z12.background = Color.white;
3849                 });});
3850                 if((~f4 <= ~freqmap.at(0)), {~freqmap.at(0)},
3851                         {if((keycodeb.value == 3) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3852                                 ~freqmapval4 = ~f4.cpsmidi.round;
3853                                 case
3854                                 {~l1a.isRunning == true}{
3855                                         ~l4a.set(\dur, ~f4 = ~freqmap.at(~freqmapval4 = ~freqmapval4.value-1));
3856                                         ~l4b.set(\dur, ~f4);
3857                                         ~l4c.set(\dur, ~f4/~icd3);
3858                                         ~l4d.set(\dur, ~f4/~icd3);
3859                                         ~l4e.set(\dur, ~f4/~icd6);
3860                                         ~l4f.set(\dur, ~f4/~icd6);
3861                                 }
3862                                 {~l1a1.isRunning == true}{
3863                                         ~l4a1.set(\dur, ~f4 = ~freqmap.at(~freqmapval4 = ~freqmapval4.value-1));
3864                                         ~l4b1.set(\dur, ~f4);
3865                                         ~l4c1.set(\dur, ~f4/~icd3);
3866                                         ~l4d1.set(\dur, ~f4/~icd3);
3867                                         ~l4e1.set(\dur, ~f4/~icd6);
3868                                         ~l4f1.set(\dur, ~f4/~icd6);
3869                                 };
3870                                 if((~f4 > ~outmaxa) or: (~f4 < ~outmina), {~z28.close;~z4.close;~z28 = (CompositeView(w, Rect((~f4.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+40, ~nw, 2)).background = Color.white;);}, {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect((~f4.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+40, ~nw, 2)).background = Color.white;);});
3871
3872                                 ~z25.background = Color.white; ~z1.background = Color.white;
3873                                 ~z26.background = Color.white; ~z2.background = Color.white;
3874                                 ~z27.background = Color.white; ~z3.background = Color.white;
3875                                 ~z28.background = Color.green; ~z4.background = Color.green;
3876                                 ~z29.background = Color.white; ~z5.background = Color.white;
3877                                 ~z30.background = Color.white; ~z6.background = Color.white;
3878                                 ~z31.background = Color.white; ~z7.background = Color.white;
3879                                 ~z32.background = Color.white; ~z8.background = Color.white;
3880                                 ~z33.background = Color.white; ~z9.background = Color.white;
3881                                 ~z34.background = Color.white; ~z10.background = Color.white;
3882                                 ~z35.background = Color.white; ~z11.background = Color.white;
3883                                 ~z36.background = Color.white; ~z12.background = Color.white;
3884                 });});
3885
3886                 if((~f5 >= ~freqmap.at(127)), {~freqmap.at(127)},
3887                         {if((keycodeb.value == 4) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3888                                 ~freqmapval5 = ~f5.cpsmidi.round;
3889                                 case
3890                                 {~l1a.isRunning == true}{
3891                                         ~l5a.set(\dur, ~f5 = ~freqmap.at(~freqmapval5 = ~freqmapval5.value+1));
3892                                         ~l5b.set(\dur, ~f5);
3893                                         ~l5c.set(\dur, ~f5/~icd3);
3894                                         ~l5d.set(\dur, ~f5/~icd3);
3895                                         ~l5e.set(\dur, ~f5/~icd6);
3896                                         ~l5f.set(\dur, ~f5/~icd6);
3897                                 }
3898                                 {~l1a1.isRunning == true}{
3899                                         ~l5a1.set(\dur, ~f5 = ~freqmap.at(~freqmapval5 = ~freqmapval5.value+1));
3900                                         ~l5b1.set(\dur, ~f5);
3901                                         ~l5c1.set(\dur, ~f5/~icd3);
3902                                         ~l5d1.set(\dur, ~f5/~icd3);
3903                                         ~l5e1.set(\dur, ~f5/~icd6);
3904                                         ~l5f1.set(\dur, ~f5/~icd6);
3905                                 };
3906                                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
3907                                 ~z25.background = Color.white; ~z1.background = Color.white;
3908                                 ~z26.background = Color.white; ~z2.background = Color.white;
3909                                 ~z27.background = Color.white; ~z3.background = Color.white;
3910                                 ~z28.background = Color.white; ~z4.background = Color.white;
3911                                 ~z29.background = Color.green; ~z5.background = Color.green;
3912                                 ~z30.background = Color.white; ~z6.background = Color.white;
3913                                 ~z31.background = Color.white; ~z7.background = Color.white;
3914                                 ~z32.background = Color.white; ~z8.background = Color.white;
3915                                 ~z33.background = Color.white; ~z9.background = Color.white;
3916                                 ~z34.background = Color.white; ~z10.background = Color.white;
3917                                 ~z35.background = Color.white; ~z11.background = Color.white;
3918                                 ~z36.background = Color.white; ~z12.background = Color.white;
3919                 });});
3920                 if((~f5 <= ~freqmap.at(0)), {~freqmap.at(0)},
3921                         {if((keycodeb.value == 4) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3922                                 ~freqmapval5 = ~f5.cpsmidi.round;
3923                                 case
3924                                 {~l1a.isRunning == true}{
3925                                         ~l5a.set(\dur, ~f5 = ~freqmap.at(~freqmapval5 = ~freqmapval5.value-1));
3926                                         ~l5b.set(\dur, ~f5);
3927                                         ~l5c.set(\dur, ~f5/~icd3);
3928                                         ~l5d.set(\dur, ~f5/~icd3);
3929                                         ~l5e.set(\dur, ~f5/~icd6);
3930                                         ~l5f.set(\dur, ~f5/~icd6);
3931                                 }
3932                                 {~l1a1.isRunning == true}{
3933                                         ~l5a1.set(\dur, ~f5 = ~freqmap.at(~freqmapval5 = ~freqmapval5.value-1));
3934                                         ~l5b1.set(\dur, ~f5);
3935                                         ~l5c1.set(\dur, ~f5/~icd3);
3936                                         ~l5d1.set(\dur, ~f5/~icd3);
3937                                         ~l5e1.set(\dur, ~f5/~icd6);
3938                                         ~l5f1.set(\dur, ~f5/~icd6);
3939                                 };
3940                                 if((~f5 > ~outmaxa) or: (~f5 < ~outmina), {~z29.close;~z5.close;~z29 = (CompositeView(w, Rect((~f5.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+50, ~nw, 2)).background = Color.white;);}, {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect((~f5.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+50, ~nw, 2)).background = Color.white;);});
3941
3942                                 ~z25.background = Color.white; ~z1.background = Color.white;
3943                                 ~z26.background = Color.white; ~z2.background = Color.white;
3944                                 ~z27.background = Color.white; ~z3.background = Color.white;
3945                                 ~z28.background = Color.white; ~z4.background = Color.white;
3946                                 ~z29.background = Color.green; ~z5.background = Color.green;
3947                                 ~z30.background = Color.white; ~z6.background = Color.white;
3948                                 ~z31.background = Color.white; ~z7.background = Color.white;
3949                                 ~z32.background = Color.white; ~z8.background = Color.white;
3950                                 ~z33.background = Color.white; ~z9.background = Color.white;
3951                                 ~z34.background = Color.white; ~z10.background = Color.white;
3952                                 ~z35.background = Color.white; ~z11.background = Color.white;
3953                                 ~z36.background = Color.white; ~z12.background = Color.white;
3954                 });});
3955
3956                 if((~f6 >= ~freqmap.at(127)), {~freqmap.at(127)},
3957                         {if((keycodeb.value == 5) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
3958                                 ~freqmapval6 = ~f6.cpsmidi.round;
3959                                 case
3960                                 {~l1a.isRunning == true}{
3961                                         ~l6a.set(\dur, ~f6 = ~freqmap.at(~freqmapval6 = ~freqmapval6.value+1));
3962                                         ~l6b.set(\dur, ~f6);
3963                                         ~l6c.set(\dur, ~f6/~icd3);
3964                                         ~l6d.set(\dur, ~f6/~icd3);
3965                                         ~l6e.set(\dur, ~f6/~icd6);
3966                                         ~l6f.set(\dur, ~f6/~icd6);
3967                                 }
3968                                 {~l1a1.isRunning == true}{
3969                                         ~l6a1.set(\dur, ~f6 = ~freqmap.at(~freqmapval6 = ~freqmapval6.value+1));
3970                                         ~l6b1.set(\dur, ~f6);
3971                                         ~l6c1.set(\dur, ~f6/~icd3);
3972                                         ~l6d1.set(\dur, ~f6/~icd3);
3973                                         ~l6e1.set(\dur, ~f6/~icd6);
3974                                         ~l6f1.set(\dur, ~f6/~icd6);
3975                                 };
3976                                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
3977                                 ~z25.background = Color.white; ~z1.background = Color.white;
3978                                 ~z26.background = Color.white; ~z2.background = Color.white;
3979                                 ~z27.background = Color.white; ~z3.background = Color.white;
3980                                 ~z28.background = Color.white; ~z4.background = Color.white;
3981                                 ~z29.background = Color.white; ~z5.background = Color.white;
3982                                 ~z30.background = Color.green; ~z6.background = Color.green;
3983                                 ~z31.background = Color.white; ~z7.background = Color.white;
3984                                 ~z32.background = Color.white; ~z8.background = Color.white;
3985                                 ~z33.background = Color.white; ~z9.background = Color.white;
3986                                 ~z34.background = Color.white; ~z10.background = Color.white;
3987                                 ~z35.background = Color.white; ~z11.background = Color.white;
3988                                 ~z36.background = Color.white; ~z12.background = Color.white;
3989                 });});
3990                 if((~f6 <= ~freqmap.at(0)), {~freqmap.at(0)},
3991                         {if((keycodeb.value == 5) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
3992                                 ~freqmapval6 = ~f6.cpsmidi.round;
3993                                 case
3994                                 {~l1a.isRunning == true}{
3995                                         ~l6a.set(\dur, ~f6 = ~freqmap.at(~freqmapval6 = ~freqmapval6.value-1));
3996                                         ~l6b.set(\dur, ~f6);
3997                                         ~l6c.set(\dur, ~f6/~icd3);
3998                                         ~l6d.set(\dur, ~f6/~icd3);
3999                                         ~l6e.set(\dur, ~f6/~icd6);
4000                                         ~l6f.set(\dur, ~f6/~icd6);
4001                                 }
4002                                 {~l1a1.isRunning == true}{
4003                                         ~l6a1.set(\dur, ~f6 = ~freqmap.at(~freqmapval6 = ~freqmapval6.value-1));
4004                                         ~l6b1.set(\dur, ~f6);
4005                                         ~l6c1.set(\dur, ~f6/~icd3);
4006                                         ~l6d1.set(\dur, ~f6/~icd3);
4007                                         ~l6e1.set(\dur, ~f6/~icd6);
4008                                         ~l6f1.set(\dur, ~f6/~icd6);
4009                                 };
4010                                 if((~f6 > ~outmaxa) or: (~f6 < ~outmina), {~z30.close;~z6.close;~z30 = (CompositeView(w, Rect((~f6.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+60, ~nw, 2)).background = Color.white;);}, {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect((~f6.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+60, ~nw, 2)).background = Color.white;);});
4011
4012                                 ~z25.background = Color.white; ~z1.background = Color.white;
4013                                 ~z26.background = Color.white; ~z2.background = Color.white;
4014                                 ~z27.background = Color.white; ~z3.background = Color.white;
4015                                 ~z28.background = Color.white; ~z4.background = Color.white;
4016                                 ~z29.background = Color.white; ~z5.background = Color.white;
4017                                 ~z30.background = Color.green; ~z6.background = Color.green;
4018                                 ~z31.background = Color.white; ~z7.background = Color.white;
4019                                 ~z32.background = Color.white; ~z8.background = Color.white;
4020                                 ~z33.background = Color.white; ~z9.background = Color.white;
4021                                 ~z34.background = Color.white; ~z10.background = Color.white;
4022                                 ~z35.background = Color.white; ~z11.background = Color.white;
4023                                 ~z36.background = Color.white; ~z12.background = Color.white;
4024                 });});
4025
4026                 if((~f7 >= ~freqmap.at(127)), {~freqmap.at(127)},
4027                         {if((keycodeb.value == 6) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4028                                 ~freqmapval7 = ~f7.cpsmidi.round;
4029                                 case
4030                                 {~l1a.isRunning == true}{
4031                                         ~l7a.set(\dur, ~f7 = ~freqmap.at(~freqmapval7 = ~freqmapval7.value+1));
4032                                         ~l7b.set(\dur, ~f7);
4033                                         ~l7c.set(\dur, ~f7/~icd3);
4034                                         ~l7d.set(\dur, ~f7/~icd3);
4035                                         ~l7e.set(\dur, ~f7/~icd6);
4036                                         ~l7f.set(\dur, ~f7/~icd6);
4037                                 }
4038                                 {~l1a1.isRunning == true}{
4039                                         ~l7a1.set(\dur, ~f7 = ~freqmap.at(~freqmapval7 = ~freqmapval7.value+1));
4040                                         ~l7b1.set(\dur, ~f7);
4041                                         ~l7c1.set(\dur, ~f7/~icd3);
4042                                         ~l7d1.set(\dur, ~f7/~icd3);
4043                                         ~l7e1.set(\dur, ~f7/~icd6);
4044                                         ~l7f1.set(\dur, ~f7/~icd6);
4045                                 };
4046                                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
4047                                 ~z25.background = Color.white; ~z1.background = Color.white;
4048                                 ~z26.background = Color.white; ~z2.background = Color.white;
4049                                 ~z27.background = Color.white; ~z3.background = Color.white;
4050                                 ~z28.background = Color.white; ~z4.background = Color.white;
4051                                 ~z29.background = Color.white; ~z5.background = Color.white;
4052                                 ~z30.background = Color.white; ~z6.background = Color.white;
4053                                 ~z31.background = Color.green; ~z7.background = Color.green;
4054                                 ~z32.background = Color.white; ~z8.background = Color.white;
4055                                 ~z33.background = Color.white; ~z9.background = Color.white;
4056                                 ~z34.background = Color.white; ~z10.background = Color.white;
4057                                 ~z35.background = Color.white; ~z11.background = Color.white;
4058                                 ~z36.background = Color.white; ~z12.background = Color.white;
4059                 });});
4060                 if((~f7 <= ~freqmap.at(0)), {~freqmap.at(0)},
4061                         {if((keycodeb.value == 6) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4062                                 ~freqmapval7 = ~f7.cpsmidi.round;
4063                                 case
4064                                 {~l1a.isRunning == true}{
4065                                         ~l7a.set(\dur, ~f7 = ~freqmap.at(~freqmapval7 = ~freqmapval7.value-1));
4066                                         ~l7b.set(\dur, ~f7);
4067                                         ~l7c.set(\dur, ~f7/~icd3);
4068                                         ~l7d.set(\dur, ~f7/~icd3);
4069                                         ~l7e.set(\dur, ~f7/~icd6);
4070                                         ~l7f.set(\dur, ~f7/~icd6);
4071                                 }
4072                                 {~l1a1.isRunning == true}{
4073                                         ~l7a1.set(\dur, ~f7 = ~freqmap.at(~freqmapval7 = ~freqmapval7.value-1));
4074                                         ~l7b1.set(\dur, ~f7);
4075                                         ~l7c1.set(\dur, ~f7/~icd3);
4076                                         ~l7d1.set(\dur, ~f7/~icd3);
4077                                         ~l7e1.set(\dur, ~f7/~icd6);
4078                                         ~l7f1.set(\dur, ~f7/~icd6);
4079                                 };
4080                                 if((~f7 > ~outmaxa) or: (~f7 < ~outmina), {~z31.close;~z7.close;~z31 = (CompositeView(w, Rect((~f7.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+70, ~nw, 2)).background = Color.white;);}, {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect((~f7.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+70, ~nw, 2)).background = Color.white;);});
4081
4082                                 ~z25.background = Color.white; ~z1.background = Color.white;
4083                                 ~z26.background = Color.white; ~z2.background = Color.white;
4084                                 ~z27.background = Color.white; ~z3.background = Color.white;
4085                                 ~z28.background = Color.white; ~z4.background = Color.white;
4086                                 ~z29.background = Color.white; ~z5.background = Color.white;
4087                                 ~z30.background = Color.white; ~z6.background = Color.white;
4088                                 ~z31.background = Color.green; ~z7.background = Color.green;
4089                                 ~z32.background = Color.white; ~z8.background = Color.white;
4090                                 ~z33.background = Color.white; ~z9.background = Color.white;
4091                                 ~z34.background = Color.white; ~z10.background = Color.white;
4092                                 ~z35.background = Color.white; ~z11.background = Color.white;
4093                                 ~z36.background = Color.white; ~z12.background = Color.white;
4094                 });});
4095
4096                 if((~f8 >= ~freqmap.at(127)), {~freqmap.at(127)},
4097                         {if((keycodeb.value == 7) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4098                                 ~freqmapval8 = ~f8.cpsmidi.round;
4099                                 case
4100                                 {~l1a.isRunning == true}{
4101                                         ~l8a.set(\dur, ~f8 = ~freqmap.at(~freqmapval8 = ~freqmapval8.value+1));
4102                                         ~l8b.set(\dur, ~f8);
4103                                         ~l8c.set(\dur, ~f8/~icd3);
4104                                         ~l8d.set(\dur, ~f8/~icd3);
4105                                         ~l8e.set(\dur, ~f8/~icd6);
4106                                         ~l8f.set(\dur, ~f8/~icd6);
4107                                 }
4108                                 {~l1a1.isRunning == true}{
4109                                         ~l8a1.set(\dur, ~f8 = ~freqmap.at(~freqmapval8 = ~freqmapval8.value+1));
4110                                         ~l8b1.set(\dur, ~f8);
4111                                         ~l8c1.set(\dur, ~f8/~icd3);
4112                                         ~l8d1.set(\dur, ~f8/~icd3);
4113                                         ~l8e1.set(\dur, ~f8/~icd6);
4114                                         ~l8f1.set(\dur, ~f8/~icd6);
4115                                 };
4116                                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
4117                                 ~z25.background = Color.white; ~z1.background = Color.white;
4118                                 ~z26.background = Color.white; ~z2.background = Color.white;
4119                                 ~z27.background = Color.white; ~z3.background = Color.white;
4120                                 ~z28.background = Color.white; ~z4.background = Color.white;
4121                                 ~z29.background = Color.white; ~z5.background = Color.white;
4122                                 ~z30.background = Color.white; ~z6.background = Color.white;
4123                                 ~z31.background = Color.white; ~z7.background = Color.white;
4124                                 ~z32.background = Color.green; ~z8.background = Color.green;
4125                                 ~z33.background = Color.white; ~z9.background = Color.white;
4126                                 ~z34.background = Color.white; ~z10.background = Color.white;
4127                                 ~z35.background = Color.white; ~z11.background = Color.white;
4128                                 ~z36.background = Color.white; ~z12.background = Color.white;
4129                 });});
4130                 if((~f8 <= ~freqmap.at(0)), {~freqmap.at(0)},
4131                         {if((keycodeb.value == 7) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4132                                 ~freqmapval8 = ~f8.cpsmidi.round;
4133                                 case
4134                                 {~l1a.isRunning == true}{
4135                                         ~l8a.set(\dur, ~f8 = ~freqmap.at(~freqmapval8 = ~freqmapval8.value-1));
4136                                         ~l8b.set(\dur, ~f8);
4137                                         ~l8c.set(\dur, ~f8/~icd3);
4138                                         ~l8d.set(\dur, ~f8/~icd3);
4139                                         ~l8e.set(\dur, ~f8/~icd6);
4140                                         ~l8f.set(\dur, ~f8/~icd6);
4141                                 }
4142                                 {~l1a1.isRunning == true}{
4143                                         ~l8a1.set(\dur, ~f8 = ~freqmap.at(~freqmapval8 = ~freqmapval8.value-1));
4144                                         ~l8b1.set(\dur, ~f8);
4145                                         ~l8c1.set(\dur, ~f8/~icd3);
4146                                         ~l8d1.set(\dur, ~f8/~icd3);
4147                                         ~l8e1.set(\dur, ~f8/~icd6);
4148                                         ~l8f1.set(\dur, ~f8/~icd6);
4149                                 };
4150                                 if((~f8 > ~outmaxa) or: (~f8 < ~outmina), {~z32.close;~z8.close;~z32 = (CompositeView(w, Rect((~f8.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+80, ~nw, 2)).background = Color.white;);}, {~z8.close;~z32.close;~z8 = (CompositeView(w, Rect((~f8.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+80, ~nw, 2)).background = Color.white;);});
4151
4152                                 ~z25.background = Color.white; ~z1.background = Color.white;
4153                                 ~z26.background = Color.white; ~z2.background = Color.white;
4154                                 ~z27.background = Color.white; ~z3.background = Color.white;
4155                                 ~z28.background = Color.white; ~z4.background = Color.white;
4156                                 ~z29.background = Color.white; ~z5.background = Color.white;
4157                                 ~z30.background = Color.white; ~z6.background = Color.white;
4158                                 ~z31.background = Color.white; ~z7.background = Color.white;
4159                                 ~z32.background = Color.green; ~z8.background = Color.green;
4160                                 ~z33.background = Color.white; ~z9.background = Color.white;
4161                                 ~z34.background = Color.white; ~z10.background = Color.white;
4162                                 ~z35.background = Color.white; ~z11.background = Color.white;
4163                                 ~z36.background = Color.white; ~z12.background = Color.white;
4164                 });});
4165
4166                 if((~f9 >= ~freqmap.at(127)), {~freqmap.at(127)},
4167                         {if((keycodeb.value == 8) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4168                                 ~freqmapval9 = ~f9.cpsmidi.round;
4169                                 case
4170                                 {~l1a.isRunning == true}{
4171                                         ~l9a.set(\dur, ~f9 = ~freqmap.at(~freqmapval9 = ~freqmapval9.value+1));
4172                                         ~l9b.set(\dur, ~f9);
4173                                         ~l9c.set(\dur, ~f9/~icd3);
4174                                         ~l9d.set(\dur, ~f9/~icd3);
4175                                         ~l9e.set(\dur, ~f9/~icd6);
4176                                         ~l9f.set(\dur, ~f9/~icd6);
4177                                 }
4178                                 {~l1a1.isRunning == true}{
4179                                         ~l9a1.set(\dur, ~f9 = ~freqmap.at(~freqmapval9 = ~freqmapval9.value+1));
4180                                         ~l9b1.set(\dur, ~f9);
4181                                         ~l9c1.set(\dur, ~f9/~icd3);
4182                                         ~l9d1.set(\dur, ~f9/~icd3);
4183                                         ~l9e1.set(\dur, ~f9/~icd6);
4184                                         ~l9f1.set(\dur, ~f9/~icd6);
4185                                 };
4186                                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
4187                                 ~z25.background = Color.white; ~z1.background = Color.white;
4188                                 ~z26.background = Color.white; ~z2.background = Color.white;
4189                                 ~z27.background = Color.white; ~z3.background = Color.white;
4190                                 ~z28.background = Color.white; ~z4.background = Color.white;
4191                                 ~z29.background = Color.white; ~z5.background = Color.white;
4192                                 ~z30.background = Color.white; ~z6.background = Color.white;
4193                                 ~z31.background = Color.white; ~z7.background = Color.white;
4194                                 ~z32.background = Color.white; ~z8.background = Color.white;
4195                                 ~z33.background = Color.green; ~z9.background = Color.green;
4196                                 ~z34.background = Color.white; ~z10.background = Color.white;
4197                                 ~z35.background = Color.white; ~z11.background = Color.white;
4198                                 ~z36.background = Color.white; ~z12.background = Color.white;
4199                 });});
4200                 if((~f9 <= ~freqmap.at(0)), {~freqmap.at(0)},
4201                         {if((keycodeb.value == 8) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4202                                 ~freqmapval9 = ~f9.cpsmidi.round;
4203                                 case
4204                                 {~l1a.isRunning == true}{
4205                                         ~l9a.set(\dur, ~f9 = ~freqmap.at(~freqmapval9 = ~freqmapval9.value-1));
4206                                         ~l9b.set(\dur, ~f9);
4207                                         ~l9c.set(\dur, ~f9/~icd3);
4208                                         ~l9d.set(\dur, ~f9/~icd3);
4209                                         ~l9e.set(\dur, ~f9/~icd6);
4210                                         ~l9f.set(\dur, ~f9/~icd6);
4211                                 }
4212                                 {~l1a1.isRunning == true}{
4213                                         ~l9a1.set(\dur, ~f9 = ~freqmap.at(~freqmapval9 = ~freqmapval9.value-1));
4214                                         ~l9b1.set(\dur, ~f9);
4215                                         ~l9c1.set(\dur, ~f9/~icd3);
4216                                         ~l9d1.set(\dur, ~f9/~icd3);
4217                                         ~l9e1.set(\dur, ~f9/~icd6);
4218                                         ~l9f1.set(\dur, ~f9/~icd6);
4219                                 };
4220                                 if((~f9 > ~outmaxa) or: (~f9 < ~outmina), {~z33.close;~z9.close;~z33 = (CompositeView(w, Rect((~f9.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+90, ~nw, 2)).background = Color.white;);}, {~z9.close;~z33.close;~z9 = (CompositeView(w, Rect((~f9.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+90, ~nw, 2)).background = Color.white;);});
4221
4222                                 ~z25.background = Color.white; ~z1.background = Color.white;
4223                                 ~z26.background = Color.white; ~z2.background = Color.white;
4224                                 ~z27.background = Color.white; ~z3.background = Color.white;
4225                                 ~z28.background = Color.white; ~z4.background = Color.white;
4226                                 ~z29.background = Color.white; ~z5.background = Color.white;
4227                                 ~z30.background = Color.white; ~z6.background = Color.white;
4228                                 ~z31.background = Color.white; ~z7.background = Color.white;
4229                                 ~z32.background = Color.white; ~z8.background = Color.white;
4230                                 ~z33.background = Color.green; ~z9.background = Color.green;
4231                                 ~z34.background = Color.white; ~z10.background = Color.white;
4232                                 ~z35.background = Color.white; ~z11.background = Color.white;
4233                                 ~z36.background = Color.white; ~z12.background = Color.white;
4234                 });});
4235
4236                 if((~f10 >= ~freqmap.at(127)), {~freqmap.at(127)},
4237                         {if((keycodeb.value == 9) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4238                                 ~freqmapval10 = ~f10.cpsmidi.round;
4239                                 case
4240                                 {~l1a.isRunning == true}{
4241                                         ~l10a.set(\dur, ~f10 = ~freqmap.at(~freqmapval10 = ~freqmapval10.value+1));
4242                                         ~l10b.set(\dur, ~f10);
4243                                         ~l10c.set(\dur, ~f10/~icd3);
4244                                         ~l10d.set(\dur, ~f10/~icd3);
4245                                         ~l10e.set(\dur, ~f10/~icd6);
4246                                         ~l10f.set(\dur, ~f10/~icd6);
4247                                 }
4248                                 {~l1a1.isRunning == true}{
4249                                         ~l10a1.set(\dur, ~f10 = ~freqmap.at(~freqmapval10 = ~freqmapval10.value+1));
4250                                         ~l10b1.set(\dur, ~f10);
4251                                         ~l10c1.set(\dur, ~f10/~icd3);
4252                                         ~l10d1.set(\dur, ~f10/~icd3);
4253                                         ~l10e1.set(\dur, ~f10/~icd6);
4254                                         ~l10f1.set(\dur, ~f10/~icd6);
4255                                 };
4256                                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
4257                                 ~z25.background = Color.white; ~z1.background = Color.white;
4258                                 ~z26.background = Color.white; ~z2.background = Color.white;
4259                                 ~z27.background = Color.white; ~z3.background = Color.white;
4260                                 ~z28.background = Color.white; ~z4.background = Color.white;
4261                                 ~z29.background = Color.white; ~z5.background = Color.white;
4262                                 ~z30.background = Color.white; ~z6.background = Color.white;
4263                                 ~z31.background = Color.white; ~z7.background = Color.white;
4264                                 ~z32.background = Color.white; ~z8.background = Color.white;
4265                                 ~z33.background = Color.white; ~z9.background = Color.white;
4266                                 ~z34.background = Color.green; ~z10.background = Color.green;
4267                                 ~z35.background = Color.white; ~z11.background = Color.white;
4268                                 ~z36.background = Color.white; ~z12.background = Color.white;
4269                 });});
4270                 if((~f10 <= ~freqmap.at(0)), {~freqmap.at(0)},
4271                         {if((keycodeb.value == 9) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4272                                 ~freqmapval10 = ~f10.cpsmidi.round;
4273                                 case
4274                                 {~l1a.isRunning == true}{
4275                                         ~l10a.set(\dur, ~f10 = ~freqmap.at(~freqmapval10 = ~freqmapval10.value-1));
4276                                         ~l10b.set(\dur, ~f10);
4277                                         ~l10c.set(\dur, ~f10/~icd3);
4278                                         ~l10d.set(\dur, ~f10/~icd3);
4279                                         ~l10e.set(\dur, ~f10/~icd6);
4280                                         ~l10f.set(\dur, ~f10/~icd6);
4281                                 }
4282                                 {~l1a1.isRunning == true}{
4283                                         ~l10a1.set(\dur, ~f10 = ~freqmap.at(~freqmapval10 = ~freqmapval10.value-1));
4284                                         ~l10b1.set(\dur, ~f10);
4285                                         ~l10c1.set(\dur, ~f10/~icd3);
4286                                         ~l10d1.set(\dur, ~f10/~icd3);
4287                                         ~l10e1.set(\dur, ~f10/~icd6);
4288                                         ~l10f1.set(\dur, ~f10/~icd6);
4289                                 };
4290                                 if((~f10 > ~outmaxa) or: (~f10 < ~outmina), {~z34.close;~z10.close;~z34 = (CompositeView(w, Rect((~f10.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+100, ~nw, 2)).background = Color.white;);}, {~z10.close;~z34.close;~z10 = (CompositeView(w, Rect((~f10.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+100, ~nw, 2)).background = Color.white;);});
4291
4292                                 ~z25.background = Color.white; ~z1.background = Color.white;
4293                                 ~z26.background = Color.white; ~z2.background = Color.white;
4294                                 ~z27.background = Color.white; ~z3.background = Color.white;
4295                                 ~z28.background = Color.white; ~z4.background = Color.white;
4296                                 ~z29.background = Color.white; ~z5.background = Color.white;
4297                                 ~z30.background = Color.white; ~z6.background = Color.white;
4298                                 ~z31.background = Color.white; ~z7.background = Color.white;
4299                                 ~z32.background = Color.white; ~z8.background = Color.white;
4300                                 ~z33.background = Color.white; ~z9.background = Color.white;
4301                                 ~z34.background = Color.green; ~z10.background = Color.green;
4302                                 ~z35.background = Color.white; ~z11.background = Color.white;
4303                                 ~z36.background = Color.white; ~z12.background = Color.white;
4304                 });});
4305
4306                 if((~f11 >= ~freqmap.at(127)), {~freqmap.at(127)},
4307                         {if((keycodeb.value == 10) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4308                                 ~freqmapval11 = ~f11.cpsmidi.round;
4309                                 case
4310                                 {~l1a.isRunning == true}{
4311                                         ~l11a.set(\dur, ~f11 = ~freqmap.at(~freqmapval11 = ~freqmapval11.value+1));
4312                                         ~l11b.set(\dur, ~f11);
4313                                         ~l11c.set(\dur, ~f11/~icd3);
4314                                         ~l11d.set(\dur, ~f11/~icd3);
4315                                         ~l11e.set(\dur, ~f11/~icd6);
4316                                         ~l11f.set(\dur, ~f11/~icd6);
4317                                 }
4318                                 {~l1a1.isRunning == true}{
4319                                         ~l11a1.set(\dur, ~f11 = ~freqmap.at(~freqmapval11 = ~freqmapval11.value+1));
4320                                         ~l11b1.set(\dur, ~f11);
4321                                         ~l11c1.set(\dur, ~f11/~icd3);
4322                                         ~l11d1.set(\dur, ~f11/~icd3);
4323                                         ~l11e1.set(\dur, ~f11/~icd6);
4324                                         ~l11f1.set(\dur, ~f11/~icd6);
4325                                 };
4326                                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
4327                                 ~z25.background = Color.white; ~z1.background = Color.white;
4328                                 ~z26.background = Color.white; ~z2.background = Color.white;
4329                                 ~z27.background = Color.white; ~z3.background = Color.white;
4330                                 ~z28.background = Color.white; ~z4.background = Color.white;
4331                                 ~z29.background = Color.white; ~z5.background = Color.white;
4332                                 ~z30.background = Color.white; ~z6.background = Color.white;
4333                                 ~z31.background = Color.white; ~z7.background = Color.white;
4334                                 ~z32.background = Color.white; ~z8.background = Color.white;
4335                                 ~z33.background = Color.white; ~z9.background = Color.white;
4336                                 ~z34.background = Color.white; ~z10.background = Color.white;
4337                                 ~z35.background = Color.green; ~z11.background = Color.green;
4338                                 ~z36.background = Color.white; ~z12.background = Color.white;
4339                 });});
4340                 if((~f11 <= ~freqmap.at(0)), {~freqmap.at(0)},
4341                         {if((keycodeb.value == 10) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4342                                 ~freqmapval11 = ~f11.cpsmidi.round;
4343                                 case
4344                                 {~l1a.isRunning == true}{
4345                                         ~l11a.set(\dur, ~f11 = ~freqmap.at(~freqmapval11 = ~freqmapval11.value-1));
4346                                         ~l11b.set(\dur, ~f11);
4347                                         ~l11c.set(\dur, ~f11/~icd3);
4348                                         ~l11d.set(\dur, ~f11/~icd3);
4349                                         ~l11e.set(\dur, ~f11/~icd6);
4350                                         ~l11f.set(\dur, ~f11/~icd6);
4351                                 }
4352                                 {~l1a1.isRunning == true}{
4353                                         ~l11a1.set(\dur, ~f11 = ~freqmap.at(~freqmapval11 = ~freqmapval11.value-1));
4354                                         ~l11b1.set(\dur, ~f11);
4355                                         ~l11c1.set(\dur, ~f11/~icd3);
4356                                         ~l11d1.set(\dur, ~f11/~icd3);
4357                                         ~l11e1.set(\dur, ~f11/~icd6);
4358                                         ~l11f1.set(\dur, ~f11/~icd6);
4359                                 };
4360                                 if((~f11 > ~outmaxa) or: (~f11 < ~outmina), {~z35.close;~z11.close;~z35 = (CompositeView(w, Rect((~f11.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+110, ~nw, 2)).background = Color.white;);}, {~z11.close;~z35.close;~z11 = (CompositeView(w, Rect((~f11.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+110, ~nw, 2)).background = Color.white;);});
4361
4362                                 ~z25.background = Color.white; ~z1.background = Color.white;
4363                                 ~z26.background = Color.white; ~z2.background = Color.white;
4364                                 ~z27.background = Color.white; ~z3.background = Color.white;
4365                                 ~z28.background = Color.white; ~z4.background = Color.white;
4366                                 ~z29.background = Color.white; ~z5.background = Color.white;
4367                                 ~z30.background = Color.white; ~z6.background = Color.white;
4368                                 ~z31.background = Color.white; ~z7.background = Color.white;
4369                                 ~z32.background = Color.white; ~z8.background = Color.white;
4370                                 ~z33.background = Color.white; ~z9.background = Color.white;
4371                                 ~z34.background = Color.white; ~z10.background = Color.white;
4372                                 ~z35.background = Color.green; ~z11.background = Color.green;
4373                                 ~z36.background = Color.white; ~z12.background = Color.white;
4374                 });});
4375
4376                 if((~f12 >= ~freqmap.at(127)), {~freqmap.at(127)},
4377                         {if((keycodeb.value == 11) and: ((keycode == ~rightarrow_keycode) or: (unicode == ~l_unicode)), {
4378                                 ~freqmapval12 = ~f12.cpsmidi.round;
4379                                 case
4380                                 {~l1a.isRunning == true}{
4381                                         ~l12a.set(\dur, ~f12 = ~freqmap.at(~freqmapval12 = ~freqmapval12.value+1));
4382                                         ~l12b.set(\dur, ~f12);
4383                                         ~l12c.set(\dur, ~f12/~icd3);
4384                                         ~l12d.set(\dur, ~f12/~icd3);
4385                                         ~l12e.set(\dur, ~f12/~icd6);
4386                                         ~l12f.set(\dur, ~f12/~icd6);
4387                                 }
4388                                 {~l1a1.isRunning == true}{
4389                                         ~l12a1.set(\dur, ~f12 = ~freqmap.at(~freqmapval12 = ~freqmapval12.value+1));
4390                                         ~l12b1.set(\dur, ~f12);
4391                                         ~l12c1.set(\dur, ~f12/~icd3);
4392                                         ~l12d1.set(\dur, ~f12/~icd3);
4393                                         ~l12e1.set(\dur, ~f12/~icd6);
4394                                         ~l12f1.set(\dur, ~f12/~icd6);
4395                                 };
4396                                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
4397                                 ~z25.background = Color.white; ~z1.background = Color.white;
4398                                 ~z26.background = Color.white; ~z2.background = Color.white;
4399                                 ~z27.background = Color.white; ~z3.background = Color.white;
4400                                 ~z28.background = Color.white; ~z4.background = Color.white;
4401                                 ~z29.background = Color.white; ~z5.background = Color.white;
4402                                 ~z30.background = Color.white; ~z6.background = Color.white;
4403                                 ~z31.background = Color.white; ~z7.background = Color.white;
4404                                 ~z32.background = Color.white; ~z8.background = Color.white;
4405                                 ~z33.background = Color.white; ~z9.background = Color.white;
4406                                 ~z34.background = Color.white; ~z10.background = Color.white;
4407                                 ~z35.background = Color.white; ~z11.background = Color.white;
4408                                 ~z36.background = Color.green; ~z12.background = Color.green;
4409                 });});
4410                 if((~f12 <= ~freqmap.at(0)), {~freqmap.at(0)},
4411                         {if((keycodeb.value == 11) and: ((keycode == ~leftarrow_keycode) or: (unicode == ~j_unicode)), {
4412                                 ~freqmapval12 = ~f12.cpsmidi.round;
4413                                 case
4414                                 {~l1a.isRunning == true}{
4415                                         ~l12a.set(\dur, ~f12 = ~freqmap.at(~freqmapval12 = ~freqmapval12.value-1));
4416                                         ~l12b.set(\dur, ~f12);
4417                                         ~l12c.set(\dur, ~f12/~icd3);
4418                                         ~l12d.set(\dur, ~f12/~icd3);
4419                                         ~l12e.set(\dur, ~f12/~icd6);
4420                                         ~l12f.set(\dur, ~f12/~icd6);
4421                                 }
4422                                 {~l1a1.isRunning == true}{
4423                                         ~l12a1.set(\dur, ~f12 = ~freqmap.at(~freqmapval12 = ~freqmapval12.value-1));
4424                                         ~l12b1.set(\dur, ~f12);
4425                                         ~l12c1.set(\dur, ~f12/~icd3);
4426                                         ~l12d1.set(\dur, ~f12/~icd3);
4427                                         ~l12e1.set(\dur, ~f12/~icd6);
4428                                         ~l12f1.set(\dur, ~f12/~icd6);
4429                                 };
4430                                 if((~f12 > ~outmaxa) or: (~f12 < ~outmina), {~z36.close;~z12.close;~z36 = (CompositeView(w, Rect((~f12.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+120, ~nw, 2)).background = Color.white;);}, {~z12.close;~z36.close;~z12 = (CompositeView(w, Rect((~f12.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+120, ~nw, 2)).background = Color.white;);});
4431
4432                                 ~z25.background = Color.white; ~z1.background = Color.white;
4433                                 ~z26.background = Color.white; ~z2.background = Color.white;
4434                                 ~z27.background = Color.white; ~z3.background = Color.white;
4435                                 ~z28.background = Color.white; ~z4.background = Color.white;
4436                                 ~z29.background = Color.white; ~z5.background = Color.white;
4437                                 ~z30.background = Color.white; ~z6.background = Color.white;
4438                                 ~z31.background = Color.white; ~z7.background = Color.white;
4439                                 ~z32.background = Color.white; ~z8.background = Color.white;
4440                                 ~z33.background = Color.white; ~z9.background = Color.white;
4441                                 ~z34.background = Color.white; ~z10.background = Color.white;
4442                                 ~z35.background = Color.white; ~z11.background = Color.white;
4443                                 ~z36.background = Color.green; ~z12.background = Color.green;
4444                 });});
4445
4446
4447
4448         };
4449
4450
4451         //if routine function values are nil
4452
4453         if(~rslot1a == nil, {~rslot1a = ~bplaceo1;}); if(~rslot1b == nil, {~rslot1b = ~bplacef1;});
4454         if(~rslot2 == nil, {~rslot2 = ~bplacef2;});
4455         if(~rslot3 == nil, {~rslot3 = ~bplacef3;});
4456         if(~rslot4 == nil, {~rslot4 = ~bplacef4;});
4457         if(~rslot5 == nil, {~rslot5 = ~bplacef5;});
4458         if(~rslot6 == nil, {~rslot6 = ~bplacef6;});
4459         if(~rslot7 == nil, {~rslot7 = ~bplacef7;});
4460         if(~rslot8 == nil, {~rslot8 = ~bplacef8;});
4461         if(~rtimeall == nil, {~rtimeall = 8;});
4462         if(~rtime1 == nil, {~rtime1 = 8;});
4463         if(~rtime2 == nil, {~rtime2 = 8;});
4464         if(~rtime3 == nil, {~rtime3 = 8;});
4465         if(~rtime4 == nil, {~rtime4 = 8;});
4466         if(~rtime5 == nil, {~rtime5 = 8;});
4467         if(~rtime6 == nil, {~rtime6 = 8;});
4468         if(~rtime7 == nil, {~rtime7 = 8;});
4469         if(~rtime8 == nil, {~rtime8 = 8;});
4470         if(~rdoall == nil, {~rdoall = 1;});
4471         if(~rdo1a == nil, {~rdo1a = "o1";}); if(~rdo1b == nil, {~rdo1b = "f1";});
4472         if(~rdo2 == nil, {~rdo2 = "f2";});
4473         if(~rdo3 == nil, {~rdo3 = "f3";});
4474         if(~rdo4 == nil, {~rdo4 = "f4";});
4475         if(~rdo5 == nil, {~rdo5 = "f5";});
4476         if(~rdo6 == nil, {~rdo6 = "f6";});
4477         if(~rdo7 == nil, {~rdo7 = "f7";});
4478         if(~rdo8 == nil, {~rdo8 = "f8";});
4479
4480
4481         //misc. routine button functions (see below)
4482
4483         ~si1aset = {
4484                 if(~si1a.value == "o1", {~rslot1a = ~bplaceo1; ~rdo1a = ~si1a.value;});
4485                 if(~si1a.value == "f1", {~rslot1a = ~bplacef1; ~rdo1a = ~si1a.value;});
4486                 if(~si1a.value == "s1", {~rslot1a = ~bplaces1; ~rdo1a = ~si1a.value;});
4487                 if(~si1a.value == "o2", {~rslot1a = ~bplaceo2; ~rdo1a = ~si1a.value;});
4488                 if(~si1a.value == "f2", {~rslot1a = ~bplacef2; ~rdo1a = ~si1a.value;});
4489                 if(~si1a.value == "s2", {~rslot1a = ~bplaces2; ~rdo1a = ~si1a.value;});
4490                 if(~si1a.value == "o3", {~rslot1a = ~bplaceo3; ~rdo1a = ~si1a.value;});
4491                 if(~si1a.value == "f3", {~rslot1a = ~bplacef3; ~rdo1a = ~si1a.value;});
4492                 if(~si1a.value == "s3", {~rslot1a = ~bplaces3; ~rdo1a = ~si1a.value;});
4493                 if(~si1a.value == "o4", {~rslot1a = ~bplaceo4; ~rdo1a = ~si1a.value;});
4494                 if(~si1a.value == "f4", {~rslot1a = ~bplacef4; ~rdo1a = ~si1a.value;});
4495                 if(~si1a.value == "s4", {~rslot1a = ~bplaces4; ~rdo1a = ~si1a.value;});
4496                 if(~si1a.value == "o5", {~rslot1a = ~bplaceo5; ~rdo1a = ~si1a.value;});
4497                 if(~si1a.value == "f5", {~rslot1a = ~bplacef5; ~rdo1a = ~si1a.value;});
4498                 if(~si1a.value == "s5", {~rslot1a = ~bplaces5; ~rdo1a = ~si1a.value;});
4499                 if(~si1a.value == "o6", {~rslot1a = ~bplaceo6; ~rdo1a = ~si1a.value;});
4500                 if(~si1a.value == "f6", {~rslot1a = ~bplacef6; ~rdo1a = ~si1a.value;});
4501                 if(~si1a.value == "s6", {~rslot1a = ~bplaces6; ~rdo1a = ~si1a.value;});
4502                 if(~si1a.value == "o7", {~rslot1a = ~bplaceo7; ~rdo1a = ~si1a.value;});
4503                 if(~si1a.value == "f7", {~rslot1a = ~bplacef7; ~rdo1a = ~si1a.value;});
4504                 if(~si1a.value == "s7", {~rslot1a = ~bplaces7; ~rdo1a = ~si1a.value;});
4505                 if(~si1a.value == "o8", {~rslot1a = ~bplaceo8; ~rdo1a = ~si1a.value;});
4506                 if(~si1a.value == "f8", {~rslot1a = ~bplacef8; ~rdo1a = ~si1a.value;});
4507                 if(~si1a.value == "s8", {~rslot1a = ~bplaces8; ~rdo1a = ~si1a.value;});
4508         };
4509         ~si1bset = {
4510                 if(~si1b.value == "o1", {~rslot1b = ~bplaceo1; ~rdo1b = ~si1b.value;});
4511                 if(~si1b.value == "f1", {~rslot1b = ~bplacef1; ~rdo1b = ~si1b.value;});
4512                 if(~si1b.value == "s1", {~rslot1b = ~bplaces1; ~rdo1b = ~si1b.value;});
4513                 if(~si1b.value == "o2", {~rslot1b = ~bplaceo2; ~rdo1b = ~si1b.value;});
4514                 if(~si1b.value == "f2", {~rslot1b = ~bplacef2; ~rdo1b = ~si1b.value;});
4515                 if(~si1b.value == "s2", {~rslot1b = ~bplaces2; ~rdo1b = ~si1b.value;});
4516                 if(~si1b.value == "o3", {~rslot1b = ~bplaceo3; ~rdo1b = ~si1b.value;});
4517                 if(~si1b.value == "f3", {~rslot1b = ~bplacef3; ~rdo1b = ~si1b.value;});
4518                 if(~si1b.value == "s3", {~rslot1b = ~bplaces3; ~rdo1b = ~si1b.value;});
4519                 if(~si1b.value == "o4", {~rslot1b = ~bplaceo4; ~rdo1b = ~si1b.value;});
4520                 if(~si1b.value == "f4", {~rslot1b = ~bplacef4; ~rdo1b = ~si1b.value;});
4521                 if(~si1b.value == "s4", {~rslot1b = ~bplaces4; ~rdo1b = ~si1b.value;});
4522                 if(~si1b.value == "o5", {~rslot1b = ~bplaceo5; ~rdo1b = ~si1b.value;});
4523                 if(~si1b.value == "f5", {~rslot1b = ~bplacef5; ~rdo1b = ~si1b.value;});
4524                 if(~si1b.value == "s5", {~rslot1b = ~bplaces5; ~rdo1b = ~si1b.value;});
4525                 if(~si1b.value == "o6", {~rslot1b = ~bplaceo6; ~rdo1b = ~si1b.value;});
4526                 if(~si1b.value == "f6", {~rslot1b = ~bplacef6; ~rdo1b = ~si1b.value;});
4527                 if(~si1b.value == "s6", {~rslot1b = ~bplaces6; ~rdo1b = ~si1b.value;});
4528                 if(~si1b.value == "o7", {~rslot1b = ~bplaceo7; ~rdo1b = ~si1b.value;});
4529                 if(~si1b.value == "f7", {~rslot1b = ~bplacef7; ~rdo1b = ~si1b.value;});
4530                 if(~si1b.value == "s7", {~rslot1b = ~bplaces7; ~rdo1b = ~si1b.value;});
4531                 if(~si1b.value == "o8", {~rslot1b = ~bplaceo8; ~rdo1b = ~si1b.value;});
4532                 if(~si1b.value == "f8", {~rslot1b = ~bplacef8; ~rdo1b = ~si1b.value;});
4533                 if(~si1b.value == "s8", {~rslot1b = ~bplaces8; ~rdo1b = ~si1b.value;});
4534         };
4535         ~si2set = {
4536                 if(~si2.value == "o1", {~rslot2 = ~bplaceo1; ~rdo2 = ~si2.value;});
4537                 if(~si2.value == "f1", {~rslot2 = ~bplacef1; ~rdo2 = ~si2.value;});
4538                 if(~si2.value == "s1", {~rslot2 = ~bplaces1; ~rdo2 = ~si2.value;});
4539                 if(~si2.value == "o2", {~rslot2 = ~bplaceo2; ~rdo2 = ~si2.value;});
4540                 if(~si2.value == "f2", {~rslot2 = ~bplacef2; ~rdo2 = ~si2.value;});
4541                 if(~si2.value == "s2", {~rslot2 = ~bplaces2; ~rdo2 = ~si2.value;});
4542                 if(~si2.value == "o3", {~rslot2 = ~bplaceo3; ~rdo2 = ~si2.value;});
4543                 if(~si2.value == "f3", {~rslot2 = ~bplacef3; ~rdo2 = ~si2.value;});
4544                 if(~si2.value == "s3", {~rslot2 = ~bplaces3; ~rdo2 = ~si2.value;});
4545                 if(~si2.value == "o4", {~rslot2 = ~bplaceo4; ~rdo2 = ~si2.value;});
4546                 if(~si2.value == "f4", {~rslot2 = ~bplacef4; ~rdo2 = ~si2.value;});
4547                 if(~si2.value == "s4", {~rslot2 = ~bplaces4; ~rdo2 = ~si2.value;});
4548                 if(~si2.value == "o5", {~rslot2 = ~bplaceo5; ~rdo2 = ~si2.value;});
4549                 if(~si2.value == "f5", {~rslot2 = ~bplacef5; ~rdo2 = ~si2.value;});
4550                 if(~si2.value == "s5", {~rslot2 = ~bplaces5; ~rdo2 = ~si2.value;});
4551                 if(~si2.value == "o6", {~rslot2 = ~bplaceo6; ~rdo2 = ~si2.value;});
4552                 if(~si2.value == "f6", {~rslot2 = ~bplacef6; ~rdo2 = ~si2.value;});
4553                 if(~si2.value == "s6", {~rslot2 = ~bplaces6; ~rdo2 = ~si2.value;});
4554                 if(~si2.value == "o7", {~rslot2 = ~bplaceo7; ~rdo2 = ~si2.value;});
4555                 if(~si2.value == "f7", {~rslot2 = ~bplacef7; ~rdo2 = ~si2.value;});
4556                 if(~si2.value == "s7", {~rslot2 = ~bplaces7; ~rdo2 = ~si2.value;});
4557                 if(~si2.value == "o8", {~rslot2 = ~bplaceo8; ~rdo2 = ~si2.value;});
4558                 if(~si2.value == "f8", {~rslot2 = ~bplacef8; ~rdo2 = ~si2.value;});
4559                 if(~si2.value == "s8", {~rslot2 = ~bplaces8; ~rdo2 = ~si2.value;});
4560         };
4561         ~si3set = {
4562                 if(~si3.value == "o1", {~rslot3 = ~bplaceo1; ~rdo3 = ~si3.value;});
4563                 if(~si3.value == "f1", {~rslot3 = ~bplacef1; ~rdo3 = ~si3.value;});
4564                 if(~si3.value == "s1", {~rslot3 = ~bplaces1; ~rdo3 = ~si3.value;});
4565                 if(~si3.value == "o2", {~rslot3 = ~bplaceo2; ~rdo3 = ~si3.value;});
4566                 if(~si3.value == "f2", {~rslot3 = ~bplacef2; ~rdo3 = ~si3.value;});
4567                 if(~si3.value == "s2", {~rslot3 = ~bplaces2; ~rdo3 = ~si3.value;});
4568                 if(~si3.value == "o3", {~rslot3 = ~bplaceo3; ~rdo3 = ~si3.value;});
4569                 if(~si3.value == "f3", {~rslot3 = ~bplacef3; ~rdo3 = ~si3.value;});
4570                 if(~si3.value == "s3", {~rslot3 = ~bplaces3; ~rdo3 = ~si3.value;});
4571                 if(~si3.value == "o4", {~rslot3 = ~bplaceo4; ~rdo3 = ~si3.value;});
4572                 if(~si3.value == "f4", {~rslot3 = ~bplacef4; ~rdo3 = ~si3.value;});
4573                 if(~si3.value == "s4", {~rslot3 = ~bplaces4; ~rdo3 = ~si3.value;});
4574                 if(~si3.value == "o5", {~rslot3 = ~bplaceo5; ~rdo3 = ~si3.value;});
4575                 if(~si3.value == "f5", {~rslot3 = ~bplacef5; ~rdo3 = ~si3.value;});
4576                 if(~si3.value == "s5", {~rslot3 = ~bplaces5; ~rdo3 = ~si3.value;});
4577                 if(~si3.value == "o6", {~rslot3 = ~bplaceo6; ~rdo3 = ~si3.value;});
4578                 if(~si3.value == "f6", {~rslot3 = ~bplacef6; ~rdo3 = ~si3.value;});
4579                 if(~si3.value == "s6", {~rslot3 = ~bplaces6; ~rdo3 = ~si3.value;});
4580                 if(~si3.value == "o7", {~rslot3 = ~bplaceo7; ~rdo3 = ~si3.value;});
4581                 if(~si3.value == "f7", {~rslot3 = ~bplacef7; ~rdo3 = ~si3.value;});
4582                 if(~si3.value == "s7", {~rslot3 = ~bplaces7; ~rdo3 = ~si3.value;});
4583                 if(~si3.value == "o8", {~rslot3 = ~bplaceo8; ~rdo3 = ~si3.value;});
4584                 if(~si3.value == "f8", {~rslot3 = ~bplacef8; ~rdo3 = ~si3.value;});
4585                 if(~si3.value == "s8", {~rslot3 = ~bplaces8; ~rdo3 = ~si3.value;});
4586         };
4587         ~si4set = {
4588                 if(~si4.value == "o1", {~rslot4 = ~bplaceo1; ~rdo4 = ~si4.value;});
4589                 if(~si4.value == "f1", {~rslot4 = ~bplacef1; ~rdo4 = ~si4.value;});
4590                 if(~si4.value == "s1", {~rslot4 = ~bplaces1; ~rdo4 = ~si4.value;});
4591                 if(~si4.value == "o2", {~rslot4 = ~bplaceo2; ~rdo4 = ~si4.value;});
4592                 if(~si4.value == "f2", {~rslot4 = ~bplacef2; ~rdo4 = ~si4.value;});
4593                 if(~si4.value == "s2", {~rslot4 = ~bplaces2; ~rdo4 = ~si4.value;});
4594                 if(~si4.value == "o3", {~rslot4 = ~bplaceo3; ~rdo4 = ~si4.value;});
4595                 if(~si4.value == "f3", {~rslot4 = ~bplacef3; ~rdo4 = ~si4.value;});
4596                 if(~si4.value == "s3", {~rslot4 = ~bplaces3; ~rdo4 = ~si4.value;});
4597                 if(~si4.value == "o4", {~rslot4 = ~bplaceo4; ~rdo4 = ~si4.value;});
4598                 if(~si4.value == "f4", {~rslot4 = ~bplacef4; ~rdo4 = ~si4.value;});
4599                 if(~si4.value == "s4", {~rslot4 = ~bplaces4; ~rdo4 = ~si4.value;});
4600                 if(~si4.value == "o5", {~rslot4 = ~bplaceo5; ~rdo4 = ~si4.value;});
4601                 if(~si4.value == "f5", {~rslot4 = ~bplacef5; ~rdo4 = ~si4.value;});
4602                 if(~si4.value == "s5", {~rslot4 = ~bplaces5; ~rdo4 = ~si4.value;});
4603                 if(~si4.value == "o6", {~rslot4 = ~bplaceo6; ~rdo4 = ~si4.value;});
4604                 if(~si4.value == "f6", {~rslot4 = ~bplacef6; ~rdo4 = ~si4.value;});
4605                 if(~si4.value == "s6", {~rslot4 = ~bplaces6; ~rdo4 = ~si4.value;});
4606                 if(~si4.value == "o7", {~rslot4 = ~bplaceo7; ~rdo4 = ~si4.value;});
4607                 if(~si4.value == "f7", {~rslot4 = ~bplacef7; ~rdo4 = ~si4.value;});
4608                 if(~si4.value == "s7", {~rslot4 = ~bplaces7; ~rdo4 = ~si4.value;});
4609                 if(~si4.value == "o8", {~rslot4 = ~bplaceo8; ~rdo4 = ~si4.value;});
4610                 if(~si4.value == "f8", {~rslot4 = ~bplacef8; ~rdo4 = ~si4.value;});
4611                 if(~si4.value == "s8", {~rslot4 = ~bplaces8; ~rdo4 = ~si4.value;});
4612         };
4613         ~si5set = {
4614                 if(~si5.value == "o1", {~rslot5 = ~bplaceo1; ~rdo5 = ~si5.value;});
4615                 if(~si5.value == "f1", {~rslot5 = ~bplacef1; ~rdo5 = ~si5.value;});
4616                 if(~si5.value == "s1", {~rslot5 = ~bplaces1; ~rdo5 = ~si5.value;});
4617                 if(~si5.value == "o2", {~rslot5 = ~bplaceo2; ~rdo5 = ~si5.value;});
4618                 if(~si5.value == "f2", {~rslot5 = ~bplacef2; ~rdo5 = ~si5.value;});
4619                 if(~si5.value == "s2", {~rslot5 = ~bplaces2; ~rdo5 = ~si5.value;});
4620                 if(~si5.value == "o3", {~rslot5 = ~bplaceo3; ~rdo5 = ~si5.value;});
4621                 if(~si5.value == "f3", {~rslot5 = ~bplacef3; ~rdo5 = ~si5.value;});
4622                 if(~si5.value == "s3", {~rslot5 = ~bplaces3; ~rdo5 = ~si5.value;});
4623                 if(~si5.value == "o4", {~rslot5 = ~bplaceo4; ~rdo5 = ~si5.value;});
4624                 if(~si5.value == "f4", {~rslot5 = ~bplacef4; ~rdo5 = ~si5.value;});
4625                 if(~si5.value == "s4", {~rslot5 = ~bplaces4; ~rdo5 = ~si5.value;});
4626                 if(~si5.value == "o5", {~rslot5 = ~bplaceo5; ~rdo5 = ~si5.value;});
4627                 if(~si5.value == "f5", {~rslot5 = ~bplacef5; ~rdo5 = ~si5.value;});
4628                 if(~si5.value == "s5", {~rslot5 = ~bplaces5; ~rdo5 = ~si5.value;});
4629                 if(~si5.value == "o6", {~rslot5 = ~bplaceo6; ~rdo5 = ~si5.value;});
4630                 if(~si5.value == "f6", {~rslot5 = ~bplacef6; ~rdo5 = ~si5.value;});
4631                 if(~si5.value == "s6", {~rslot5 = ~bplaces6; ~rdo5 = ~si5.value;});
4632                 if(~si5.value == "o7", {~rslot5 = ~bplaceo7; ~rdo5 = ~si5.value;});
4633                 if(~si5.value == "f7", {~rslot5 = ~bplacef7; ~rdo5 = ~si5.value;});
4634                 if(~si5.value == "s7", {~rslot5 = ~bplaces7; ~rdo5 = ~si5.value;});
4635                 if(~si5.value == "o8", {~rslot5 = ~bplaceo8; ~rdo5 = ~si5.value;});
4636                 if(~si5.value == "f8", {~rslot5 = ~bplacef8; ~rdo5 = ~si5.value;});
4637                 if(~si5.value == "s8", {~rslot5 = ~bplaces8; ~rdo5 = ~si5.value;});
4638         };
4639         ~si6set = {
4640                 if(~si6.value == "o1", {~rslot6 = ~bplaceo1; ~rdo6 = ~si6.value;});
4641                 if(~si6.value == "f1", {~rslot6 = ~bplacef1; ~rdo6 = ~si6.value;});
4642                 if(~si6.value == "s1", {~rslot6 = ~bplaces1; ~rdo6 = ~si6.value;});
4643                 if(~si6.value == "o2", {~rslot6 = ~bplaceo2; ~rdo6 = ~si6.value;});
4644                 if(~si6.value == "f2", {~rslot6 = ~bplacef2; ~rdo6 = ~si6.value;});
4645                 if(~si6.value == "s2", {~rslot6 = ~bplaces2; ~rdo6 = ~si6.value;});
4646                 if(~si6.value == "o3", {~rslot6 = ~bplaceo3; ~rdo6 = ~si6.value;});
4647                 if(~si6.value == "f3", {~rslot6 = ~bplacef3; ~rdo6 = ~si6.value;});
4648                 if(~si6.value == "s3", {~rslot6 = ~bplaces3; ~rdo6 = ~si6.value;});
4649                 if(~si6.value == "o4", {~rslot6 = ~bplaceo4; ~rdo6 = ~si6.value;});
4650                 if(~si6.value == "f4", {~rslot6 = ~bplacef4; ~rdo6 = ~si6.value;});
4651                 if(~si6.value == "s4", {~rslot6 = ~bplaces4; ~rdo6 = ~si6.value;});
4652                 if(~si6.value == "o5", {~rslot6 = ~bplaceo5; ~rdo6 = ~si6.value;});
4653                 if(~si6.value == "f5", {~rslot6 = ~bplacef5; ~rdo6 = ~si6.value;});
4654                 if(~si6.value == "s5", {~rslot6 = ~bplaces5; ~rdo6 = ~si6.value;});
4655                 if(~si6.value == "o6", {~rslot6 = ~bplaceo6; ~rdo6 = ~si6.value;});
4656                 if(~si6.value == "f6", {~rslot6 = ~bplacef6; ~rdo6 = ~si6.value;});
4657                 if(~si6.value == "s6", {~rslot6 = ~bplaces6; ~rdo6 = ~si6.value;});
4658                 if(~si6.value == "o7", {~rslot6 = ~bplaceo7; ~rdo6 = ~si6.value;});
4659                 if(~si6.value == "f7", {~rslot6 = ~bplacef7; ~rdo6 = ~si6.value;});
4660                 if(~si6.value == "s7", {~rslot6 = ~bplaces7; ~rdo6 = ~si6.value;});
4661                 if(~si6.value == "o8", {~rslot6 = ~bplaceo8; ~rdo6 = ~si6.value;});
4662                 if(~si6.value == "f8", {~rslot6 = ~bplacef8; ~rdo6 = ~si6.value;});
4663                 if(~si6.value == "s8", {~rslot6 = ~bplaces8; ~rdo6 = ~si6.value;});
4664         };
4665         ~si7set = {
4666                 if(~si7.value == "o1", {~rslot7 = ~bplaceo1; ~rdo7 = ~si7.value;});
4667                 if(~si7.value == "f1", {~rslot7 = ~bplacef1; ~rdo7 = ~si7.value;});
4668                 if(~si7.value == "s1", {~rslot7 = ~bplaces1; ~rdo7 = ~si7.value;});
4669                 if(~si7.value == "o2", {~rslot7 = ~bplaceo2; ~rdo7 = ~si7.value;});
4670                 if(~si7.value == "f2", {~rslot7 = ~bplacef2; ~rdo7 = ~si7.value;});
4671                 if(~si7.value == "s2", {~rslot7 = ~bplaces2; ~rdo7 = ~si7.value;});
4672                 if(~si7.value == "o3", {~rslot7 = ~bplaceo3; ~rdo7 = ~si7.value;});
4673                 if(~si7.value == "f3", {~rslot7 = ~bplacef3; ~rdo7 = ~si7.value;});
4674                 if(~si7.value == "s3", {~rslot7 = ~bplaces3; ~rdo7 = ~si7.value;});
4675                 if(~si7.value == "o4", {~rslot7 = ~bplaceo4; ~rdo7 = ~si7.value;});
4676                 if(~si7.value == "f4", {~rslot7 = ~bplacef4; ~rdo7 = ~si7.value;});
4677                 if(~si7.value == "s4", {~rslot7 = ~bplaces4; ~rdo7 = ~si7.value;});
4678                 if(~si7.value == "o5", {~rslot7 = ~bplaceo5; ~rdo7 = ~si7.value;});
4679                 if(~si7.value == "f5", {~rslot7 = ~bplacef5; ~rdo7 = ~si7.value;});
4680                 if(~si7.value == "s5", {~rslot7 = ~bplaces5; ~rdo7 = ~si7.value;});
4681                 if(~si7.value == "o6", {~rslot7 = ~bplaceo6; ~rdo7 = ~si7.value;});
4682                 if(~si7.value == "f6", {~rslot7 = ~bplacef6; ~rdo7 = ~si7.value;});
4683                 if(~si7.value == "s6", {~rslot7 = ~bplaces6; ~rdo7 = ~si7.value;});
4684                 if(~si7.value == "o7", {~rslot7 = ~bplaceo7; ~rdo7 = ~si7.value;});
4685                 if(~si7.value == "f7", {~rslot7 = ~bplacef7; ~rdo7 = ~si7.value;});
4686                 if(~si7.value == "s7", {~rslot7 = ~bplaces7; ~rdo7 = ~si7.value;});
4687                 if(~si7.value == "o8", {~rslot7 = ~bplaceo8; ~rdo7 = ~si7.value;});
4688                 if(~si7.value == "f8", {~rslot7 = ~bplacef8; ~rdo7 = ~si7.value;});
4689                 if(~si7.value == "s8", {~rslot7 = ~bplaces8; ~rdo7 = ~si7.value;});
4690         };
4691         ~si8set = {
4692                 if(~si8.value == "o1", {~rslot8 = ~bplaceo1; ~rdo8 = ~si8.value;});
4693                 if(~si8.value == "f1", {~rslot8 = ~bplacef1; ~rdo8 = ~si8.value;});
4694                 if(~si8.value == "s1", {~rslot8 = ~bplaces1; ~rdo8 = ~si8.value;});
4695                 if(~si8.value == "o2", {~rslot8 = ~bplaceo2; ~rdo8 = ~si8.value;});
4696                 if(~si8.value == "f2", {~rslot8 = ~bplacef2; ~rdo8 = ~si8.value;});
4697                 if(~si8.value == "s2", {~rslot8 = ~bplaces2; ~rdo8 = ~si8.value;});
4698                 if(~si8.value == "o3", {~rslot8 = ~bplaceo3; ~rdo8 = ~si8.value;});
4699                 if(~si8.value == "f3", {~rslot8 = ~bplacef3; ~rdo8 = ~si8.value;});
4700                 if(~si8.value == "s3", {~rslot8 = ~bplaces3; ~rdo8 = ~si8.value;});
4701                 if(~si8.value == "o4", {~rslot8 = ~bplaceo4; ~rdo8 = ~si8.value;});
4702                 if(~si8.value == "f4", {~rslot8 = ~bplacef4; ~rdo8 = ~si8.value;});
4703                 if(~si8.value == "s4", {~rslot8 = ~bplaces4; ~rdo8 = ~si8.value;});
4704                 if(~si8.value == "o5", {~rslot8 = ~bplaceo5; ~rdo8 = ~si8.value;});
4705                 if(~si8.value == "f5", {~rslot8 = ~bplacef5; ~rdo8 = ~si8.value;});
4706                 if(~si8.value == "s5", {~rslot8 = ~bplaces5; ~rdo8 = ~si8.value;});
4707                 if(~si8.value == "o6", {~rslot8 = ~bplaceo6; ~rdo8 = ~si8.value;});
4708                 if(~si8.value == "f6", {~rslot8 = ~bplacef6; ~rdo8 = ~si8.value;});
4709                 if(~si8.value == "s6", {~rslot8 = ~bplaces6; ~rdo8 = ~si8.value;});
4710                 if(~si8.value == "o7", {~rslot8 = ~bplaceo7; ~rdo8 = ~si8.value;});
4711                 if(~si8.value == "f7", {~rslot8 = ~bplacef7; ~rdo8 = ~si8.value;});
4712                 if(~si8.value == "s7", {~rslot8 = ~bplaces7; ~rdo8 = ~si8.value;});
4713                 if(~si8.value == "o8", {~rslot8 = ~bplaceo8; ~rdo8 = ~si8.value;});
4714                 if(~si8.value == "f8", {~rslot8 = ~bplacef8; ~rdo8 = ~si8.value;});
4715                 if(~si8.value == "s8", {~rslot8 = ~bplaces8; ~rdo8 = ~si8.value;});
4716         };
4717
4718
4719         //routine function button
4720
4721         ~rviewbutton = Button.new(w,Rect(Window.screenBounds.width-20-20,~bpt+69+5-(20/~gm),20,20/1.6180339887499)).states_([["r",Color.white,Color.black],["r",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
4722
4723                 if(button.value == 1, {
4724                         ({
4725                                 arg leftdo = 0 , leftdobox = 52, lefttime = leftdobox+widthbox+6, lefttimebox = lefttime+57, top = 0,width=52, height = 16,  widthbox=52, heightbox = 16, inc=0, lw = 0,  uw = 0, numw = 40;
4726                                 var tall, stall, iall, siall, st1, st2, st3, st4, st5, st6, st7, st8,  t1,t2,t3,t4,t5,t6,t7,t8,i1,i2,i3,i4,i5,i6,i7,i8;
4727                                 ~rview = View(w, Rect(Window.screenBounds.width-(340+46),Window.screenBounds.height-(340+46/1.6180339887499)-110,340+46,340+46/1.6180339887499)).front;
4728                                 /*w.view.decorator=FlowLayout(w.view.bounds);
4729                                 w.view.decorator.gap=2@2;*/
4730
4731                                 top = 0;
4732
4733                                 i1 = StaticText(~rview, Rect(leftdo , top=top, width, height)).background_(Color.black).string_("rslot1").stringColor_(Color.white);
4734                                 i2 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot2").stringColor_(Color.white);
4735                                 i3 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot3").stringColor_(Color.white);
4736                                 i4 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot4").stringColor_(Color.white);
4737                                 i5 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot5").stringColor_(Color.white);
4738                                 i6 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot6").stringColor_(Color.white);
4739                                 i7 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot7").stringColor_(Color.white);
4740                                 i8 = StaticText(~rview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("rslot8").stringColor_(Color.white);
4741
4742                                 top = 0;
4743
4744                                 ~si1a=TextField(~rview, Rect(leftdobox , top=top, widthbox/2, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo1a);
4745                                 ~si1b=TextField(~rview, Rect(leftdobox+(widthbox/2) , top=top, widthbox/2, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo1b);
4746                                 ~si2=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo2);
4747                                 ~si3=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo3);
4748                                 ~si4=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo4);
4749                                 ~si5=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo5);
4750                                 ~si6=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo6);
4751                                 ~si7=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo7);
4752                                 ~si8=TextField(~rview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).stringColor_(Color.white).value_(~rdo8);
4753
4754                                 top = 0;
4755
4756                                 t1 = StaticText(~rview, Rect(lefttime , top=top, width, height)).background_(Color.black).string_("rtime1").stringColor_(Color.white);
4757                                 t2 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime2").stringColor_(Color.white);
4758                                 t3 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime3").stringColor_(Color.white);
4759                                 t4 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime4").stringColor_(Color.white);
4760                                 t5 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime5").stringColor_(Color.white);
4761                                 t6 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime6").stringColor_(Color.white);
4762                                 t7 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime7").stringColor_(Color.white);
4763                                 t8 = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("rtime8").stringColor_(Color.white);
4764                                 tall = StaticText(~rview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("all time").stringColor_(Color.white);
4765
4766
4767                                 top = 0;
4768
4769                                 st1=NumberBox(~rview, Rect(lefttimebox , top=top, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime1);
4770                                 st2=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime2);
4771                                 st3=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime3);
4772                                 st4=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime4);
4773                                 st5=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime5);
4774                                 st6=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime6);
4775                                 st7=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime7);
4776                                 st8=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtime8);
4777                                 stall=NumberBox(~rview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~rtimeall);
4778
4779
4780                                 ~si1a.action_({~si1aset.value});
4781                                 ~si1b.action_({~si1bset.value});
4782                                 ~si2.action_({~si2set.value});
4783                                 ~si3.action_({~si3set.value});
4784                                 ~si4.action_({~si4set.value});
4785                                 ~si5.action_({~si5set.value});
4786                                 ~si6.action_({~si6set.value});
4787                                 ~si7.action_({~si7set.value});
4788                                 ~si8.action_({~si8set.value});
4789
4790                                 stall.action_({arg val;
4791                                         ~rtimeall = val.value;
4792                                         ~rtime1 = val.value;
4793                                         ~rtime2 = val.value;
4794                                         ~rtime3 = val.value;
4795                                         ~rtime4 = val.value;
4796                                         ~rtime5 = val.value;
4797                                         ~rtime6 = val.value;
4798                                         ~rtime7 = val.value;
4799                                         ~rtime8 = val.value;
4800                                         ~rview.close; ~rviewbutton.valueAction_(1);
4801                                 });
4802                                 st1.action_({arg val; ~rtime1 = val.value;});
4803                                 st2.action_({arg val; ~rtime2 = val.value;});
4804                                 st3.action_({arg val; ~rtime3 = val.value;});
4805                                 st4.action_({arg val; ~rtime4 = val.value;});
4806                                 st5.action_({arg val; ~rtime5 = val.value;});
4807                                 st6.action_({arg val; ~rtime6 = val.value;});
4808                                 st7.action_({arg val; ~rtime7 = val.value;});
4809                                 st8.action_({arg val; ~rtime8 = val.value;});
4810
4811                                 ~rview.background_(Color.black);
4812
4813                                 ~metronomeincr = 1;
4814
4815                                 ~routinebutton = Button.new(~rview,Rect(0, top+40, 40, 40/~gm)).states_([["loop",Color.white,Color.black],["stop",Color.white,Color.black]]).action_({arg button;
4816
4817                                         if(button.value == 1, {
4818
4819                                                 ~metronome = Task({
4820                                                         inf.do({
4821                                                                 AppClock.sched(0, {~metronomebutton.value = 1;});
4822                                                                 ~metronomeincr.wait;
4823                                                                 AppClock.sched(0, {~metronomebutton.value = 0;});
4824                                                                 ~metronomeincr.wait;
4825                                                         });
4826                                                 });
4827
4828                                                 ~loop = Task({
4829                                                         1.do({
4830                                                                 {~rslot1a.valueAction_(0)}.defer;
4831                                                                 ~rtime1.wait;
4832                                                                 {~rslot2.valueAction_(0)}.defer;
4833                                                                 ~rtime2.wait;
4834                                                                 {~rslot3.valueAction_(0)}.defer;
4835                                                                 ~rtime3.wait;
4836                                                                 {~rslot4.valueAction_(0)}.defer;
4837                                                                 ~rtime4.wait;
4838                                                                 {~rslot5.valueAction_(0)}.defer;
4839                                                                 ~rtime5.wait;
4840                                                                 {~rslot6.valueAction_(0)}.defer;
4841                                                                 ~rtime6.wait;
4842                                                                 {~rslot7.valueAction_(0)}.defer;
4843                                                                 ~rtime7.wait;
4844                                                                 {~rslot8.valueAction_(0)}.defer;
4845                                                                 ~rtime8.wait;
4846                                                         });
4847                                                         inf.do({
4848                                                                 {~rslot1b.valueAction_(0)}.defer;
4849                                                                 ~rtime1.wait;
4850                                                                 {~rslot2.valueAction_(0)}.defer;
4851                                                                 ~rtime2.wait;
4852                                                                 {~rslot3.valueAction_(0)}.defer;
4853                                                                 ~rtime3.wait;
4854                                                                 {~rslot4.valueAction_(0)}.defer;
4855                                                                 ~rtime4.wait;
4856                                                                 {~rslot5.valueAction_(0)}.defer;
4857                                                                 ~rtime5.wait;
4858                                                                 {~rslot6.valueAction_(0)}.defer;
4859                                                                 ~rtime6.wait;
4860                                                                 {~rslot7.valueAction_(0)}.defer;
4861                                                                 ~rtime7.wait;
4862                                                                 {~rslot8.valueAction_(0)}.defer;
4863                                                                 ~rtime8.wait;
4864                                                         });
4865                                                 }); SystemClock(~metronome.start); SystemClock(~loop.start); ~numsynths.stop;}, {
4866
4867                                                         SystemClock(~metronome.stop); SystemClock(~loop.stop); SystemClock(~loop.reset); ~synthfree.value; ~pauseroutinebutton.value = 0; ~numsynths.stop; ~numsynthsfunc.value;});
4868                                 });
4869
4870                                 ~pauseroutinebutton = Button.new(~rview,Rect(50, top+40, 40, 40/~gm)).states_([["pause",Color.white,Color.black],["loop",Color.white,Color.black]]).action_({arg button;
4871
4872                                         if(button.value == 1, {SystemClock(~loop.pause); ~synthpause.value;}, {SystemClock(~loop.resume); ~synthflow.value;});
4873                                 });
4874
4875                                 ~closeroutinebutton = Button.new(~rview,Rect(220, top+40, 40, 40/~gm)).states_([["close",Color.white,Color.black]]).action_({arg button;
4876
4877                                         ~rview.close; ~rviewbutton.value = 0;
4878                                 });
4879
4880                                 ~metronomebutton = Button.new(~rview,Rect(120, top+40, 40, 40/~gm)).states_([["",Color.white,Color.red],["",Color.white,Color.blue]]).action_({arg button;});
4881
4882                         }.value);
4883
4884                         if(~loop.isPlaying == true, {~routinebutton.value = 1;});
4885                         ~rview.front;
4886                 }, {~rview.close});
4887         });
4888
4889
4890         //synth identifier function
4891
4892         ~synthmonitor = StaticText(w, Rect(Window.screenBounds.width-14,~bpt+49,18,18/1.6180339887499)).background_(Color.black).stringColor_(Color.white);
4893         ~synthmonitor.string = if(~currentsynth == nil, {"nil".asString});
4894
4895         ~synthmonitorfunc = {
4896                 ~synthmonitor.close;
4897                 ~synthmonitor = StaticText(w, Rect(Window.screenBounds.width-14,~bpt+49,18,18/1.6180339887499)).background_(Color.black).stringColor_(Color.white);
4898                 ~synthmonitor.string = ~currentsynth.asString;
4899                 ~synthmonitor.font = Font(size: 10);
4900         };
4901
4902         ~synthmonitorfunc.value;
4903
4904
4905         //information button
4906
4907         info = Button.new(w,Rect(Window.screenBounds.width-20-20,~bpt+69+5,20,20/1.6180339887499)).states_([["i",Color.white,Color.black],["i",Color.white,Color.black]]).action_({arg button;
4908
4909                 if(button.value == 1, {
4910                         ~hb = TextView(w, Rect(0,0, Window.screenBounds.width, Window.screenBounds.height-200)).background_(Color.black);
4911                         (~hb.string =
4912                                 "(scroll down to see more)"++"\n"++"\n"++"\n"++
4913                                 "ctrl/cmd-period: stop synth/free server"++"\n"++"\n"++"\n"++
4914                                 "GUI Buttons"++"\n"++"\n"++"\n"++
4915                                 "synth0/synth1: start/stop synth set"++"\n"++"\n"++
4916                                 "pause0/pause1: pause/unpause synth set"++"\n"++"\n"++
4917                                 "tsynth0/tsynth1: tsynth0 to allow timed synth set, then click on any o or f button to time a progression. click on the st button in the bottom right to stop the timer. tsynth1 to dis-allow timed synth set"++"\n"++"\n"++
4918                                 "copy: copy frequency/note info"++"\n"++"\n"++
4919                                 "kws/inst: change number of kw(King Wen) sequences per time wave instance. press set to load"++"\n"++"\n"++
4920                                 "steps/kws: change number of interval steps which occur in each kw sequence. press set to load"++"\n"++"\n"++
4921                                 "hz frequency: set the base frequency. press set to load"++"\n"++"\n"++
4922                                 "s1-s8: set/save note positions"++"\n"++"\n"++
4923                                 "uc-u8: undo changes to set note positions. press set to load"++"\n"++"\n"++
4924                                 "o1-o8: play set/saved note positions by opening a new synth set"++"\n"++"\n"++
4925                                 "f1-f8: flow transition to set/saved note positions"++"\n"++"\n"++
4926                                 "s1-s8: slide transition to set/saved note positions"++"\n"++"\n"++
4927                                 "g1-g8: groups of saved note positions"++"\n"++"\n"++
4928                                 "uc1-uc8: revert to former saved note positions"++"\n"++"\n"++
4929                                 "rc: start recording"++"\n"++"\n"++
4930                                 "prc: pause recording"++"\n"++"\n"++
4931                                 "/rc: stop recording"++"\n"++"\n"++
4932                                 "m/u: mute/unmute all"++"\n"++"\n"++
4933                                 "1-12: mute or unmute individual synth"++"\n"++"\n"++
4934                                 "rw: random western scale"++"\n"++"\n"++
4935                                 "re: random eastern scale"++"\n"++"\n"++
4936                                 "r: routine/loop function - rslot for synth set, rtime for time between transitions"++"\n"++"\n"++
4937                                 "st: stop synth timer/show timer results"++"\n"++"\n"++
4938                                 "s: set slide time/increment"++"\n"++"\n"++
4939                                 "i: help"++"\n"++"\n"++
4940                                 "m: minimize window"++"\n"++"\n"++
4941                                 "c: close window"++"\n"++"\n"++"\n"++
4942                                 "Keyboard Functions (functionality will vary with device)"++"\n"++"\n"++"\n"++
4943                                 "s: start/stop synth set"++"\n"++"\n"++
4944                                 "space bar: pause/unpause synth set"++"\n"++"\n"++
4945                                 "ctrl-period/cmd-period: stop synth/free server"++"\n"++"\n"++
4946                                 "left/right arrow(or J and L): move down/up note"++"\n"++"\n"++
4947                                 "up/down arrow(or I and K): change synth for left/right arrow note function"++"\n"++"\n"++
4948                                 "#1-= on keyboard: choose synth for left/right arrow note function"++"\n"++"\n"++
4949                                 "r: routine/loop function - rslot for synth set, rtime for time between transitions"++"\n"++"\n"++
4950                                 "m: mute/unmute all"++"\n"++"\n"++
4951                                 "c: copy function"++"\n"++"\n"++
4952                                 "t: timed synth function"++"\n"++"\n"++
4953                                 "esc: minimize window"
4954                                 ;
4955                         );
4956                         ~hb.stringColor = Color.white;
4957                         },
4958                         {~hb.close;});
4959         });
4960
4961
4962         //random notes button 1
4963
4964         ~randombutton1 = Button.new(w,Rect(Window.screenBounds.width-20-20-20-20,~bpt+69+5-(20/~gm),20,20/1.6180339887499)).states_([["rw",Color.white,Color.black]]).action_({arg button;
4965
4966                 if((~l1a.isRunning == true) or: (~l1a1.isRunning == true), {
4967                         12.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut(~freqmap.at(rrand(36, 91));)});
4968                         ~synthflow.value;
4969                 });
4970         });
4971
4972
4973         //random notes button 2
4974
4975         ~randombutton2 = Button.new(w,Rect(Window.screenBounds.width-20-20-20,~bpt+69+5-(20/~gm),20,20/1.6180339887499)).states_([["re",Color.white,Color.black]]).action_({arg button;
4976
4977                 if((~l1a.isRunning == true) or: (~l1a1.isRunning == true), {
4978                         12.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut((~freqmap.at(127)/8).rand;)});
4979                         ~synthflow.value;
4980                 });
4981         });
4982
4983
4984         //setgroup buttons, sg1-sg8
4985
4986         ~setgroup1 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(20*4),~bpt+69+5,20,20/1.6180339887499)).states_([["g1",Color.white,Color.black],["s1",Color.green,Color.black]]).action_({arg button;
4987
4988                 if(button.value == 1, {
4989                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg1a1,~sg1a2,~sg1a3,~sg1a4,~sg1a5,~sg1a6,~sg1a7,~sg1a8,~sg1a9,~sg1a10,~sg1a11,~sg1a12];
4990                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg1b1,~sg1b2,~sg1b3,~sg1b4,~sg1b5,~sg1b6,~sg1b7,~sg1b8,~sg1b9,~sg1b10,~sg1b11,~sg1b12];
4991                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg1c1,~sg1c2,~sg1c3,~sg1c4,~sg1c5,~sg1c6,~sg1c7,~sg1c8,~sg1c9,~sg1c10,~sg1c11,~sg1c12];
4992                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg1d1,~sg1d2,~sg1d3,~sg1d4,~sg1d5,~sg1d6,~sg1d7,~sg1d8,~sg1d9,~sg1d10,~sg1d11,~sg1d12];
4993                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg1e1,~sg1e2,~sg1e3,~sg1e4,~sg1e5,~sg1e6,~sg1e7,~sg1e8,~sg1e9,~sg1e10,~sg1e11,~sg1e12];
4994                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg1f1,~sg1f2,~sg1f3,~sg1f4,~sg1f5,~sg1f6,~sg1f7,~sg1f8,~sg1f9,~sg1f10,~sg1f11,~sg1f12];
4995                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg1g1,~sg1g2,~sg1g3,~sg1g4,~sg1g5,~sg1g6,~sg1g7,~sg1g8,~sg1g9,~sg1g10,~sg1g11,~sg1g12];
4996                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg1h1,~sg1h2,~sg1h3,~sg1h4,~sg1h5,~sg1h6,~sg1h7,~sg1h8,~sg1h9,~sg1h10,~sg1h11,~sg1h12];
4997
4998                         ~setgroup2.value = 0;
4999                         ~setgroup3.value = 0;
5000                         ~setgroup4.value = 0;
5001                         ~setgroup5.value = 0;
5002                         ~setgroup6.value = 0;
5003                         ~setgroup7.value = 0;
5004                         ~setgroup8.value = 0;
5005
5006                         ~setgroupval = 1;
5007                 });
5008         });
5009         ~setgroup2 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(20*3),~bpt+69+5,20,20/1.6180339887499)).states_([["g2",Color.white,Color.black],["s2",Color.green,Color.black]]).action_({arg button;
5010
5011                 if(button.value == 1, {
5012                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg2a1,~sg2a2,~sg2a3,~sg2a4,~sg2a5,~sg2a6,~sg2a7,~sg2a8,~sg2a9,~sg2a10,~sg2a11,~sg2a12];
5013                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg2b1,~sg2b2,~sg2b3,~sg2b4,~sg2b5,~sg2b6,~sg2b7,~sg2b8,~sg2b9,~sg2b10,~sg2b11,~sg2b12];
5014                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg2c1,~sg2c2,~sg2c3,~sg2c4,~sg2c5,~sg2c6,~sg2c7,~sg2c8,~sg2c9,~sg2c10,~sg2c11,~sg2c12];
5015                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg2d1,~sg2d2,~sg2d3,~sg2d4,~sg2d5,~sg2d6,~sg2d7,~sg2d8,~sg2d9,~sg2d10,~sg2d11,~sg2d12];
5016                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg2e1,~sg2e2,~sg2e3,~sg2e4,~sg2e5,~sg2e6,~sg2e7,~sg2e8,~sg2e9,~sg2e10,~sg2e11,~sg2e12];
5017                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg2f1,~sg2f2,~sg2f3,~sg2f4,~sg2f5,~sg2f6,~sg2f7,~sg2f8,~sg2f9,~sg2f10,~sg2f11,~sg2f12];
5018                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg2g1,~sg2g2,~sg2g3,~sg2g4,~sg2g5,~sg2g6,~sg2g7,~sg2g8,~sg2g9,~sg2g10,~sg2g11,~sg2g12];
5019                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg2h1,~sg2h2,~sg2h3,~sg2h4,~sg2h5,~sg2h6,~sg2h7,~sg2h8,~sg2h9,~sg2h10,~sg2h11,~sg2h12];
5020
5021                         ~setgroup1.value = 0;
5022                         ~setgroup3.value = 0;
5023                         ~setgroup4.value = 0;
5024                         ~setgroup5.value = 0;
5025                         ~setgroup6.value = 0;
5026                         ~setgroup7.value = 0;
5027                         ~setgroup8.value = 0;
5028
5029                         ~setgroupval = 2;
5030                 });
5031         });
5032         ~setgroup3 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(20*2),~bpt+69+5,20,20/1.6180339887499)).states_([["g3",Color.white,Color.black],["s3",Color.green,Color.black]]).action_({arg button;
5033
5034                 if(button.value == 1, {
5035                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg3a1,~sg3a2,~sg3a3,~sg3a4,~sg3a5,~sg3a6,~sg3a7,~sg3a8,~sg3a9,~sg3a10,~sg3a11,~sg3a12];
5036                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg3b1,~sg3b2,~sg3b3,~sg3b4,~sg3b5,~sg3b6,~sg3b7,~sg3b8,~sg3b9,~sg3b10,~sg3b11,~sg3b12];
5037                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg3c1,~sg3c2,~sg3c3,~sg3c4,~sg3c5,~sg3c6,~sg3c7,~sg3c8,~sg3c9,~sg3c10,~sg3c11,~sg3c12];
5038                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg3d1,~sg3d2,~sg3d3,~sg3d4,~sg3d5,~sg3d6,~sg3d7,~sg3d8,~sg3d9,~sg3d10,~sg3d11,~sg3d12];
5039                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg3e1,~sg3e2,~sg3e3,~sg3e4,~sg3e5,~sg3e6,~sg3e7,~sg3e8,~sg3e9,~sg3e10,~sg3e11,~sg3e12];
5040                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg3f1,~sg3f2,~sg3f3,~sg3f4,~sg3f5,~sg3f6,~sg3f7,~sg3f8,~sg3f9,~sg3f10,~sg3f11,~sg3f12];
5041                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg3g1,~sg3g2,~sg3g3,~sg3g4,~sg3g5,~sg3g6,~sg3g7,~sg3g8,~sg3g9,~sg3g10,~sg3g11,~sg3g12];
5042                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg3h1,~sg3h2,~sg3h3,~sg3h4,~sg3h5,~sg3h6,~sg3h7,~sg3h8,~sg3h9,~sg3h10,~sg3h11,~sg3h12];
5043
5044                         ~setgroup1.value = 0;
5045                         ~setgroup2.value = 0;
5046                         ~setgroup4.value = 0;
5047                         ~setgroup5.value = 0;
5048                         ~setgroup6.value = 0;
5049                         ~setgroup7.value = 0;
5050                         ~setgroup8.value = 0;
5051
5052                         ~setgroupval = 3;
5053                 });
5054         });
5055         ~setgroup4 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(20*1),~bpt+69+5,20,20/1.6180339887499)).states_([["g4",Color.white,Color.black],["s4",Color.green,Color.black]]).action_({arg button;
5056
5057                 if(button.value == 1, {
5058                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg4a1,~sg4a2,~sg4a3,~sg4a4,~sg4a5,~sg4a6,~sg4a7,~sg4a8,~sg4a9,~sg4a10,~sg4a11,~sg4a12];
5059                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg4b1,~sg4b2,~sg4b3,~sg4b4,~sg4b5,~sg4b6,~sg4b7,~sg4b8,~sg4b9,~sg4b10,~sg4b11,~sg4b12];
5060                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg4c1,~sg4c2,~sg4c3,~sg4c4,~sg4c5,~sg4c6,~sg4c7,~sg4c8,~sg4c9,~sg4c10,~sg4c11,~sg4c12];
5061                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg4d1,~sg4d2,~sg4d3,~sg4d4,~sg4d5,~sg4d6,~sg4d7,~sg4d8,~sg4d9,~sg4d10,~sg4d11,~sg4d12];
5062                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg4e1,~sg4e2,~sg4e3,~sg4e4,~sg4e5,~sg4e6,~sg4e7,~sg4e8,~sg4e9,~sg4e10,~sg4e11,~sg4e12];
5063                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg4f1,~sg4f2,~sg4f3,~sg4f4,~sg4f5,~sg4f6,~sg4f7,~sg4f8,~sg4f9,~sg4f10,~sg4f11,~sg4f12];
5064                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg4g1,~sg4g2,~sg4g3,~sg4g4,~sg4g5,~sg4g6,~sg4g7,~sg4g8,~sg4g9,~sg4g10,~sg4g11,~sg4g12];
5065                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg4h1,~sg4h2,~sg4h3,~sg4h4,~sg4h5,~sg4h6,~sg4h7,~sg4h8,~sg4h9,~sg4h10,~sg4h11,~sg4h12];
5066
5067                         ~setgroup1.value = 0;
5068                         ~setgroup2.value = 0;
5069                         ~setgroup3.value = 0;
5070                         ~setgroup5.value = 0;
5071                         ~setgroup6.value = 0;
5072                         ~setgroup7.value = 0;
5073                         ~setgroup8.value = 0;
5074
5075                         ~setgroupval = 4;
5076                 });
5077         });
5078         ~setgroup5 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(0*1),~bpt+69+5,20,20/1.6180339887499)).states_([["g5",Color.white,Color.black],["s5",Color.green,Color.black]]).action_({arg button;
5079
5080                 if(button.value == 1, {
5081                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg5a1,~sg5a2,~sg5a3,~sg5a4,~sg5a5,~sg5a6,~sg5a7,~sg5a8,~sg5a9,~sg5a10,~sg5a11,~sg5a12];
5082                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg5b1,~sg5b2,~sg5b3,~sg5b4,~sg5b5,~sg5b6,~sg5b7,~sg5b8,~sg5b9,~sg5b10,~sg5b11,~sg5b12];
5083                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg5c1,~sg5c2,~sg5c3,~sg5c4,~sg5c5,~sg5c6,~sg5c7,~sg5c8,~sg5c9,~sg5c10,~sg5c11,~sg5c12];
5084                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg5d1,~sg5d2,~sg5d3,~sg5d4,~sg5d5,~sg5d6,~sg5d7,~sg5d8,~sg5d9,~sg5d10,~sg5d11,~sg5d12];
5085                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg5e1,~sg5e2,~sg5e3,~sg5e4,~sg5e5,~sg5e6,~sg5e7,~sg5e8,~sg5e9,~sg5e10,~sg5e11,~sg5e12];
5086                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg5f1,~sg5f2,~sg5f3,~sg5f4,~sg5f5,~sg5f6,~sg5f7,~sg5f8,~sg5f9,~sg5f10,~sg5f11,~sg5f12];
5087                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg5g1,~sg5g2,~sg5g3,~sg5g4,~sg5g5,~sg5g6,~sg5g7,~sg5g8,~sg5g9,~sg5g10,~sg5g11,~sg5g12];
5088                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg5h1,~sg5h2,~sg5h3,~sg5h4,~sg5h5,~sg5h6,~sg5h7,~sg5h8,~sg5h9,~sg5h10,~sg5h11,~sg5h12];
5089
5090                         ~setgroup1.value = 0;
5091                         ~setgroup2.value = 0;
5092                         ~setgroup3.value = 0;
5093                         ~setgroup4.value = 0;
5094                         ~setgroup6.value = 0;
5095                         ~setgroup7.value = 0;
5096                         ~setgroup8.value = 0;
5097
5098                         ~setgroupval = 5;
5099                 });
5100         });
5101         ~setgroup6 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(20*1),~bpt+69+5,20,20/1.6180339887499)).states_([["g6",Color.white,Color.black],["s6",Color.green,Color.black]]).action_({arg button;
5102
5103                 if(button.value == 1, {
5104                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg6a1,~sg6a2,~sg6a3,~sg6a4,~sg6a5,~sg6a6,~sg6a7,~sg6a8,~sg6a9,~sg6a10,~sg6a11,~sg6a12];
5105                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg6b1,~sg6b2,~sg6b3,~sg6b4,~sg6b5,~sg6b6,~sg6b7,~sg6b8,~sg6b9,~sg6b10,~sg6b11,~sg6b12];
5106                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg6c1,~sg6c2,~sg6c3,~sg6c4,~sg6c5,~sg6c6,~sg6c7,~sg6c8,~sg6c9,~sg6c10,~sg6c11,~sg6c12];
5107                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg6d1,~sg6d2,~sg6d3,~sg6d4,~sg6d5,~sg6d6,~sg6d7,~sg6d8,~sg6d9,~sg6d10,~sg6d11,~sg6d12];
5108                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg6e1,~sg6e2,~sg6e3,~sg6e4,~sg6e5,~sg6e6,~sg6e7,~sg6e8,~sg6e9,~sg6e10,~sg6e11,~sg6e12];
5109                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg6f1,~sg6f2,~sg6f3,~sg6f4,~sg6f5,~sg6f6,~sg6f7,~sg6f8,~sg6f9,~sg6f10,~sg6f11,~sg6f12];
5110                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg6g1,~sg6g2,~sg6g3,~sg6g4,~sg6g5,~sg6g6,~sg6g7,~sg6g8,~sg6g9,~sg6g10,~sg6g11,~sg6g12];
5111                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg6h1,~sg6h2,~sg6h3,~sg6h4,~sg6h5,~sg6h6,~sg6h7,~sg6h8,~sg6h9,~sg6h10,~sg6h11,~sg6h12];
5112
5113                         ~setgroup1.value = 0;
5114                         ~setgroup2.value = 0;
5115                         ~setgroup3.value = 0;
5116                         ~setgroup4.value = 0;
5117                         ~setgroup5.value = 0;
5118                         ~setgroup7.value = 0;
5119                         ~setgroup8.value = 0;
5120
5121                         ~setgroupval = 6;
5122                 });
5123         });
5124         ~setgroup7 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(20*2),~bpt+69+5,20,20/1.6180339887499)).states_([["g7",Color.white,Color.black],["s7",Color.green,Color.black]]).action_({arg button;
5125
5126                 if(button.value == 1, {
5127                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg7a1,~sg7a2,~sg7a3,~sg7a4,~sg7a5,~sg7a6,~sg7a7,~sg7a8,~sg7a9,~sg7a10,~sg7a11,~sg7a12];
5128                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg7b1,~sg7b2,~sg7b3,~sg7b4,~sg7b5,~sg7b6,~sg7b7,~sg7b8,~sg7b9,~sg7b10,~sg7b11,~sg7b12];
5129                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg7c1,~sg7c2,~sg7c3,~sg7c4,~sg7c5,~sg7c6,~sg7c7,~sg7c8,~sg7c9,~sg7c10,~sg7c11,~sg7c12];
5130                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg7d1,~sg7d2,~sg7d3,~sg7d4,~sg7d5,~sg7d6,~sg7d7,~sg7d8,~sg7d9,~sg7d10,~sg7d11,~sg7d12];
5131                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg7e1,~sg7e2,~sg7e3,~sg7e4,~sg7e5,~sg7e6,~sg7e7,~sg7e8,~sg7e9,~sg7e10,~sg7e11,~sg7e12];
5132                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg7f1,~sg7f2,~sg7f3,~sg7f4,~sg7f5,~sg7f6,~sg7f7,~sg7f8,~sg7f9,~sg7f10,~sg7f11,~sg7f12];
5133                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg7g1,~sg7g2,~sg7g3,~sg7g4,~sg7g5,~sg7g6,~sg7g7,~sg7g8,~sg7g9,~sg7g10,~sg7g11,~sg7g12];
5134                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg7h1,~sg7h2,~sg7h3,~sg7h4,~sg7h5,~sg7h6,~sg7h7,~sg7h8,~sg7h9,~sg7h10,~sg7h11,~sg7h12];
5135
5136                         ~setgroup1.value = 0;
5137                         ~setgroup2.value = 0;
5138                         ~setgroup3.value = 0;
5139                         ~setgroup4.value = 0;
5140                         ~setgroup5.value = 0;
5141                         ~setgroup6.value = 0;
5142                         ~setgroup8.value = 0;
5143
5144                         ~setgroupval = 7;
5145                 });
5146         });
5147         ~setgroup8 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(20*3),~bpt+69+5,20,20/1.6180339887499)).states_([["g8",Color.white,Color.black],["s8",Color.green,Color.black]]).action_({arg button;
5148
5149                 if(button.value == 1, {
5150                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12=[~sg8a1,~sg8a2,~sg8a3,~sg8a4,~sg8a5,~sg8a6,~sg8a7,~sg8a8,~sg8a9,~sg8a10,~sg8a11,~sg8a12];
5151                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b=[~sg8b1,~sg8b2,~sg8b3,~sg8b4,~sg8b5,~sg8b6,~sg8b7,~sg8b8,~sg8b9,~sg8b10,~sg8b11,~sg8b12];
5152                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c=[~sg8c1,~sg8c2,~sg8c3,~sg8c4,~sg8c5,~sg8c6,~sg8c7,~sg8c8,~sg8c9,~sg8c10,~sg8c11,~sg8c12];
5153                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d=[~sg8d1,~sg8d2,~sg8d3,~sg8d4,~sg8d5,~sg8d6,~sg8d7,~sg8d8,~sg8d9,~sg8d10,~sg8d11,~sg8d12];
5154                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e=[~sg8e1,~sg8e2,~sg8e3,~sg8e4,~sg8e5,~sg8e6,~sg8e7,~sg8e8,~sg8e9,~sg8e10,~sg8e11,~sg8e12];
5155                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f=[~sg8f1,~sg8f2,~sg8f3,~sg8f4,~sg8f5,~sg8f6,~sg8f7,~sg8f8,~sg8f9,~sg8f10,~sg8f11,~sg8f12];
5156                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g=[~sg8g1,~sg8g2,~sg8g3,~sg8g4,~sg8g5,~sg8g6,~sg8g7,~sg8g8,~sg8g9,~sg8g10,~sg8g11,~sg8g12];
5157                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h=[~sg8h1,~sg8h2,~sg8h3,~sg8h4,~sg8h5,~sg8h6,~sg8h7,~sg8h8,~sg8h9,~sg8h10,~sg8h11,~sg8h12];
5158
5159                         ~setgroup1.value = 0;
5160                         ~setgroup2.value = 0;
5161                         ~setgroup3.value = 0;
5162                         ~setgroup4.value = 0;
5163                         ~setgroup5.value = 0;
5164                         ~setgroup6.value = 0;
5165                         ~setgroup7.value = 0;
5166
5167                         ~setgroupval = 8;
5168                 });
5169         });
5170
5171
5172         //if setgroup values are nil
5173
5174         if(~setgroupval == nil, {~setgroup1.value = 1;});
5175         if(~setgroupval == 1, {~setgroup1.value = 1;});
5176         if(~setgroupval == 2, {~setgroup2.value = 1;});
5177         if(~setgroupval == 3, {~setgroup3.value = 1;});
5178         if(~setgroupval == 4, {~setgroup4.value = 1;});
5179         if(~setgroupval == 5, {~setgroup5.value = 1;});
5180         if(~setgroupval == 6, {~setgroup6.value = 1;});
5181         if(~setgroupval == 7, {~setgroup7.value = 1;});
5182         if(~setgroupval == 8, {~setgroup8.value = 1;});
5183
5184
5185         //save chord notes buttons, s1-s8
5186
5187         n1 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(60*2),Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["s1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1=fp1;~r2=fp2;~r3=fp3;~r4=fp4;~r5=fp5;~r6=fp6;~r7=fp7;~r8=fp8;~r9=fp9;~r10=fp10;~r11=fp11;~r12=fp12; #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12/*,fp13,fp14,fp15,fp16,fp17,fp18,fp19,fp20,fp21,fp22,fp23,fp24*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1=~f1;~u2=~f2;~u3=~f3;~u4=~f4;~u5=~f5;~u6=~f6;~u7=~f7;~u8=~f8;~u9=~f9;~u10=~f10;~u11=~f11;~u12=~f12; ~si1aset.value;~si1bset.value;
5188
5189                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5190                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5191                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5192                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5193                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5194                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5195                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5196                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8a"++(x=x+1)).asSymbol.envirPut([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12].at(x-1))});});
5197
5198                 n1.states_([["s1",Color.green,Color.black]]);
5199                 n2.states_([["s2",Color.white,Color.black]]);
5200                 n3.states_([["s3",Color.white,Color.black]]);
5201                 n4.states_([["s4",Color.white,Color.black]]);
5202                 n5.states_([["s5",Color.white,Color.black]]);
5203                 n6.states_([["s6",Color.white,Color.black]]);
5204                 n7.states_([["s7",Color.white,Color.black]]);
5205                 n8.states_([["s8",Color.white,Color.black]]);
5206         });});
5207
5208         n2 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(60*1),Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["s2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1b=fp1b;~r2b=fp2b;~r3b=fp3b;~r4b=fp4b;~r5b=fp5b;~r6b=fp6b;~r7b=fp7b;~r8b=fp8b;~r9b=fp9b;~r10b=fp10b;~r11b=fp11b;~r12b=fp12b; #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b/*,fp13b,fp14b,fp15b,fp16b,fp17b,fp18b,fp19b,fp20b,fp21b,fp22b,fp23b,fp24b*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1b=~f1;~u2b=~f2;~u3b=~f3;~u4b=~f4;~u5b=~f5;~u6b=~f6;~u7b=~f7;~u8b=~f8;~u9b=~f9;~u10b=~f10;~u11b=~f11;~u12b=~f12; ~si2set.value;
5209
5210                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5211                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5212                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5213                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5214                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5215                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5216                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5217                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8b"++(x=x+1)).asSymbol.envirPut([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b].at(x-1))});});
5218
5219                 n1.states_([["s1",Color.white,Color.black]]);
5220                 n2.states_([["s2",Color.green,Color.black]]);
5221                 n3.states_([["s3",Color.white,Color.black]]);
5222                 n4.states_([["s4",Color.white,Color.black]]);
5223                 n5.states_([["s5",Color.white,Color.black]]);
5224                 n6.states_([["s6",Color.white,Color.black]]);
5225                 n7.states_([["s7",Color.white,Color.black]]);
5226                 n8.states_([["s8",Color.white,Color.black]]);
5227         });});
5228         n3 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(0),   Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["s3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1c=fp1c;~r2c=fp2c;~r3c=fp3c;~r4c=fp4c;~r5c=fp5c;~r6c=fp6c;~r7c=fp7c;~r8c=fp8c;~r9c=fp9c;~r10c=fp10c;~r11c=fp11c;~r12c=fp12c; #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c/*,fp13c,fp14c,fp15c,fp16c,fp17c,fp18c,fp19c,fp20c,fp21c,fp22c,fp23c,fp24c*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1c=~f1;~u2c=~f2;~u3c=~f3;~u4c=~f4;~u5c=~f5;~u6c=~f6;~u7c=~f7;~u8c=~f8;~u9c=~f9;~u10c=~f10;~u11c=~f11;~u12c=~f12; ~si3set.value;
5229
5230                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5231                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5232                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5233                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5234                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5235                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5236                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5237                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8c"++(x=x+1)).asSymbol.envirPut([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c].at(x-1))});});
5238
5239                 n1.states_([["s1",Color.white,Color.black]]);
5240                 n2.states_([["s2",Color.white,Color.black]]);
5241                 n3.states_([["s3",Color.green,Color.black]]);
5242                 n4.states_([["s4",Color.white,Color.black]]);
5243                 n5.states_([["s5",Color.white,Color.black]]);
5244                 n6.states_([["s6",Color.white,Color.black]]);
5245                 n7.states_([["s7",Color.white,Color.black]]);
5246                 n8.states_([["s8",Color.white,Color.black]]);
5247         });});
5248         n4 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(60*1),Window.screenBounds.height-88,60,60/1.6180339887499)).states_([["s4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1d=fp1d;~r2d=fp2d;~r3d=fp3d;~r4d=fp4d;~r5d=fp5d;~r6d=fp6d;~r7d=fp7d;~r8d=fp8d;~r9d=fp9d;~r10d=fp10d;~r11d=fp11d;~r12d=fp12d; #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d/*,fp13d,fp14d,fp15d,fp16d,fp17d,fp18d,fp19d,fp20d,fp21d,fp22d,fp23d,fp24d*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1d=~f1;~u2d=~f2;~u3d=~f3;~u4d=~f4;~u5d=~f5;~u6d=~f6;~u7d=~f7;~u8d=~f8;~u9d=~f9;~u10d=~f10;~u11d=~f11;~u12d=~f12; ~si4set.value;
5249
5250                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5251                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5252                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5253                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5254                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5255                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5256                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5257                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8d"++(x=x+1)).asSymbol.envirPut([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d].at(x-1))});});
5258
5259                 n1.states_([["s1",Color.white,Color.black]]);
5260                 n2.states_([["s2",Color.white,Color.black]]);
5261                 n3.states_([["s3",Color.white,Color.black]]);
5262                 n4.states_([["s4",Color.green,Color.black]]);
5263                 n5.states_([["s5",Color.white,Color.black]]);
5264                 n6.states_([["s6",Color.white,Color.black]]);
5265                 n7.states_([["s7",Color.white,Color.black]]);
5266                 n8.states_([["s8",Color.white,Color.black]]);
5267         });});
5268         n5 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(60*2),Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["s5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1e=fp1e;~r2e=fp2e;~r3e=fp3e;~r4e=fp4e;~r5e=fp5e;~r6e=fp6e;~r7e=fp7e;~r8e=fp8e;~r9e=fp9e;~r10e=fp10e;~r11e=fp11e;~r12e=fp12e; #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e/*,fp13e,fp14e,fp15e,fp16e,fp17e,fp18e,fp19e,fp20e,fp21e,fp22e,fp23e,fp24e*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1e=~f1;~u2e=~f2;~u3e=~f3;~u4e=~f4;~u5e=~f5;~u6e=~f6;~u7e=~f7;~u8e=~f8;~u9e=~f9;~u10e=~f10;~u11e=~f11;~u12e=~f12; ~si5set.value;
5269
5270                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5271                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5272                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5273                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5274                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5275                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5276                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5277                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8e"++(x=x+1)).asSymbol.envirPut([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e].at(x-1))});});
5278
5279                 n1.states_([["s1",Color.white,Color.black]]);
5280                 n2.states_([["s2",Color.white,Color.black]]);
5281                 n3.states_([["s3",Color.white,Color.black]]);
5282                 n4.states_([["s4",Color.white,Color.black]]);
5283                 n5.states_([["s5",Color.green,Color.black]]);
5284                 n6.states_([["s6",Color.white,Color.black]]);
5285                 n7.states_([["s7",Color.white,Color.black]]);
5286                 n8.states_([["s8",Color.white,Color.black]]);
5287         });});
5288         n6 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)-(60*1),Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["s6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1f=fp1f;~r2f=fp2f;~r3f=fp3f;~r4f=fp4f;~r5f=fp5f;~r6f=fp6f;~r7f=fp7f;~r8f=fp8f;~r9f=fp9f;~r10f=fp10f;~r11f=fp11f;~r12f=fp12f; #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f/*,fp13f,fp14f,fp15f,fp16f,fp17f,fp18f,fp19f,fp20f,fp21f,fp22f,fp23f,fp24f*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1f=~f1;~u2f=~f2;~u3f=~f3;~u4f=~f4;~u5f=~f5;~u6f=~f6;~u7f=~f7;~u8f=~f8;~u9f=~f9;~u10f=~f10;~u11e=~f11;~u12f=~f12; ~si6set.value;
5289
5290                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5291                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5292                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5293                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5294                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5295                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5296                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5297                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8f"++(x=x+1)).asSymbol.envirPut([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f].at(x-1))});});
5298
5299                 n1.states_([["s1",Color.white,Color.black]]);
5300                 n2.states_([["s2",Color.white,Color.black]]);
5301                 n3.states_([["s3",Color.white,Color.black]]);
5302                 n4.states_([["s4",Color.white,Color.black]]);
5303                 n5.states_([["s5",Color.white,Color.black]]);
5304                 n6.states_([["s6",Color.green,Color.black]]);
5305                 n7.states_([["s7",Color.white,Color.black]]);
5306                 n8.states_([["s8",Color.white,Color.black]]);
5307         });});
5308         n7 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(0),   Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["s7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1g=fp1g;~r2g=fp2g;~r3g=fp3g;~r4g=fp4g;~r5g=fp5g;~r6g=fp6g;~r7g=fp7g;~r8g=fp8g;~r9g=fp9g;~r10g=fp10g;~r11g=fp11g;~r12g=fp12g; #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g/*,fp13g,fp14g,fp15g,fp16g,fp17g,fp18g,fp19g,fp20g,fp21g,fp22g,fp23g,fp24g*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1g=~f1;~u2g=~f2;~u3g=~f3;~u4g=~f4;~u5g=~f5;~u6g=~f6;~u7g=~f7;~u8g=~f8;~u9g=~f9;~u10g=~f10;~u11f=~f11;~u12g=~f12; ~si7set.value;
5309
5310                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5311                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5312                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5313                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5314                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5315                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5316                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5317                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8g"++(x=x+1)).asSymbol.envirPut([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g].at(x-1))});});
5318
5319                 n1.states_([["s1",Color.white,Color.black]]);
5320                 n2.states_([["s2",Color.white,Color.black]]);
5321                 n3.states_([["s3",Color.white,Color.black]]);
5322                 n4.states_([["s4",Color.white,Color.black]]);
5323                 n5.states_([["s5",Color.white,Color.black]]);
5324                 n6.states_([["s6",Color.white,Color.black]]);
5325                 n7.states_([["s7",Color.green,Color.black]]);
5326                 n8.states_([["s8",Color.white,Color.black]]);
5327         });});
5328         n8 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/2)+(60*1),Window.screenBounds.height-52,60,60/1.6180339887499)).states_([["s8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button; if(button.value == 0, {~r1h=fp1h;~r2h=fp2h;~r3h=fp3h;~r4h=fp4h;~r5h=fp5h;~r6h=fp6h;~r7h=fp7h;~r8h=fp8h;~r9h=fp9h;~r10h=fp10h;~r11h=fp11h;~r12h=fp12h; #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h/*,fp13h,fp14h,fp15h,fp16h,fp17h,fp18h,fp19h,fp20h,fp21h,fp22h,fp23h,fp24h*/ = [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ]; "s"++"\n"++[ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ].asString.postString; ~u1h=~f1;~u2h=~f2;~u3h=~f3;~u4h=~f4;~u5h=~f5;~u6h=~f6;~u7h=~f7;~u8h=~f8;~u9h=~f9;~u10h=~f10;~u11g=~f11;~u12h=~f12; ~si8set.value;
5329
5330                 if(~setgroup1.value == 1, {12.do(x = 0; {("sg1h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5331                 if(~setgroup2.value == 1, {12.do(x = 0; {("sg2h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5332                 if(~setgroup3.value == 1, {12.do(x = 0; {("sg3h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5333                 if(~setgroup4.value == 1, {12.do(x = 0; {("sg4h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5334                 if(~setgroup5.value == 1, {12.do(x = 0; {("sg5h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5335                 if(~setgroup6.value == 1, {12.do(x = 0; {("sg6h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5336                 if(~setgroup7.value == 1, {12.do(x = 0; {("sg7h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5337                 if(~setgroup8.value == 1, {12.do(x = 0; {("sg8h"++(x=x+1)).asSymbol.envirPut([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h].at(x-1))});});
5338
5339                 n1.states_([["s1",Color.white,Color.black]]);
5340                 n2.states_([["s2",Color.white,Color.black]]);
5341                 n3.states_([["s3",Color.white,Color.black]]);
5342                 n4.states_([["s4",Color.white,Color.black]]);
5343                 n5.states_([["s5",Color.white,Color.black]]);
5344                 n6.states_([["s6",Color.white,Color.black]]);
5345                 n7.states_([["s7",Color.white,Color.black]]);
5346                 n8.states_([["s8",Color.green,Color.black]]);
5347         });});
5348
5349
5350         //undo saved chord pop-up menu
5351
5352         ~undo = PopUpMenu(w, Rect(Window.screenBounds.width-(Window.screenBounds.width/3)+39,Window.screenBounds.height-52+19.777087639995-(40/1.6180339887499)-8,40,40/1.6180339887499)).items_(["uc","u1","u2","u3","u4","u5","u6","u7","u8"]).background_(Color.black).stringColor_(Color.white).action_({arg button;});
5353
5354
5355         //set button for undo pop-up menu
5356
5357         set2 = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/3)+40+39,Window.screenBounds.height-52+19.777087639995-(40/1.6180339887499)-8,40,40/1.6180339887499)).states_([["set",Color.white,Color.black]]).action_({arg button;
5358                 case
5359                 {~undo.value == 0}{if(([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7,~f8,~f9,~f10,~f11,~f12 ] != [~undof1,~undof2,~undof3,~undof4,~undof5,~undof6,~undof7,~undof8,~undof9,~undof10,~undof11,~undof12]).postln, {12.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut([~undof1,~undof2,~undof3,~undof4,~undof5,~undof6,~undof7,~undof8,~undof9,~undof10,~undof11,~undof12].at(x-1))});}/*,{12.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut([~redof1,~redof2,~redof3,~redof4,~redof5,~redof6,~redof7,~redof8,~redof9,~redof10,~redof11,~redof12].at(x-1))});}*/);~undo.value = 0;}
5360                 {~undo.value == 1}{if(([fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12] == [~r1,~r2,~r3,~r4,~r5,~r6,~r7,~r8,~r9,~r10,~r11,~r12]).postln, {#fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [~u1,~u2,~u3,~u4,~u5,~u6,~u7,~u8,~u9,~u10,~u11,~u12]},{#fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [~r1,~r2,~r3,~r4,~r5,~r6,~r7,~r8,~r9,~r10,~r11,~r12]});~undo.value = 0;}
5361                 {~undo.value == 2}{if([fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b] == [~r1b,~r2b,~r3b,~r4b,~r5b,~r6b,~r7b,~r8b,~r9b,~r10b,~r11b,~r12b], {#fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [~u1b,~u2b,~u3b,~u4b,~u5b,~u6b,~u7b,~u8b,~u9b,~u10b,~u11b,~u12b]},{#fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [~r1b,~r2b,~r3b,~r4b,~r5b,~r6b,~r7b,~r8b,~r9b,~r10b,~r11b,~r12b]});~undo.value = 0;}
5362                 {~undo.value == 3}{if([fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c] == [~r1c,~r2c,~r3c,~r4c,~r5c,~r6c,~r7c,~r8c,~r9c,~r10c,~r11c,~r12c], {#fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [~u1c,~u2c,~u3c,~u4c,~u5c,~u6c,~u7c,~u8c,~u9c,~u10c,~u11c,~u12c]},{#fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [~r1c,~r2c,~r3c,~r4c,~r5c,~r6c,~r7c,~r8c,~r9c,~r10c,~r11c,~r12c]});~undo.value = 0;}
5363                 {~undo.value == 4}{if([fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d] == [~r1d,~r2d,~r3d,~r4d,~r5d,~r6d,~r7d,~r8d,~r9d,~r10d,~r11d,~r12d], {#fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [~u1d,~u2d,~u3d,~u4d,~u5d,~u6d,~u7d,~u8d,~u9d,~u10d,~u11d,~u12d]},{#fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [~r1d,~r2d,~r3d,~r4d,~r5d,~r6d,~r7d,~r8d,~r9d,~r10d,~r11d,~r12d]});~undo.value = 0;}
5364                 {~undo.value == 5}{if([fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e] == [~r1e,~r2e,~r3e,~r4e,~r5e,~r6e,~r7e,~r8e,~r9e,~r10e,~r11e,~r12e], {#fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [~u1e,~u2e,~u3e,~u4e,~u5e,~u6e,~u7e,~u8e,~u9e,~u10e,~u11e,~u12e]},{#fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [~r1e,~r2e,~r3e,~r4e,~r5e,~r6e,~r7e,~r8e,~r9e,~r10e,~r11e,~r12e]});~undo.value = 0;}
5365                 {~undo.value == 6}{if([fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f] == [~r1f,~r2f,~r3f,~r4f,~r5f,~r6f,~r7f,~r8f,~r9f,~r10f,~r11f,~r12f], {#fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [~u1f,~u2f,~u3f,~u4f,~u5f,~u6f,~u7f,~u8f,~u9f,~u10f,~u11f,~u12f]},{#fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [~r1f,~r2f,~r3f,~r4f,~r5f,~r6f,~r7f,~r8f,~r9f,~r10f,~r11f,~r12f]});~undo.value = 0;}
5366                 {~undo.value == 7}{if([fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g] == [~r1g,~r2g,~r3g,~r4g,~r5g,~r6g,~r7g,~r8g,~r9g,~r10g,~r11g,~r12g], {#fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [~u1g,~u2g,~u3g,~u4g,~u5g,~u6g,~u7g,~u8g,~u9g,~u10g,~u11g,~u12g]},{#fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [~r1g,~r2g,~r3g,~r4g,~r5g,~r6g,~r7g,~r8g,~r9g,~r10g,~r11g,~r12g]});~undo.value = 0;}
5367                 {~undo.value == 8}{if([fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h] == [~r1h,~r2h,~r3h,~r4h,~r5h,~r6h,~r7h,~r8h,~r9h,~r10h,~r11h,~r12h], {#fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [~u1h,~u2h,~u3h,~u4h,~u5h,~u6h,~u7h,~u8h,~u9h,~u10h,~u11h,~u12h]},{#fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [~r1h,~r2h,~r3h,~r4h,~r5h,~r6h,~r7h,~r8h,~r9h,~r10h,~r11h,~r12h]});~undo.value = 0;};
5368         });
5369
5370
5371         //gsine pop-up menu
5372
5373         if(~gsine == nil, {~gsine = ~gsine1});
5374
5375         ~gsinemenu = PopUpMenu(w, Rect(20+60*2+16+120,Window.screenBounds.height-88+(30/1.6180339887499*0),60,60/1.6180339887499)).items_(["gs","1","2"]).background_(Color.black).stringColor_(Color.white).action_({arg button;
5376
5377                 if(~gsinemenu.value == 1, {~gsine = ~gsine1});
5378                 if(~gsinemenu.value == 2, {~gsine = ~gsine2});
5379
5380         });
5381
5382         case
5383         {~gsine == nil}{~gsinemenu.value = 0;}
5384         {~gsine == ~gsine1}{~gsinemenu.value = 0;}
5385         {~gsine == ~gsine2}{~gsinemenu.value = 1;};
5386
5387
5388         //start record button
5389
5390         ~startrecord = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/3)+39,Window.screenBounds.height-52+19.777087639995,28,28/1.6180339887499)).states_([["rc",Color.white,Color.black],["rc",Color.black,Color.red]]).action_({arg button; Server.default.record; ~numsynths.stop; if(button.value == 0, {button.value = 1});});
5391
5392
5393         //pause record button
5394
5395         ~pauserecord = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/3)+28+39,Window.screenBounds.height-52+19.777087639995,28,28/1.6180339887499)).states_([["prc",Color.white,Color.black],["/prc",Color.black,Color.blue]]).action_({arg button; if(button == 1, {Server.default.pauseRecording;}, {Server.default.record});});
5396
5397
5398         //stop record button
5399
5400         ~stoprecord = Button.new(w,Rect(Window.screenBounds.width-(Window.screenBounds.width/3)+28+28+39,Window.screenBounds.height-52+19.777087639995,28,28/1.6180339887499)).states_([["/rc",Color.white,Color.black]]).action_({arg button; Server.default.stopRecording; ~startrecord.value = 0; ~pauserecord.value = 0; ~numsynths.stop; ~numsynths.play;});
5401
5402
5403         //minimize GUI window button
5404
5405         ~min = Button.new(w,Rect(Window.screenBounds.width-20,~bpt+69+5-(20/1.6180339887499),20,20/1.6180339887499)).states_([["m",Color.white,Color.black]]).action_({arg button; w.minimize;});
5406
5407
5408         //close GUI window button
5409
5410         ~close = Button.new(w,Rect(Window.screenBounds.width-20,~bpt+69+5,20,20/1.6180339887499)).states_([["c",Color.white,Color.black]]).action_({arg button;
5411
5412                 if(~closemessage != nil, {~closemessage.close}, {nil});
5413                 ~closemessage = View(w, Rect(Window.screenBounds.width-(340+46),Window.screenBounds.height-(340+46/1.6180339887499)-110,340+46,340+46/1.6180339887499)).background_(Color.black).front;
5414                 ~closemessagestring = StaticText(~closemessage, Rect(0,0,340+46,340+46/1.6180339887499)).background_(Color.black);
5415                 ~closemessagestring.align = \center;
5416                 ~closemessagestring.string ="Close Timewave Synth?";
5417                 ~closemessagestring.stringColor = Color.white;
5418                 ~closemessagebutton1 = Button.new(~closemessage,Rect(120-46+40,340/1.6180339887499-30,46,46/1.6180339887499)).states_([["Yes",Color.white,Color.black]]).action_({AppClock.sched(0, {w.close; if(~l1a.isRunning == true or: ~l1a1.isRunning == true, {~synthfree.value; ~numsynths.stop; s.freeAll;}, {nil});});});
5419                 ~closemessagebutton2 = Button.new(~closemessage,Rect(320+46-130,340/1.6180339887499-30,46,46/1.6180339887499)).states_([["No",Color.white,Color.black]]).action_({AppClock.sched(0, {~closemessage.close;});});
5420                 ~closemessage.front;
5421
5422         });
5423
5424
5425         w.front; w.fullScreen;
5426
5427         //Developed by Ken Brant (ken_brant@ymail.com)
5428
5429 }.value);
5430 );
5431 );
5432
5433 //Interpreted King Wen Sequence
5434
5435 /*
5436
5437 (#a,b,c,d,e,f = /*[ 128.43436842029,128.43436842029,128.43436842029,128.43436842029,128.43436842029,128.43436842029  ]*/
5438 [ ~basefreq,~basefreq,~basefreq,~basefreq,~basefreq,~basefreq  ];
5439 ~a = a; ~b = b; ~c =c; ~d = d; ~e = e;~f=f;);
5440
5441 ~fth = 1.4142135623729;
5442
5443 /*1*/   #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],
5444 /*2*/   [ a = a/~fth, b = b/~fth, c = c/~fth, d = d/~fth, e = e/~fth, f = f/~fth ],
5445 /*3*/   [ a = a,      b = b*~fth, c = c,      d = d,      e = e,      f = f*~fth ],
5446 /*4*/   [ a = a*~fth, b = b/~fth, c = c,      d = d,      e = e*~fth, f = f/~fth ],
5447 /*5*/   [ a = a/~fth, b = b*~fth, c = c,      d = d*~fth, e = e,      f = f*~fth ],
5448 /*6*/   [ a = a*~fth, b = b,      c = c*~fth, d = d/~fth, e = e,      f = f/~fth ],
5449 /*7*/   [ a = a/~fth, b = b/~fth, c = c/~fth, d = d,      e = e,      f = f      ],
5450 /*8*/   [ a = a,      b = b*~fth, c = c,      d = d,      e = e/~fth, f = f      ],
5451 /*9*/   [ a = a*~fth, b = b,      c = c,      d = d*~fth, e = e*~fth, f = f*~fth ],
5452 /*10*/  [ a = a,      b = b,      c = c*~fth, d = d/~fth, e = e,      f = f      ],
5453 /*11*/  [ a = a/~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e,      f = f      ],
5454 /*12*/  [ a = a*~fth, b = b*~fth, c = c*~fth, d = d/~fth, e = e/~fth, f = f/~fth ],
5455 /*13*/  [ a = a,      b = b,      c = c,      d = d*~fth, e = e,      f = f*~fth ],
5456 /*14*/  [ a = a,      b = b/~fth, c = c,      d = d,      e = e*~fth, f = f      ],
5457 /*15*/  [ a = a/~fth, b = b,      c = c/~fth, d = d,      e = e/~fth, f = f/~fth ],
5458 /*16*/  [ a = a,      b = b,      c = c*~fth, d = d/~fth, e = e,      f = f      ],
5459 /*17*/  [ a = a,      b = b*~fth, c = c,      d = d,      e = e,      f = f*~fth ],
5460 /*18*/  [ a = a*~fth, b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f/~fth ],
5461 /*19*/  [ a = a/~fth, b = b,      c = c,      d = d/~fth, e = e,      f = f*~fth ],
5462 /*20*/  [ a = a*~fth, b = b*~fth, c = c,      d = d,      e = e/~fth, f = f/~fth ],
5463 /*21*/  [ a = a,      b = b/~fth, c = c*~fth, d = d,      e = e,      f = f*~fth ],
5464 /*22*/  [ a = a,      b = b,      c = c/~fth, d = d*~fth, e = e,      f = f      ],
5465 /*23*/  [ a = a,      b = b,      c = c,      d = d/~fth, e = e,      f = f/~fth ],
5466 /*24*/  [ a = a/~fth, b = b,      c = c,      d = d,      e = e,      f = f*~fth ],
5467 /*25*/  [ a = a*~fth, b = b*~fth, c = c*~fth, d = d,      e = e,      f = f      ],
5468 /*26*/  [ a = a,      b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f      ],
5469 /*27*/  [ a = a,      b = b,      c = c,      d = d/~fth, e = e/~fth, f = f      ],
5470 /*28*/  [ a = a/~fth, b = b*~fth, c = c*~fth, d = d*~fth, e = e*~fth, f = f/~fth ],
5471 /*29*/  [ a = a,      b = b,      c = c/~fth, d = d/~fth, e = e,      f = f      ],
5472 /*30*/  [ a = a*~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f*~fth ],
5473 /*31*/  [ a = a/~fth, b = b*~fth, c = c,      d = d,      e = e,      f = f/~fth ],
5474 /*32*/  [ a = a,      b = b/~fth, c = c,      d = d,      e = e*~fth, f = f      ],
5475 /*33*/  [ a = a*~fth, b = b*~fth, c = c,      d = d,      e = e/~fth, f = f      ],
5476 /*34*/  [ a = a/~fth, b = b/~fth, c = c,      d = d,      e = e*~fth, f = f*~fth ],
5477 /*35*/  [ a = a*~fth, b = b,      c = c,      d = d/~fth, e = e/~fth, f = f/~fth ],
5478 /*36*/  [ a = a/~fth, b = b,      c = c/~fth, d = d*~fth, e = e,      f = f*~fth ],
5479 /*37*/  [ a = a*~fth, b = b*~fth, c = c,      d = d,      e = e,      f = f      ],
5480 /*38*/  [ a = a,      b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f      ],
5481 /*39*/  [ a = a/~fth, b = b*~fth, c = c/~fth, d = d*~fth, e = e/~fth, f = f/~fth ],
5482 /*40*/  [ a = a,      b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f      ],
5483 /*41*/  [ a = a*~fth, b = b,      c = c/~fth, d = d,      e = e,      f = f*~fth ],
5484 /*42*/  [ a = a,      b = b*~fth, c = c,      d = d,      e = e/~fth, f = f      ],
5485 /*43*/  [ a = a/~fth, b = b,      c = c*~fth, d = d*~fth, e = e*~fth, f = f      ],
5486 /*44*/  [ a = a*~fth, b = b,      c = c,      d = d,      e = e,      f = f/~fth ],
5487 /*45*/  [ a = a/~fth, b = b,      c = c,      d = d/~fth, e = e/~fth, f = f      ],
5488 /*46*/  [ a = a,      b = b/~fth, c = c/~fth, d = d*~fth, e = e*~fth, f = f      ],
5489 /*47*/  [ a = a,      b = b*~fth, c = c*~fth, d = d/~fth, e = e,      f = f      ],
5490 /*48*/  [ a = a,      b = b,      c = c/~fth, d = d*~fth, e = e,      f = f      ],
5491 /*49*/  [ a = a,      b = b,      c = c*~fth, d = d,      e = e/~fth, f = f*~fth ],
5492 /*50*/  [ a = a*~fth, b = b/~fth, c = c,      d = d,      e = e*~fth, f = f/~fth ],
5493 /*51*/  [ a = a/~fth, b = b,      c = c,      d = d/~fth, e = e/~fth, f = f*~fth ],
5494 /*52*/  [ a = a*~fth, b = b,      c = c/~fth, d = d*~fth, e = e,      f = f/~fth ],
5495 /*53*/  [ a = a,      b = b*~fth, c = c,      d = d,      e = e,      f = f      ],
5496 /*54*/  [ a = a/~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f*~fth ],
5497 /*55*/  [ a = a,      b = b,      c = c,      d = d*~fth, e = e/~fth, f = f      ],
5498 /*56*/  [ a = a*~fth, b = b,      c = c,      d = d,      e = e,      f = f/~fth ],
5499 /*57*/  [ a = a,      b = b*~fth, c = c/~fth, d = d,      e = e*~fth, f = f      ],
5500 /*58*/  [ a = a/~fth, b = b,      c = c*~fth, d = d/~fth, e = e,      f = f*~fth ],
5501 /*59*/  [ a = a*~fth, b = b,      c = c/~fth, d = d,      e = e,      f = f/~fth ],
5502 /*60*/  [ a = a/~fth, b = b,      c = c,      d = d,      e = e,      f = f*~fth ],
5503 /*61*/  [ a = a*~fth, b = b,      c = c,      d = d,      e = e,      f = f      ],
5504 /*62*/  [ a = a/~fth, b = b/~fth, c = c*~fth, d = d*~fth, e = e/~fth, f = f/~fth ],
5505 /*63*/  [ a = a,      b = b*~fth, c = c/~fth, d = d,      e = e,      f = f*~fth ],
5506 /*64*/  [ a = a*~fth, b = b/~fth, c = c*~fth, d = d/~fth, e = e*~fth, f = f/~fth ]
5507
5508 /*1*/   [ a = a*n1,      b = b*n1*~fth, c = c*n1,      d = d*n1*~fth, e = e*n1,      f = f*n1*~fth ],...
5509
5510 OR
5511
5512 /*1*/   #a,b,c,d,e,f=[ ~a,~b,~c,~d,~e,~f  ],
5513 /*2*/   [ a = a/~fth*n1, b = b/~fth*n1, c = c/~fth*n1, d = d/~fth*n1, e = e/~fth*n1, f = f/~fth*n1 ],
5514 /*3*/   [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth    ],
5515 /*4*/   [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth    ],
5516 /*5*/   [ a = a/~fth,    b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth    ],
5517 /*6*/   [ a = a*~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f/~fth    ],
5518 /*7*/   [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d,         e = e,         f = f         ],
5519 /*8*/   [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f         ],
5520 /*9*/   [ a = a*~fth,    b = b,         c = c,         d = d*~fth,    e = e*~fth,    f = f*~fth    ],
5521 /*10*/  [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f         ],
5522 /*11*/  [ a = a/~fth,    b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e,         f = f         ],
5523 /*12*/  [ a = a*~fth*n2, b = b*~fth*n2, c = c*~fth*n2, d = d/~fth*n2, e = e/~fth*n2, f = f/~fth*n2 ],
5524 /*13*/  [ a = a,         b = b,         c = c,         d = d*~fth,    e = e,         f = f*~fth    ],
5525 /*14*/  [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f         ],
5526 /*15*/  [ a = a/~fth,    b = b,         c = c/~fth,    d = d,         e = e/~fth,    f = f/~fth    ],
5527 /*16*/  [ a = a,         b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f         ],
5528 /*17*/  [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f*~fth    ],
5529 /*18*/  [ a = a*~fth*n3, b = b/~fth*n3, c = c/~fth*n3, d = d*~fth*n3, e = e*~fth*n3, f = f/~fth*n3 ],
5530 /*19*/  [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e,         f = f*~fth    ],
5531 /*20*/  [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f/~fth    ],
5532 /*21*/  [ a = a,         b = b/~fth,    c = c*~fth,    d = d,         e = e,         f = f*~fth    ],
5533 /*22*/  [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f         ],
5534 /*23*/  [ a = a,         b = b,         c = c,         d = d/~fth,    e = e,         f = f/~fth    ],
5535 /*24*/  [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth    ],
5536 /*25*/  [ a = a*~fth,    b = b*~fth,    c = c*~fth,    d = d,         e = e,         f = f         ],
5537 /*26*/  [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f         ],
5538 /*27*/  [ a = a,         b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f         ],
5539 /*28*/  [ a = a/~fth*n4, b = b*~fth*n4, c = c*~fth*n4, d = d*~fth*n4, e = e*~fth*n4, f = f/~fth*n4 ],
5540 /*29*/  [ a = a,         b = b,         c = c/~fth,    d = d/~fth,    e = e,         f = f         ],
5541 /*30*/  [ a = a*~fth*n5, b = b/~fth*n5, c = c*~fth*n5, d = d*~fth*n5, e = e/~fth*n5, f = f*~fth*n5 ],
5542 /*31*/  [ a = a/~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f/~fth    ],
5543 /*32*/  [ a = a,         b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f         ],
5544 /*33*/  [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f         ],
5545 /*34*/  [ a = a/~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f*~fth    ],
5546 /*35*/  [ a = a*~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f/~fth    ],
5547 /*36*/  [ a = a/~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f*~fth    ],
5548 /*37*/  [ a = a*~fth,    b = b*~fth,    c = c,         d = d,         e = e,         f = f         ],
5549 /*38*/  [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f         ],
5550 /*39*/  [ a = a/~fth*n6, b = b*~fth*n6, c = c/~fth*n6, d = d*~fth*n6, e = e/~fth*n6, f = f/~fth*n6 ],
5551 /*40*/  [ a = a,         b = b/~fth,    c = c*~fth,    d = d/~fth,    e = e*~fth,    f = f         ],
5552 /*41*/  [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f*~fth    ],
5553 /*42*/  [ a = a,         b = b*~fth,    c = c,         d = d,         e = e/~fth,    f = f         ],
5554 /*43*/  [ a = a/~fth,    b = b,         c = c*~fth,    d = d*~fth,    e = e*~fth,    f = f         ],
5555 /*44*/  [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth    ],
5556 /*45*/  [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f         ],
5557 /*46*/  [ a = a,         b = b/~fth,    c = c/~fth,    d = d*~fth,    e = e*~fth,    f = f         ],
5558 /*47*/  [ a = a,         b = b*~fth,    c = c*~fth,    d = d/~fth,    e = e,         f = f         ],
5559 /*48*/  [ a = a,         b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f         ],
5560 /*49*/  [ a = a,         b = b,         c = c*~fth,    d = d,         e = e/~fth,    f = f*~fth    ],
5561 /*50*/  [ a = a*~fth,    b = b/~fth,    c = c,         d = d,         e = e*~fth,    f = f/~fth    ],
5562 /*51*/  [ a = a/~fth,    b = b,         c = c,         d = d/~fth,    e = e/~fth,    f = f*~fth    ],
5563 /*52*/  [ a = a*~fth,    b = b,         c = c/~fth,    d = d*~fth,    e = e,         f = f/~fth    ],
5564 /*53*/  [ a = a,         b = b*~fth,    c = c,         d = d,         e = e,         f = f         ],
5565 /*54*/  [ a = a/~fth*n7, b = b/~fth*n7, c = c*~fth*n7, d = d/~fth*n7, e = e*~fth*n7, f = f*~fth*n7 ],
5566 /*55*/  [ a = a,         b = b,         c = c,         d = d*~fth,    e = e/~fth,    f = f         ],
5567 /*56*/  [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f/~fth    ],
5568 /*57*/  [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e*~fth,    f = f         ],
5569 /*58*/  [ a = a/~fth,    b = b,         c = c*~fth,    d = d/~fth,    e = e,         f = f*~fth    ],
5570 /*59*/  [ a = a*~fth,    b = b,         c = c/~fth,    d = d,         e = e,         f = f/~fth    ],
5571 /*60*/  [ a = a/~fth,    b = b,         c = c,         d = d,         e = e,         f = f*~fth    ],
5572 /*61*/  [ a = a*~fth,    b = b,         c = c,         d = d,         e = e,         f = f         ],
5573 /*62*/  [ a = a/~fth*n8, b = b/~fth*n8, c = c*~fth*n8, d = d*~fth*n8, e = e/~fth*n8, f = f/~fth*n8 ],
5574 /*63*/  [ a = a,         b = b*~fth,    c = c/~fth,    d = d,         e = e,         f = f*~fth    ],
5575 /*64*/  [ a = a*~fth*n9, b = b/~fth*n9, c = c*~fth*n9, d = d/~fth*n9, e = e*~fth*n9, f = f/~fth*n9 ],
5576
5577 /*1*/   [ a = a,         b = b*~fth,    c = c,         d = d*~fth,    e = e,         f = f*~fth    ],...
5578
5579 */