OSDN Git Service

Rename timewavesynthi3osx.scd to timewavesynth_i/timewavesynthi3osx.scd
[timewavesynth/Timewave_Synthesizer.git] / timewavesynthuu7osx.scd
1 (
2 //To run the synth, simply 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 - which is recommended.
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 //This synth is compatible with the Korg NanoKontrol 2
12
13 //(thisProcess.platform.recompile); //Reboot the interpreter before each
14 //server boot by hightlighting "(thisProcess.platform.recompile);" and pressing "ctrl - enter" or "cmd - return”
15
16 ~server_type = 0; // "0" to boot from local server. "1" to boot from the Supernova server.
17
18 ~start_timer = 0;
19 case
20 {~server_type == 0}{
21         if(Server.default.serverRunning == false, {~start_timer = 0;
22                 ({//Boot Supercollider
23                         var mem, blocksize;
24                         w = Window("", Rect(Window.screenBounds.width/2-(340/2),Window.screenBounds.height/2-(340/1.6180339887499/2),340,340/1.6180339887499)).front;
25                         a = StaticText(w, Rect(10, 10, 70, 20));
26                         a.string = "loading...";
27                         Server.quitAll;
28                         Server.default = Server.local;
29                         MIDIIn.connectAll;
30                         AppClock.sched(~start_timer+4,{
31                                 ~icl6 = Server.default;
32                                 mem = 2097152/4;
33                                 blocksize = 64;
34                                 ~icl61 = Server( "server2", NetAddr("127.0.0.1",  57111 ));
35                                 ~icl62 = Server( "server3", NetAddr("127.0.0.1",  57112 ));
36                                 ~icl63 = Server( "server4", NetAddr("127.0.0.1",  57113 ));
37                                 ~icl6.options.memSize = mem;
38                                 ~icl61.options.memSize = mem;
39                                 ~icl62.options.memSize = mem;
40                                 ~icl63.options.memSize = mem;
41                                 ~icl6.options.blockSize = blocksize;
42                                 ~icl61.options.blockSize = blocksize;
43                                 ~icl62.options.blockSize = blocksize;
44                                 ~icl63.options.blockSize = blocksize;
45                                 ~icl6.options_( s.options ).boot;
46                                 ~icl61.options_( s.options ).boot;
47                                 ~icl62.options_( s.options ).boot;
48                                 ~icl63.options_( s.options ).boot;
49                 });}.value);
50         },{~start_timer = (-6)});
51 }
52 {~server_type == 1}{
53         if(Server.default.serverRunning == false, {~start_timer = 0;
54                 (//Boot Supernova
55                         w = Window("", Rect(Window.screenBounds.width/2-(340/2),Window.screenBounds.height/2-(340/1.6180339887499/2),340,340/1.6180339887499)).front;
56                         a = StaticText(w, Rect(10, 10, 70, 20));
57                         a.string = "loading...";
58                         Server.quitAll;
59                         s.boot;
60                         AppClock.sched(7,{
61                                 s.quit;
62                         });
63                         AppClock.sched(11,{
64                                 MIDIIn.connectAll;
65                         });
66                         AppClock.sched(16,{
67                                 Server.supernova;
68                                 s.options.blockSize = 64;
69                                 s.options.memSize = 2097152/4;
70                                 s.boot;
71                         });
72                 );
73         },{~start_timer = (-22)});
74 };
75
76 AppClock.sched((case
77         {~server_type == 0}{~start_timer+8}
78         {~server_type == 1}{~start_timer+24}
79         {(~server_type != 0) or: (~server_type != 1)}{0};), {if((~server_type == 0) or: (~server_type == 1), {w.close;});
80
81                 ({
82                         var point, w, view, view2,
83                         vol = 0.02,mute1,mute2,mute3,mute4,mute5,mute6,mute7,muteall,unmuteall,
84                         g1,g2,g6,g8,g33,g48,g64,g72,g88,gm,ngm1,ngm2,ngm6,set1,set2,menu1,menu2,
85                         ts,sts,str,spaceb,b1,b2,b3,b4,button,button1,info,
86                         n1,n2,n3,n4,n5,n6,n7,n8,keycodeb,
87                         f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,
88                         fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12,
89                         fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b,
90                         fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c,
91                         fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d,
92                         fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e,
93                         fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f,
94                         fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g,
95                         fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h;
96
97
98
99
100
101
102
103
104                         //VARIABLES YOU MAY WISH TO CHANGE
105
106
107                         // A tuning frequency in hz
108
109                         ~tuning_frequency = 432; //default 432 hz
110
111                         ~freqmap = (
112                                 i = ~tuning_frequency
113                                 / (2 ** (69 / 12)); a = (-1); b = (-1);
114                                 Array.fill(128, {i * (2 ** (((a=a+1) / 12).trunc)) * ( (2 ** (12.reciprocal)) ** ((b=b+1)  % 12));
115                         }));/*~freqmap = (i = 8.0271480262684/*-0.0000000000024*/; ~stepratio = 1.0594630943593; Array.fill(128, { i = i*~stepratio;}));*/
116
117
118                         //base frequency for synth inst
119
120                         ~base_frequency = 128.43436842029; //default 128.43436842029 hz
121
122
123                         //volume
124
125                         ~vol = 0.006; //default 0.006
126                         ~vol1 = ~vol;
127                         ~vol2 = ~vol;
128                         ~vol3 = ~vol;
129                         ~vol4 = ~vol;
130                         ~vol5 = ~vol;
131                         ~vol6 = ~vol;
132                         ~vol7 = ~vol;
133                         ~vol8 = ~vol;
134                         ~vol9 = ~vol;
135                         ~vol10 = ~vol;
136                         ~vol11 = ~vol;
137                         ~vol12 = ~vol;
138
139
140                         //key codes for keyboard functions - either unicode or keycode. to find key codes, see below
141
142                         ~rightarrow_keycode = 124;
143                         ~leftarrow_keycode = 123;
144                         ~uparrow_keycode = 126;
145                         ~downarrow_keycode = 125;
146                         ~enter_unicode = 13;
147                         ~s_unicode = 115;
148                         ~m_unicode = 109;
149                         ~r_unicode = 114;
150                         ~u_unicode = 117;
151                         ~t_unicode = 116;
152                         ~c_unicode = 99;
153                         ~i_unicode = 105;
154                         ~k_unicode = 107;
155                         ~j_unicode = 106;
156                         ~l_unicode = 108;
157                         ~spacebar_unicode = 32;
158                         ~one_unicode = 49;
159                         ~two_unicode = 50;
160                         ~three_unicode = 51;
161                         ~four_unicode = 52;
162                         ~five_unicode = 53;
163                         ~six_unicode = 54;
164                         ~seven_unicode = 55;
165                         ~escape_unicode = 27;
166
167
168                         //To find key codes in post window... Hightlight the function and its parenthesis in red below,
169                         //and press "ctrl - enter" or cmd - return" - then a small window called "test" will pop up...
170                         //Press the "type" button inside of the window, then press anywhere on the keyboard to find
171                         //the key codes in the right-hand side post window. Layout: [unicode, keycode, modifiers]. It is either a unicode
172                         //or a keycode. Do not delete the /* and */ characters, or else the
173                         //program will not run.
174
175                         /*
176
177                         (
178                         var win = Window(\test, Rect(10, 100, 100, 50)),
179                         btn = Button(win, Rect(5, 5, 90, 40)).states_([["type"]]);
180                         btn.keyDownAction =
181                         { arg view, char, modifiers, unicode, keycode;
182                         ["unicode:"+unicode, "keycode:"+keycode, "modifiers:"+modifiers].postln;
183                         };
184                         win.front;
185                         )
186
187                         */
188
189
190                         //gui set frequency ranges - currently set at the lowest and highest notes on a 128 key range using 432 hz A tuning
191                         //you can change the tuning near top
192                         //to insert custom ranges, replace "~freqmap.at()" with a hz frequency
193
194                         ~outmin1 = ~freqmap.at(0);       // 8.0271480262684 hz                       //base frequency of upper set
195                         ~outmax1 = ~freqmap.at(127);     // 12315.783879572 hz                       //high frequency of upper set
196                         ~outmin2 = ~freqmap.at(0)*8;     // (8.0271480262684)*8 hz                   //base frequency of lower set
197                         ~outmax2 = ~freqmap.at(127)/8;   // (12315.783879572)/8 hz;                  //high frequency of lower set
198
199                         ~outmina = ~outmin2;
200                         ~outmaxa = ~outmax2;
201                         ~outminb = ~outmin1;
202                         ~outmaxb = ~outmax1;
203
204                         //increase or decrease magnitude of second and third harmonics
205
206                         ~icd3 = 3; //3
207                         ~icd6 = 6; //6
208
209
210                         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
211
212                         #f1,f2,f3,f4,f5,f6,f7/*,f8,f9,f10,f11,f12*//*,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24*/ =
213                         /*[432/1.6180339887499/1.6180339887499/1.6180339887499, 432/1.6180339887499, 432*1.6180339887499, 432, 432*1.6180339887499*1.6180339887499 , 432/1.6180339887499/1.6180339887499,432*1.6180339887499*1.6180339887499*1.6180339887499 ]*/
214                         [432,432,432,432,432,432,432];
215
216                         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]), {7.do(x = 0; {("f"++(x=x+1)).asSymbol.envirPut([f1,f2,f3,f4,f5,f6,f7].at(x-1))});});
217
218                         #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [~u1,~u2,~u3,~u4,~u5,~u6,~u7,~u8,~u9,~u10,~u11,~u12];
219                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [~u1b,~u2b,~u3b,~u4b,~u5b,~u6b,~u7b,~u8b,~u9b,~u10b,~u11b,~u12b];
220                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [~u1c,~u2c,~u3c,~u4c,~u5c,~u6c,~u7c,~u8c,~u9c,~u10c,~u11c,~u12c];
221                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [~u1d,~u2d,~u3d,~u4d,~u5d,~u6d,~u7d,~u8d,~u9d,~u10d,~u11d,~u12d];
222                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [~u1e,~u2e,~u3e,~u4e,~u5e,~u6e,~u7e,~u8e,~u9e,~u10e,~u11e,~u12e];
223                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [~u1f,~u2f,~u3f,~u4f,~u5f,~u6f,~u7f,~u8f,~u9f,~u10f,~u11f,~u12f];
224                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [~u1g,~u2g,~u3g,~u4g,~u5g,~u6g,~u7g,~u8g,~u9g,~u10g,~u11g,~u12g];
225                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [~u1h,~u2h,~u3h,~u4h,~u5h,~u6h,~u7h,~u8h,~u9h,~u10h,~u11h,~u12h];
226
227                         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 ];});
228                         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 ];});
229                         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 ];});
230                         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 ];});
231                         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 ];});
232                         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 ];});
233                         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 ];});
234                         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 ];});
235
236                         /*      #fp1,fp2,fp3,fp4,fp5,fp6,fp7,fp8,fp9,fp10,fp11,fp12 = [];
237                         #fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b,fp8b,fp9b,fp10b,fp11b,fp12b = [];
238                         #fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c,fp8c,fp9c,fp10c,fp11c,fp12c = [];
239                         #fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d,fp8d,fp9d,fp10d,fp11d,fp12d = [];
240                         #fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e,fp8e,fp9e,fp10e,fp11e,fp12e = [];
241                         #fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f,fp8f,fp9f,fp10f,fp11f,fp12f = [];
242                         #fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g,fp8g,fp9g,fp10g,fp11g,fp12g = [];
243                         #fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h,fp8h,fp9h,fp10h,fp11h,fp12h = [];
244
245                         [];*/
246
247                         ~gsine = {
248                                 SynthDef(\gsineicls, {arg graindur = 0.04, dur1 = 2000, dur2 = 2000,dur3 = 2000,dur4 = 2000,dur5 = 2000,dur6 = 2000,dur7 = 2000, atk = 0.007, rel = 0.01, gate = 1, amp = 1, i = 1, vol1 = ~vol,vol2 = ~vol,vol3 = ~vol,vol4 = ~vol,vol5 = ~vol,vol6 = ~vol,vol7 = ~vol, rate = 20, tune1 = 0,tune2 = 0,tune3 = 0,tune4 = 0,tune5 = 0,tune6 = 0,tune7 = 0,dseqval,
249                                         a, b, c, d, e, f, pan=0, fc = 1;
250                                         var s1, s1a,s1b,s1c,s1d,s1e,s1f, s2a,s2b,s2c,s2d,s2e,s2f,s3a,s3b,s3c,s3d,s3e,s3f, s4a,s4b,s4c,s4d,s4e,s4f,s5a,s5b,s5c,s5d,s5e,s5f,s6a,s6b,s6c,s6d,s6e,s6f,s7a,s7b,s7c,s7d,s7e,s7f,out, env1, dseq,dseq1,n1,n2,n3,n4,n5,n6,n7,n8,n9;
251                                         #n1,n2,n3,n4,n5,n6,n7,n8,n9=[~nval,~nval,~nval,~nval,~nval,~nval,~nval,~nval,~nval];
252                                         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 ]]
253                                                 ++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 ]]
254                                         }).flatten, inf);
255                                         dseq1 = 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 ]]
256                                                 ++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 ]]
257                                         }).flatten].flatten.reverse, inf);
258                                         /*env1 = EnvGen.kr(Env([0, 1, 1, 0], [0, dur, 0]), levelScale: amp, doneAction: 2);*/
259                                         s1a = GrainSin.ar(1, Impulse.ar(dur1+tune1), 1/(  dur1+tune1),Demand.ar(Impulse.ar(  dur1+tune1), 0, dseq)*fc);
260                                         s1b = GrainSin.ar(1, Impulse.ar(dur1+tune1), 1/(  dur1+tune1),Demand.ar(Impulse.ar(  dur1+tune1), 0, dseq1)*fc);
261                                         s1c = GrainSin.ar(1, Impulse.ar(dur1+tune1/3), 1/(dur1+tune1/3),Demand.ar(Impulse.ar(dur1+tune1/3), 0, dseq)*fc);
262                                         s1d = GrainSin.ar(1, Impulse.ar(dur1+tune1/3), 1/(dur1+tune1/3),Demand.ar(Impulse.ar(dur1+tune1/3), 0, dseq1)*fc);
263                                         s1e = GrainSin.ar(1, Impulse.ar(dur1+tune1/6), 1/(dur1+tune1/6),Demand.ar(Impulse.ar(dur1+tune1/6), 0, dseq)*fc);
264                                         s1f = GrainSin.ar(1, Impulse.ar(dur1+tune1/6), 1/(dur1+tune1/6),Demand.ar(Impulse.ar(dur1+tune1/6), 0, dseq1)*fc);
265                                         s2a = GrainSin.ar(1, Impulse.ar(dur2+tune2), 1/(  dur2+tune2),Demand.ar(Impulse.ar(  dur2+tune2), 0, dseq)*fc);
266                                         s2b = GrainSin.ar(1, Impulse.ar(dur2+tune2), 1/(  dur2+tune2),Demand.ar(Impulse.ar(  dur2+tune2), 0, dseq1)*fc);
267                                         s2c = GrainSin.ar(1, Impulse.ar(dur2+tune2/3), 1/(dur2+tune2/3),Demand.ar(Impulse.ar(dur2+tune2/3), 0, dseq)*fc);
268                                         s2d = GrainSin.ar(1, Impulse.ar(dur2+tune2/3), 1/(dur2+tune2/3),Demand.ar(Impulse.ar(dur2+tune2/3), 0, dseq1)*fc);
269                                         s2e = GrainSin.ar(1, Impulse.ar(dur2+tune2/6), 1/(dur2+tune2/6),Demand.ar(Impulse.ar(dur2+tune2/6), 0, dseq)*fc);
270                                         s2f = GrainSin.ar(1, Impulse.ar(dur2+tune2/6), 1/(dur2+tune2/6),Demand.ar(Impulse.ar(dur2+tune2/6), 0, dseq1)*fc);
271                                         s3a = GrainSin.ar(1, Impulse.ar(dur3+tune3), 1/(  dur3+tune3),Demand.ar(Impulse.ar(  dur3+tune3), 0, dseq)*fc);
272                                         s3b = GrainSin.ar(1, Impulse.ar(dur3+tune3), 1/(  dur3+tune3),Demand.ar(Impulse.ar(  dur3+tune3), 0, dseq1)*fc);
273                                         s3c = GrainSin.ar(1, Impulse.ar(dur3+tune3/3), 1/(dur3+tune3/3),Demand.ar(Impulse.ar(dur3+tune3/3), 0, dseq)*fc);
274                                         s3d = GrainSin.ar(1, Impulse.ar(dur3+tune3/3), 1/(dur3+tune3/3),Demand.ar(Impulse.ar(dur3+tune3/3), 0, dseq1)*fc);
275                                         s3e = GrainSin.ar(1, Impulse.ar(dur3+tune3/6), 1/(dur3+tune3/6),Demand.ar(Impulse.ar(dur3+tune3/6), 0, dseq)*fc);
276                                         s3f = GrainSin.ar(1, Impulse.ar(dur3+tune3/6), 1/(dur3+tune3/6),Demand.ar(Impulse.ar(dur3+tune3/6), 0, dseq1)*fc);
277                                         s4a = GrainSin.ar(1, Impulse.ar(dur4+tune4), 1/(  dur4+tune4),Demand.ar(Impulse.ar(  dur4+tune4), 0, dseq)*fc);
278                                         s4b = GrainSin.ar(1, Impulse.ar(dur4+tune4), 1/(  dur4+tune4),Demand.ar(Impulse.ar(  dur4+tune4), 0, dseq1)*fc);
279                                         s4c = GrainSin.ar(1, Impulse.ar(dur4+tune4/3), 1/(dur4+tune4/3),Demand.ar(Impulse.ar(dur4+tune4/3), 0, dseq)*fc);
280                                         s4d = GrainSin.ar(1, Impulse.ar(dur4+tune4/3), 1/(dur4+tune4/3),Demand.ar(Impulse.ar(dur4+tune4/3), 0, dseq1)*fc);
281                                         s4e = GrainSin.ar(1, Impulse.ar(dur4+tune4/6), 1/(dur4+tune4/6),Demand.ar(Impulse.ar(dur4+tune4/6), 0, dseq)*fc);
282                                         s4f = GrainSin.ar(1, Impulse.ar(dur4+tune4/6), 1/(dur4+tune4/6),Demand.ar(Impulse.ar(dur4+tune4/6), 0, dseq1)*fc);
283                                         s5a = GrainSin.ar(1, Impulse.ar(dur5+tune5), 1/(  dur5+tune5),Demand.ar(Impulse.ar(  dur5+tune5), 0, dseq)*fc);
284                                         s5b = GrainSin.ar(1, Impulse.ar(dur5+tune5), 1/(  dur5+tune5),Demand.ar(Impulse.ar(  dur5+tune5), 0, dseq1)*fc);
285                                         s5c = GrainSin.ar(1, Impulse.ar(dur5+tune5/3), 1/(dur5+tune5/3),Demand.ar(Impulse.ar(dur5+tune5/3), 0, dseq)*fc);
286                                         s5d = GrainSin.ar(1, Impulse.ar(dur5+tune5/3), 1/(dur5+tune5/3),Demand.ar(Impulse.ar(dur5+tune5/3), 0, dseq1)*fc);
287                                         s5e = GrainSin.ar(1, Impulse.ar(dur5+tune5/6), 1/(dur5+tune5/6),Demand.ar(Impulse.ar(dur5+tune5/6), 0, dseq)*fc);
288                                         s5f = GrainSin.ar(1, Impulse.ar(dur5+tune5/6), 1/(dur5+tune5/6),Demand.ar(Impulse.ar(dur5+tune5/6), 0, dseq1)*fc);
289                                         s6a = GrainSin.ar(1, Impulse.ar(dur6+tune6), 1/(  dur6+tune6),Demand.ar(Impulse.ar(  dur6+tune6), 0, dseq)*fc);
290                                         s6b = GrainSin.ar(1, Impulse.ar(dur6+tune6), 1/(  dur6+tune6),Demand.ar(Impulse.ar(  dur6+tune6), 0, dseq1)*fc);
291                                         s6c = GrainSin.ar(1, Impulse.ar(dur6+tune6/3), 1/(dur6+tune6/3),Demand.ar(Impulse.ar(dur6+tune6/3), 0, dseq)*fc);
292                                         s6d = GrainSin.ar(1, Impulse.ar(dur6+tune6/3), 1/(dur6+tune6/3),Demand.ar(Impulse.ar(dur6+tune6/3), 0, dseq1)*fc);
293                                         s6e = GrainSin.ar(1, Impulse.ar(dur6+tune6/6), 1/(dur6+tune6/6),Demand.ar(Impulse.ar(dur6+tune6/6), 0, dseq)*fc);
294                                         s6f = GrainSin.ar(1, Impulse.ar(dur6+tune6/6), 1/(dur6+tune6/6),Demand.ar(Impulse.ar(dur6+tune6/6), 0, dseq1)*fc);
295                                         s7a = GrainSin.ar(1, Impulse.ar(dur7+tune7), 1/(  dur7+tune7),Demand.ar(Impulse.ar(  dur7+tune7), 0, dseq)*fc);
296                                         s7b = GrainSin.ar(1, Impulse.ar(dur7+tune7), 1/(  dur7+tune7),Demand.ar(Impulse.ar(  dur7+tune7), 0, dseq1)*fc);
297                                         s7c = GrainSin.ar(1, Impulse.ar(dur7+tune7/3), 1/(dur7+tune7/3),Demand.ar(Impulse.ar(dur7+tune7/3), 0, dseq)*fc);
298                                         s7d = GrainSin.ar(1, Impulse.ar(dur7+tune7/3), 1/(dur7+tune7/3),Demand.ar(Impulse.ar(dur7+tune7/3), 0, dseq1)*fc);
299                                         s7e = GrainSin.ar(1, Impulse.ar(dur7+tune7/6), 1/(dur7+tune7/6),Demand.ar(Impulse.ar(dur7+tune7/6), 0, dseq)*fc);
300                                         s7f = GrainSin.ar(1, Impulse.ar(dur7+tune7/6), 1/(dur7+tune7/6),Demand.ar(Impulse.ar(dur7+tune7/6), 0, dseq1)*fc);
301                                         /*s1 = [s1a*vol1,s1b*vol1,s1c*vol1,s1d*vol1,s1e*vol1,s1f*vol1, s2a*vol2,s2b*vol2,s2c*vol2,s2d*vol2,s2e*vol2,s2f*vol2,s3a*vol3,s3b*vol3,s3c*vol3,s3d*vol3,s3e*vol3,s3f*vol3, s4a*vol4,s4b*vol4,s4c*vol4,s4d*vol4,s4e*vol4,s4f*vol4,s5a*vol5,s5b*vol5,s5c*vol5,s5d*vol5,s5e*vol5,s5f*vol5,s6a*vol6,s6b*vol6,s6c*vol6,s6d*vol6,s6e*vol6,s6f*vol6,s7a*vol7,s7b*vol7,s7c*vol7,s7d*vol7,s7e*vol7,s7f*vol7];
302                                         */s1 = [s1a,s1b,s1c,s1d,s1e,s1f, s2a,s2b,s2c,s2d,s2e,s2f,s3a,s3b,s3c,s3d,s3e,s3f, s4a,s4b,s4c,s4d,s4e,s4f,s5a,s5b,s5c,s5d,s5e,s5f,s6a,s6b,s6c,s6d,s6e,s6f,s7a,s7b,s7c,s7d,s7e,s7f];
303                                         OffsetOut.ar(0, s1.dup*~vol);
304                                 }, [\ir]).add;
305                         };
306
307                         if((~gsinenum == nil) and: (~synthdef != "gsineicls"), {
308                                 (
309                                         if(~basefreq == nil, {~basefreq = ~base_frequency});
310                                         ~fmult = 16;
311                                         (#a,b,c,d,e,f = /*[ 432/1.6180339887499, 432*1.6180339887499, 432, 432*1.6180339887499*1.6180339887499 , 528, 432/1.6180339887499/1.6180339887499  ]*/
312                                                 [ ~basefreq,~basefreq,~basefreq,~basefreq,~basefreq,~basefreq  ];
313                                                 ~a = a; ~b = b; ~c =c; ~d = d; ~e = e;~f=f;);
314
315                                         ~fth = 1.4142135623729;
316                                         ~gm = 1.6180339887499;
317                                         ~stepratio = 1.0594630943593;
318                                         ~nval = 1.0355417528;
319                                         ~n9s = 1.86;
320                                         ~n9 = 1.080059789899;
321                                         ~n18 = 1.0392592260319;
322                                         ~n27 = 1.0260044847071;
323                                         ~n36 = 1.0194406437022;
324                                         ~n45 = 1.0155225125043;
325                                         ~n54 = 1.012918794725;
326                                         ~n63 = 1.0110630844869;
327                                         ~n72 = 1.0096735332285;
328                                         ~ngm1 = 1.0549232131786;
329                                         ~ngm2 = 1.0270945492887;
330                                         ~ngm6 = 1.0089511542031;
331                                         ~nval = ~ngm6;
332
333                                         ~synthdef = "gsineicls"; ~gsinenum = 33; ~gsine.value;
334                                 );
335                         });
336
337
338
339                         //gui
340                         w = Window("ic gui", Rect(0,0,Window.screenBounds.width,Window.screenBounds.height), border:true);
341
342
343
344                         view = UserView(w, Window.screenBounds);
345                         view.clearOnRefresh = false;
346                         view.background = Color.black;
347
348                         /*~b1 = Window.screenBounds.width/(12*4) /*25.462962962963*/; ~btu = 31; ~btd = 340; ~bw = 0.5; ~bh = 70; ~bcolor = Color.grey;
349                         CompositeView(w, Rect(~b1, ~btu, ~bw, ~bh)).background = ~bcolor;
350                         CompositeView(w, Rect(~b1, ~btd, ~bw, ~bh)).background = ~bcolor;
351                         54.do({CompositeView(w, Rect(~b1 = ~b1+(Window.screenBounds.width/(12*4)), ~btu, ~bw, ~bh)).background = ~bcolor;});
352                         ~b1 = Window.screenBounds.width/(12*4);
353                         54.do({CompositeView(w, Rect(~b1 = ~b1+(Window.screenBounds.width/(12*4)), ~btd, ~bw, ~bh)).background = ~bcolor;});*/
354
355                         ~nh = 2;
356                         ~nw = ~nh*1.6180339887499;
357
358                         ~tgrid = 30;
359                         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
360
361                         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
362
363                         8.do(x=~tgrid-10; {CompositeView(w, Rect(1, x=x+10, Window.screenBounds.width, 0.5)).background = Color.new255(51, 51, 51)});
364                         8.do(x=~bgrid-10; {CompositeView(w, Rect(1, x=x+10, Window.screenBounds.width, 0.5)).background = Color.new255(51, 51, 51)});
365
366                         ~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;);
367                         ~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;);
368                         ~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;);
369                         ~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;);
370                         ~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;);
371                         ~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;);
372                         ~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;);
373                         /*~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;);
374                         ~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;);
375                         ~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;);
376                         ~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;);
377                         ~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;);
378                         ~z13 = (CompositeView(w, Rect((if(~f37 == nil, {f13.value},{~f37.value}).explin(~outmin1,~outmax1,0,Window.screenBounds.width)), ~dc1=~dc1+10, ~nw, 2)).background = Color.white;);
379                         */      /*~z14 = (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;);
380                         ~z15 = (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;);
381                         ~z16 = (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;);
382                         ~z17 = (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;);
383                         ~z18 = (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;);
384                         ~z19 = (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;);
385                         ~z20 = (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;);
386                         ~z21 = (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;);
387                         ~z22 = (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;);
388                         ~z23 = (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;);
389                         ~z24 = (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;);
390                         */              ~zmid = (CompositeView(w, Rect(x, 280, ~nw, 2)).background = Color.clear;);
391                         ~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;);
392                         ~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;);
393                         ~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;);
394                         ~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;);
395                         ~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;);
396                         ~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;);
397                         ~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;);
398                         /*~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;);
399                         ~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;);
400                         ~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;);
401                         ~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;);
402                         ~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;);
403                         ~z37 = (CompositeView(w, Rect((if(~f37 == nil, {f13.value},{~f37.value}).explin(~outmin2,~outmax2,0,Window.screenBounds.width)), ~dc2=~dc2+10, ~nw, 2)).background = Color.white;);
404                         */      /*~z38 = (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;);
405                         ~z39 = (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;);
406                         ~z40 = (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;);
407                         ~z41 = (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;);
408                         ~z42 = (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;);
409                         ~z43 = (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;);
410                         ~z44 = (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;);
411                         ~z45 = (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;);
412                         ~z46 = (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;);
413                         ~z47 = (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;);
414                         ~z48 = (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;);
415                         */
416
417                         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
418
419                         ~synthopen = {
420                                 case
421                                 {((~ics.isRunning == false) and: (~ics1.isRunning == false)) or: ~ics1.isRunning == true}{
422                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
423                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
424                                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
425                                                 ~ics1.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
426                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
427                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);             }););
428
429                                         (~icl6=ParGroup.new;~icl61=ParGroup.new;~icl62=ParGroup.new;~icl63=ParGroup.new;
430                                                 1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
431                                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
432                                                         s1 = \gsineicls;
433                                                         ~ics = Synth(s1, [\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f],~icl6).register;
434                                                 });
435                                         );
436                                         AppClock.sched(0.161803398875,{
437                                                 ([~ics1].do(_.free)); ~slideroutine.stop;
438                                         });
439                                 }
440                                 {~ics.isRunning == true}{
441                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
442                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
443                                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
444                                                 ~ics.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
445                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
446                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);                     }););
447
448                                         (~icl6=ParGroup.new;~icl61=ParGroup.new;~icl62=ParGroup.new;~icl63=ParGroup.new;
449                                                 1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
450                                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
451                                                         s1 = \gsineicls;
452                                                         ~ics1 = Synth(s1, [\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f],~icl6).register;
453                                                 });
454                                         );
455                                         AppClock.sched(0.161803398875,{
456                                                 ([~ics].do(_.free)); ~slideroutine.stop;
457                                         });
458                                 };
459
460                                 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;);});
461                                 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;);});
462                                 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;);});
463                                 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;);});
464                                 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;);});
465                                 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;);});
466                                 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;);});
467                                 /*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;);});
468                                 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;);});
469                                 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;);});
470                                 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;);});
471                                 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;);});
472                                 *//*if((f13 > ~outmaxa) or: (f13 < ~outmina), {~z37.close;~z13.close;~z37 = (CompositeView(w, Rect((f13.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+130, ~nw, 2)).background = Color.white;);}, {~z13.close;~z37.close;~z13 = (CompositeView(w, Rect((f13.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+130, ~nw, 2)).background = Color.white;);});
473                                 if((f14 > ~outmaxa) or: (f14 < ~outmina), {~z38.close;~z14.close;~z38 = (CompositeView(w, Rect((f14.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+140, ~nw, 2)).background = Color.white;);}, {~z14.close;~z38.close;~z14 = (CompositeView(w, Rect((f14.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+140, ~nw, 2)).background = Color.white;);});
474                                 if((f15 > ~outmaxa) or: (f15 < ~outmina), {~z39.close;~z15.close;~z39 = (CompositeView(w, Rect((f15.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+150, ~nw, 2)).background = Color.white;);}, {~z15.close;~z39.close;~z15 = (CompositeView(w, Rect((f15.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+150, ~nw, 2)).background = Color.white;);});
475                                 if((f16 > ~outmaxa) or: (f16 < ~outmina), {~z40.close;~z16.close;~z40 = (CompositeView(w, Rect((f16.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+160, ~nw, 2)).background = Color.white;);}, {~z16.close;~z40.close;~z16 = (CompositeView(w, Rect((f16.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+160, ~nw, 2)).background = Color.white;);});
476                                 if((f17 > ~outmaxa) or: (f17 < ~outmina), {~z41.close;~z17.close;~z41 = (CompositeView(w, Rect((f17.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+170, ~nw, 2)).background = Color.white;);}, {~z17.close;~z41.close;~z17 = (CompositeView(w, Rect((f17.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+170, ~nw, 2)).background = Color.white;);});
477                                 if((f18 > ~outmaxa) or: (f18 < ~outmina), {~z42.close;~z18.close;~z42 = (CompositeView(w, Rect((f18.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+180, ~nw, 2)).background = Color.white;);}, {~z18.close;~z42.close;~z18 = (CompositeView(w, Rect((f18.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+180, ~nw, 2)).background = Color.white;);});
478                                 if((f19 > ~outmaxa) or: (f19 < ~outmina), {~z43.close;~z19.close;~z43 = (CompositeView(w, Rect((f19.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+190, ~nw, 2)).background = Color.white;);}, {~z19.close;~z43.close;~z19 = (CompositeView(w, Rect((f19.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+190, ~nw, 2)).background = Color.white;);});
479                                 */      /*if((f20 > ~outmaxa) or: (f20 < ~outmina), {~z44.close;~z20.close;~z44 = (CompositeView(w, Rect((f20.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+200, ~nw, 2)).background = Color.white;);}, {~z20.close;~z44.close;~z20 = (CompositeView(w, Rect((f20.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+200, ~nw, 2)).background = Color.white;);});
480                                 if((f21 > ~outmaxa) or: (f21 < ~outmina), {~z45.close;~z21.close;~z45 = (CompositeView(w, Rect((f21.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+210, ~nw, 2)).background = Color.white;);}, {~z21.close;~z45.close;~z21 = (CompositeView(w, Rect((f21.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+210, ~nw, 2)).background = Color.white;);});
481                                 if((f22 > ~outmaxa) or: (f22 < ~outmina), {~z46.close;~z22.close;~z46 = (CompositeView(w, Rect((f22.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+220, ~nw, 2)).background = Color.white;);}, {~z22.close;~z46.close;~z22 = (CompositeView(w, Rect((f22.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+220, ~nw, 2)).background = Color.white;);});
482                                 if((f23 > ~outmaxa) or: (f23 < ~outmina), {~z47.close;~z23.close;~z47 = (CompositeView(w, Rect((f23.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+230, ~nw, 2)).background = Color.white;);}, {~z23.close;~z47.close;~z23 = (CompositeView(w, Rect((f23.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+230, ~nw, 2)).background = Color.white;);});
483                                 if((f24 > ~outmaxa) or: (f24 < ~outmina), {~z48.close;~z24.close;~z48 = (CompositeView(w, Rect((f24.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+240, ~nw, 2)).background = Color.white;);}, {~z24.close;~z48.close;~z24 = (CompositeView(w, Rect((f24.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+240, ~nw, 2)).background = Color.white;);});
484                                 */
485                                 b3.value = 1;
486                         };
487
488                         ~synthflow = {
489                                 case
490                                 {~ics1.isRunning == true}{
491                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
492                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
493                                                 ~ics1.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
494                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
495                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7); }););
496                                 }
497                                 {~ics.isRunning == true} {
498                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
499                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
500                                                 ~ics.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
501                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
502                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);  }););
503                                 };
504
505                                 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;);});
506                                 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;);});
507                                 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;);});
508                                 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;);});
509                                 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;);});
510                                 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;);});
511                                 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;);});
512                                 /*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;);});
513                                 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;);});
514                                 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;);});
515                                 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;);});
516                                 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;);});
517                                 *//*if((f13 > ~outmaxa) or: (f13 < ~outmina), {~z37.close;~z13.close;~z37 = (CompositeView(w, Rect((f13.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+130, ~nw, 2)).background = Color.white;);}, {~z13.close;~z37.close;~z13 = (CompositeView(w, Rect((f13.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+130, ~nw, 2)).background = Color.white;);});
518                                 if((f14 > ~outmaxa) or: (f14 < ~outmina), {~z38.close;~z14.close;~z38 = (CompositeView(w, Rect((f14.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+140, ~nw, 2)).background = Color.white;);}, {~z14.close;~z38.close;~z14 = (CompositeView(w, Rect((f14.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+140, ~nw, 2)).background = Color.white;);});
519                                 if((f15 > ~outmaxa) or: (f15 < ~outmina), {~z39.close;~z15.close;~z39 = (CompositeView(w, Rect((f15.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+150, ~nw, 2)).background = Color.white;);}, {~z15.close;~z39.close;~z15 = (CompositeView(w, Rect((f15.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+150, ~nw, 2)).background = Color.white;);});
520                                 if((f16 > ~outmaxa) or: (f16 < ~outmina), {~z40.close;~z16.close;~z40 = (CompositeView(w, Rect((f16.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+160, ~nw, 2)).background = Color.white;);}, {~z16.close;~z40.close;~z16 = (CompositeView(w, Rect((f16.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+160, ~nw, 2)).background = Color.white;);});
521                                 if((f17 > ~outmaxa) or: (f17 < ~outmina), {~z41.close;~z17.close;~z41 = (CompositeView(w, Rect((f17.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+170, ~nw, 2)).background = Color.white;);}, {~z17.close;~z41.close;~z17 = (CompositeView(w, Rect((f17.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+170, ~nw, 2)).background = Color.white;);});
522                                 if((f18 > ~outmaxa) or: (f18 < ~outmina), {~z42.close;~z18.close;~z42 = (CompositeView(w, Rect((f18.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+180, ~nw, 2)).background = Color.white;);}, {~z18.close;~z42.close;~z18 = (CompositeView(w, Rect((f18.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+180, ~nw, 2)).background = Color.white;);});
523                                 if((f19 > ~outmaxa) or: (f19 < ~outmina), {~z43.close;~z19.close;~z43 = (CompositeView(w, Rect((f19.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+190, ~nw, 2)).background = Color.white;);}, {~z19.close;~z43.close;~z19 = (CompositeView(w, Rect((f19.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+190, ~nw, 2)).background = Color.white;);});
524                                 */      /*if((f20 > ~outmaxa) or: (f20 < ~outmina), {~z44.close;~z20.close;~z44 = (CompositeView(w, Rect((f20.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+200, ~nw, 2)).background = Color.white;);}, {~z20.close;~z44.close;~z20 = (CompositeView(w, Rect((f20.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+200, ~nw, 2)).background = Color.white;);});
525                                 if((f21 > ~outmaxa) or: (f21 < ~outmina), {~z45.close;~z21.close;~z45 = (CompositeView(w, Rect((f21.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+210, ~nw, 2)).background = Color.white;);}, {~z21.close;~z45.close;~z21 = (CompositeView(w, Rect((f21.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+210, ~nw, 2)).background = Color.white;);});
526                                 if((f22 > ~outmaxa) or: (f22 < ~outmina), {~z46.close;~z22.close;~z46 = (CompositeView(w, Rect((f22.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+220, ~nw, 2)).background = Color.white;);}, {~z22.close;~z46.close;~z22 = (CompositeView(w, Rect((f22.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+220, ~nw, 2)).background = Color.white;);});
527                                 if((f23 > ~outmaxa) or: (f23 < ~outmina), {~z47.close;~z23.close;~z47 = (CompositeView(w, Rect((f23.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+230, ~nw, 2)).background = Color.white;);}, {~z23.close;~z47.close;~z23 = (CompositeView(w, Rect((f23.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+230, ~nw, 2)).background = Color.white;);});
528                                 if((f24 > ~outmaxa) or: (f24 < ~outmina), {~z48.close;~z24.close;~z48 = (CompositeView(w, Rect((f24.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+240, ~nw, 2)).background = Color.white;);}, {~z24.close;~z48.close;~z24 = (CompositeView(w, Rect((f24.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+240, ~nw, 2)).background = Color.white;);});
529                                 */
530                         };
531
532                         ~synthslide = {
533                                 case
534                                 {~ics1.isRunning == true}{(//fprog
535                                         ~slideroutine = Routine({1.do({var a,b,c,d,e,f,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
536                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
537                                                 ~slidedo.do({~slidecount=~slidecount-1;
538                                                         (
539                                                                 [ ~f1=~f1+g,~f2=~f2+h,~f3=~f3+i,~f4=~f4+j,~f5=~f5+k,~f6=~f6+l,~f7=~f7+m ];
540                                                                 ~ics1.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
541                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
542                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);
543                                                         );
544
545                                                         {if(~slidecount==0,{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;);});
546                                                                 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;);});
547                                                                 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;);});
548                                                                 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;);});
549                                                                 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;);});
550                                                                 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;);});
551                                                                 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;);});
552                                                                 /*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;);});
553                                                                 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;);});
554                                                                 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;);});
555                                                                 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;);});
556                                                                 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;);});
557                                                                 *//*if((f13 > ~outmaxa) or: (f13 < ~outmina), {~z37.close;~z13.close;~z37 = (CompositeView(w, Rect((f13.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+130, ~nw, 2)).background = Color.white;);}, {~z13.close;~z37.close;~z13 = (CompositeView(w, Rect((f13.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+130, ~nw, 2)).background = Color.white;);});
558                                                                 if((f14 > ~outmaxa) or: (f14 < ~outmina), {~z38.close;~z14.close;~z38 = (CompositeView(w, Rect((f14.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+140, ~nw, 2)).background = Color.white;);}, {~z14.close;~z38.close;~z14 = (CompositeView(w, Rect((f14.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+140, ~nw, 2)).background = Color.white;);});
559                                                                 if((f15 > ~outmaxa) or: (f15 < ~outmina), {~z39.close;~z15.close;~z39 = (CompositeView(w, Rect((f15.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+150, ~nw, 2)).background = Color.white;);}, {~z15.close;~z39.close;~z15 = (CompositeView(w, Rect((f15.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+150, ~nw, 2)).background = Color.white;);});
560                                                                 if((f16 > ~outmaxa) or: (f16 < ~outmina), {~z40.close;~z16.close;~z40 = (CompositeView(w, Rect((f16.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+160, ~nw, 2)).background = Color.white;);}, {~z16.close;~z40.close;~z16 = (CompositeView(w, Rect((f16.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+160, ~nw, 2)).background = Color.white;);});
561                                                                 if((f17 > ~outmaxa) or: (f17 < ~outmina), {~z41.close;~z17.close;~z41 = (CompositeView(w, Rect((f17.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+170, ~nw, 2)).background = Color.white;);}, {~z17.close;~z41.close;~z17 = (CompositeView(w, Rect((f17.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+170, ~nw, 2)).background = Color.white;);});
562                                                                 if((f18 > ~outmaxa) or: (f18 < ~outmina), {~z42.close;~z18.close;~z42 = (CompositeView(w, Rect((f18.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+180, ~nw, 2)).background = Color.white;);}, {~z18.close;~z42.close;~z18 = (CompositeView(w, Rect((f18.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+180, ~nw, 2)).background = Color.white;);});
563                                                                 if((f19 > ~outmaxa) or: (f19 < ~outmina), {~z43.close;~z19.close;~z43 = (CompositeView(w, Rect((f19.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+190, ~nw, 2)).background = Color.white;);}, {~z19.close;~z43.close;~z19 = (CompositeView(w, Rect((f19.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+190, ~nw, 2)).background = Color.white;);});
564                                                                 */      /*if((f20 > ~outmaxa) or: (f20 < ~outmina), {~z44.close;~z20.close;~z44 = (CompositeView(w, Rect((f20.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+200, ~nw, 2)).background = Color.white;);}, {~z20.close;~z44.close;~z20 = (CompositeView(w, Rect((f20.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+200, ~nw, 2)).background = Color.white;);});
565                                                                 if((f21 > ~outmaxa) or: (f21 < ~outmina), {~z45.close;~z21.close;~z45 = (CompositeView(w, Rect((f21.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+210, ~nw, 2)).background = Color.white;);}, {~z21.close;~z45.close;~z21 = (CompositeView(w, Rect((f21.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+210, ~nw, 2)).background = Color.white;);});
566                                                                 if((f22 > ~outmaxa) or: (f22 < ~outmina), {~z46.close;~z22.close;~z46 = (CompositeView(w, Rect((f22.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+220, ~nw, 2)).background = Color.white;);}, {~z22.close;~z46.close;~z22 = (CompositeView(w, Rect((f22.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+220, ~nw, 2)).background = Color.white;);});
567                                                                 if((f23 > ~outmaxa) or: (f23 < ~outmina), {~z47.close;~z23.close;~z47 = (CompositeView(w, Rect((f23.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+230, ~nw, 2)).background = Color.white;);}, {~z23.close;~z47.close;~z23 = (CompositeView(w, Rect((f23.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+230, ~nw, 2)).background = Color.white;);});
568                                                                 if((f24 > ~outmaxa) or: (f24 < ~outmina), {~z48.close;~z24.close;~z48 = (CompositeView(w, Rect((f24.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+240, ~nw, 2)).background = Color.white;);}, {~z24.close;~z48.close;~z24 = (CompositeView(w, Rect((f24.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+240, ~nw, 2)).background = Color.white;);});
569                                                         */});}.defer;
570
571                                                         (~slidetime/~slidedo).wait;});});}).play;);}
572                                 {~ics.isRunning == true} {(//fprog
573                                         ~slideroutine = Routine({1.do({var a,b,c,d,e,f,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
574                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
575                                                 ~slidedo.do({~slidecount=~slidecount-1;
576                                                         (
577                                                                 [ ~f1=~f1+g,~f2=~f2+h,~f3=~f3+i,~f4=~f4+j,~f5=~f5+k,~f6=~f6+l,~f7=~f7+m ];
578                                                                 ~ics1.set(\dur1, ~f1,\dur2, ~f2,\dur3, ~f3,\dur4, ~f4,\dur5, ~f5,\dur6, ~f6,\dur7, ~f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
579                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
580                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);
581
582                                                         );
583
584                                                         {if(~slidecount==0,{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;);});
585                                                                 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;);});
586                                                                 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;);});
587                                                                 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;);});
588                                                                 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;);});
589                                                                 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;);});
590                                                                 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;);});
591                                                                 /*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;);});
592                                                                 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;);});
593                                                                 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;);});
594                                                                 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;);});
595                                                                 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;);});
596                                                                 *//*if((f13 > ~outmaxa) or: (f13 < ~outmina), {~z37.close;~z13.close;~z37 = (CompositeView(w, Rect((f13.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+130, ~nw, 2)).background = Color.white;);}, {~z13.close;~z37.close;~z13 = (CompositeView(w, Rect((f13.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+130, ~nw, 2)).background = Color.white;);});
597                                                                 if((f14 > ~outmaxa) or: (f14 < ~outmina), {~z38.close;~z14.close;~z38 = (CompositeView(w, Rect((f14.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+140, ~nw, 2)).background = Color.white;);}, {~z14.close;~z38.close;~z14 = (CompositeView(w, Rect((f14.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+140, ~nw, 2)).background = Color.white;);});
598                                                                 if((f15 > ~outmaxa) or: (f15 < ~outmina), {~z39.close;~z15.close;~z39 = (CompositeView(w, Rect((f15.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+150, ~nw, 2)).background = Color.white;);}, {~z15.close;~z39.close;~z15 = (CompositeView(w, Rect((f15.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+150, ~nw, 2)).background = Color.white;);});
599                                                                 if((f16 > ~outmaxa) or: (f16 < ~outmina), {~z40.close;~z16.close;~z40 = (CompositeView(w, Rect((f16.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+160, ~nw, 2)).background = Color.white;);}, {~z16.close;~z40.close;~z16 = (CompositeView(w, Rect((f16.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+160, ~nw, 2)).background = Color.white;);});
600                                                                 if((f17 > ~outmaxa) or: (f17 < ~outmina), {~z41.close;~z17.close;~z41 = (CompositeView(w, Rect((f17.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+170, ~nw, 2)).background = Color.white;);}, {~z17.close;~z41.close;~z17 = (CompositeView(w, Rect((f17.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+170, ~nw, 2)).background = Color.white;);});
601                                                                 if((f18 > ~outmaxa) or: (f18 < ~outmina), {~z42.close;~z18.close;~z42 = (CompositeView(w, Rect((f18.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+180, ~nw, 2)).background = Color.white;);}, {~z18.close;~z42.close;~z18 = (CompositeView(w, Rect((f18.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+180, ~nw, 2)).background = Color.white;);});
602                                                                 if((f19 > ~outmaxa) or: (f19 < ~outmina), {~z43.close;~z19.close;~z43 = (CompositeView(w, Rect((f19.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+190, ~nw, 2)).background = Color.white;);}, {~z19.close;~z43.close;~z19 = (CompositeView(w, Rect((f19.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+190, ~nw, 2)).background = Color.white;);});
603                                                                 */      /*if((f20 > ~outmaxa) or: (f20 < ~outmina), {~z44.close;~z20.close;~z44 = (CompositeView(w, Rect((f20.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+200, ~nw, 2)).background = Color.white;);}, {~z20.close;~z44.close;~z20 = (CompositeView(w, Rect((f20.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+200, ~nw, 2)).background = Color.white;);});
604                                                                 if((f21 > ~outmaxa) or: (f21 < ~outmina), {~z45.close;~z21.close;~z45 = (CompositeView(w, Rect((f21.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+210, ~nw, 2)).background = Color.white;);}, {~z21.close;~z45.close;~z21 = (CompositeView(w, Rect((f21.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+210, ~nw, 2)).background = Color.white;);});
605                                                                 if((f22 > ~outmaxa) or: (f22 < ~outmina), {~z46.close;~z22.close;~z46 = (CompositeView(w, Rect((f22.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+220, ~nw, 2)).background = Color.white;);}, {~z22.close;~z46.close;~z22 = (CompositeView(w, Rect((f22.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+220, ~nw, 2)).background = Color.white;);});
606                                                                 if((f23 > ~outmaxa) or: (f23 < ~outmina), {~z47.close;~z23.close;~z47 = (CompositeView(w, Rect((f23.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+230, ~nw, 2)).background = Color.white;);}, {~z23.close;~z47.close;~z23 = (CompositeView(w, Rect((f23.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+230, ~nw, 2)).background = Color.white;);});
607                                                                 if((f24 > ~outmaxa) or: (f24 < ~outmina), {~z48.close;~z24.close;~z48 = (CompositeView(w, Rect((f24.explin(~outminb,~outmaxb,0,Window.screenBounds.width)), ~dc1+240, ~nw, 2)).background = Color.white;);}, {~z24.close;~z48.close;~z24 = (CompositeView(w, Rect((f24.explin(~outmina,~outmaxa,0,Window.screenBounds.width)), ~dc2+240, ~nw, 2)).background = Color.white;);});
608                                                         */});}.defer;
609
610                                                         (~slidetime/~slidedo).wait;});});}).play;);};
611                         };
612
613                         ~synthpause = {(
614                                 case
615                                 {~ics1.isRunning == true}{
616                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
617                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
618                                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12/*,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24*/ = [0,0,0,0,0,0,0,0,0,0,0,0];
619                                                 ~ics1.set(\dur1, f1,\dur2, f2,\dur3, f3,\dur4, f4,\dur5, f5,\dur6, f6,\dur7, f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
620                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
621                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);     }););
622                                 }
623                                 {~ics.isRunning == true} {
624                                         (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
625                                                 #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
626                                                 #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12/*,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24*/ = [0,0,0,0,0,0,0,0,0,0,0,0];
627                                                 ~ics.set(\dur1, f1,\dur2, f2,\dur3, f3,\dur4, f4,\dur5, f5,\dur6, f6,\dur7, f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
628                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
629                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);
630                                         }););
631                                 };
632                                 );
633                         };
634
635                         ~synthfree = {
636                                 (
637                                         case
638                                         {((~ics.isRunning == false) and: (~ics1.isRunning == false)) or: ~ics1.isRunning == true}{
639                                                 (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
640                                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
641                                                         #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
642                                                         ~ics1.set(\dur1, f1,\dur2, f2,\dur3, f3,\dur4, f4,\dur5, f5,\dur6, f6,\dur7, f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
643                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
644                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7);     }););
645                                                 AppClock.sched(0.161803398875,{
646                                                         ([~ics1].do(_.free)); ~slideroutine.stop;
647                                                 });
648                                         }
649                                         {~ics.isRunning == true}{
650                                                 (1.do({var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,fs,rs,vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12,tune1,tune2,tune3,tune4,tune5,tune6,tune7,s1,s2,s3,s4,s5,s6,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,fs1,fs2,fs3,fs4,fs5,fs6,fd1,fd2,fd3,fd4,fd5,fd6,tune=0;
651                                                         #vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10,vol11,vol12 = [~vol1,~vol2,~vol3,~vol4,~vol5,~vol6,~vol7,~vol8,~vol9,~vol10,~vol11,~vol12];
652                                                         #f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12 = [ 0,0,0,0,0,0,0,0,0,0,0,0 ];
653                                                         ~ics.set(\dur1, f1,\dur2, f2,\dur3, f3,\dur4, f4,\dur5, f5,\dur6, f6,\dur7, f7, \a, a, \b, b, \c, c, \d, d, \e, e, \f, f,
654                                                 \vol1, vol1,\vol2, vol2,\vol3, vol3,\vol4, vol4,\vol5, vol5,\vol6, vol6,\vol7, vol7,
655                                         \tune1, tune1,\tune2, tune2,\tune3, tune3,\tune4, tune4,\tune5, tune5,\tune6, tune6,\tune7, tune7); }););
656                                                 AppClock.sched(0.161803398875,{
657                                                         ([~ics].do(_.free)); ~slideroutine.stop;
658                                                 });
659                                         };
660                                 );
661                         };
662
663                         case
664                         {~slot1 == nil}{""}
665                         {~slot2 == nil}{""}
666                         {~slot3 == nil}{""}
667                         {~slot4 == nil}{""}
668                         {~slot5 == nil}{""}
669                         {~slot6 == nil}{""}
670                         {~slot7 == nil}{""}
671                         {~slot8 == nil}{""};
672
673                         ~timevals = {(~tst = TextView(w, Rect(~tspl,~tspt, ~tspw, ~tsph)).background_(Color.black);
674                                 (~tst.string =
675                                         "o1:_"++~time1o.value.asString++"_f1:_"++~time1f.value.asString++"_s1:_"++~time1s.value.asString++"\n" ++
676                                         "o2:_"++~time2o.value.asString++"_f2:_"++~time2f.value.asString++"_s2:_"++~time2s.value.asString++"\n" ++
677                                         "o3:_"++~time3o.value.asString++"_f3:_"++~time3f.value.asString++"_s3:_"++~time3s.value.asString++"\n" ++
678                                         "o4:_"++~time4o.value.asString++"_f4:_"++~time4f.value.asString++"_s4:_"++~time4s.value.asString++"\n" ++
679                                         "o5:_"++~time5o.value.asString++"_f5:_"++~time5f.value.asString++"_s5:_"++~time5s.value.asString++"\n" ++
680                                         "o6:_"++~time6o.value.asString++"_f6:_"++~time6f.value.asString++"_s6:_"++~time6s.value.asString++"\n" ++
681                                         "o7:_"++~time7o.value.asString++"_f7:_"++~time7f.value.asString++"_s7:_"++~time7s.value.asString++"\n" ++
682                                         "o8:_"++~time8o.value.asString++"_f8:_"++~time8f.value.asString++"_s8:_"++~time8s.value.asString++"\n" ++"\n" ++
683                                         if(~slot8 != ~slot, {
684                                                 (~slot1 = ~slot2).asString++"\n" ++
685                                                 (~slot2 = ~slot3).asString++"\n" ++
686                                                 (~slot3 = ~slot4).asString++"\n" ++
687                                                 (~slot4 = ~slot5).asString++"\n" ++
688                                                 (~slot5 = ~slot6).asString++"\n" ++
689                                                 (~slot6 = ~slot7).asString++"\n" ++
690                                                 (~slot7 = ~slot8).asString++"\n" ++
691                                                 (~slot8 = ~slot).asString;
692                                                 },{
693                                                         (~slot1).asString++"\n" ++
694                                                         (~slot2).asString++"\n" ++
695                                                         (~slot3).asString++"\n" ++
696                                                         (~slot4).asString++"\n" ++
697                                                         (~slot5).asString++"\n" ++
698                                                         (~slot6).asString++"\n" ++
699                                                         (~slot7).asString++"\n" ++
700                                                         (~slot8).asString;
701                                         });
702
703                                 );
704                                 ~tst.stringColor = Color.white;
705                         )};
706
707                         ~numsynthsfunc = {
708                                 if((~numsynths != nil) or: (~numsynths.isPlaying == true), {~numsynths.stop;});
709                                 ~numsynths = Routine({inf.do({if((s.numSynths > 7) and: (3.wait; s.numSynths > 7) and: (6.wait; s.numSynths > 7), {
710
711                                         AppClock.sched(0, {
712                                                 if(~numsynthmessage != nil, {~numsynthmessage.close;});
713                                                 ~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;
714                                                 ~numsynthmessagestring = StaticText(~numsynthmessage, Rect(0,0,340+46,340+46/1.6180339887499)).background_(Color.black);
715                                                 ~numsynthmessagestring.align = \topLeft;
716                                                 ~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.";
717                                                 ~numsynthmessagestring.stringColor = Color.white;
718                                                 ~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;});});
719                                                 ~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;});});
720                                                 ~numsynthmessage.front;
721                                         });
722                                 }); 1.wait;});}).play;
723                         };
724
725                         ~numsynthsfunc.value;
726
727                         view.mouseDownAction = {
728                                 |v, x, y, mod, butNum|
729                                 point = [x,y];
730                                 if(butNum == 0, { v.refresh;
731
732                                         ~tgrid = 30;
733                                         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
734
735                                         case
736                                         {y<~tgrid} {nil}
737                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z1.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
738                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z2.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
739                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z3.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
740                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z4.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
741                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z5.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
742                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z6.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
743                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {~z7.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
744                                         {y>~tgrid and: y<~bgrid} {nil}
745                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z1.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
746                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z2.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
747                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z3.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
748                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z4.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
749                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z5.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
750                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z6.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
751                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z7.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
752                                 }, {});
753
754                                 ~tgrid = 30;
755                                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
756
757                                 case
758                                 {~ics.isRunning == true}{
759                                         case
760                                         {y<~tgrid} {nil}
761                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
762                                                 ~ics.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f1=q.value; ~undof1=~f1;}
763                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
764                                                 ~ics.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f2=q.value; ~undof2=~f2;}
765                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
766                                                 ~lc.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f3=q.value; ~undof3=~f3;}
767                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
768                                                 ~ld.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f4=q.value; ~undof4=~f4;}
769                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
770                                                 ~ics.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f5=q.value; ~undof5=~f5;}
771                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
772                                                 ~ics.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f6=q.value; ~undof6=~f6;}
773                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
774                                                 ~ics.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f7=q.value; ~undof7=~f7;}
775                                         {y>~tgrid and: y<~bgrid} {nil}
776                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
777                                                 ~ics.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f1=q.value; ~undof1=~f1;}
778                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
779                                                 ~ics.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f2=q.value; ~undof2=~f2;}
780                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
781                                                 ~lc.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f3=q.value; ~undof3=~f3;}
782                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
783                                                 ~ld.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f4=q.value; ~undof4=~f4;}
784                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
785                                                 ~ics.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f5=q.value; ~undof5=~f5;}
786                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
787                                                 ~ics.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f6=q.value; ~undof6=~f6;}
788                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
789                                                 ~ics.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f7=q.value; ~undof7=~f7;}
790
791                                 }
792                                 {~ics1.isRunning == true}{
793                                         case
794                                         {y<~tgrid} {nil}
795                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
796                                                 ~ics1.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f1=q.value; ~undof1=~f1;}
797                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
798                                                 ~ics1.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f2=q.value; ~undof2=~f2;}
799                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
800                                                 ~ics1.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f3=q.value; ~undof3=~f3;}
801                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
802                                                 ~ics1.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f4=q.value; ~undof4=~f4;}
803                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
804                                                 ~ics1.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f5=q.value; ~undof5=~f5;}
805                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
806                                                 ~ics1.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f6=q.value; ~undof6=~f6;}
807                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
808                                                 ~ics1.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f7=q.value; ~undof7=~f7;}
809                                         {y>~tgrid and: y<~bgrid} {nil}
810                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
811                                                 ~ics1.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f1=q.value; ~undof1=~f1;}
812                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
813                                                 ~ics1.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f2=q.value; ~undof2=~f2;}
814                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
815                                                 ~ics1.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f3=q.value; ~undof3=~f3;}
816                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
817                                                 ~ics1.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f4=q.value; ~undof4=~f4;}
818                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
819                                                 ~ics1.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f5=q.value; ~undof5=~f5;}
820                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
821                                                 ~ics1.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f6=q.value; ~undof6=~f6;}
822                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
823                                                 ~ics1.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f7=q.value; ~undof7=~f7;}
824                                 };
825                         };
826
827                         //draw lines with Pen and create Synths according to mouse movement
828                         view.mouseMoveAction = {
829                                 |v, x, y|
830
831                                 ~nh = 2;
832                                 ~nw = ~nh*1.6180339887499;
833
834                                 ~tgrid = 30;
835                                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
836
837                                 case
838                                 {y<~tgrid} {nil}
839                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
840                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
841                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
842                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
843                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
844                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)}  {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
845                                 {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
846                                 {y>~tgrid and: y<~bgrid} {nil}
847                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z1.close;~z25.close;~z1 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
848                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z2.close;~z26.close;~z2 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
849                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z3.close;~z27.close;~z3 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
850                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z4.close;~z28.close;~z4 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
851                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z5.close;~z29.close;~z5 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
852                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z6.close;~z30.close;~z6 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)}
853                                 {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {~z7.close;~z31.close;~z7 = (CompositeView(w, Rect(x, y, ~nw, 2)).background = Color.white;)};
854                                 w.refresh;
855
856                                 ~tgrid = 30;
857                                 ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
858
859                                 case
860                                 {~ics.isRunning == true}{
861                                         case
862                                         {y<~tgrid} {nil}
863                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
864                                                 ~ics.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f1=q.value; ~undof1=~f1;}
865                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
866                                                 ~ics.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f2=q.value; ~undof2=~f2;}
867                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
868                                                 ~lc.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f3=q.value; ~undof3=~f3;}
869                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
870                                                 ~ld.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f4=q.value; ~undof4=~f4;}
871                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
872                                                 ~ics.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f5=q.value; ~undof5=~f5;}
873                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
874                                                 ~ics.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f6=q.value; ~undof6=~f6;}
875                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
876                                                 ~ics.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f7=q.value; ~undof7=~f7;}
877                                         {y>~tgrid and: y<~bgrid} {nil}
878                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
879                                                 ~ics.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f1=q.value; ~undof1=~f1;}
880                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
881                                                 ~ics.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f2=q.value; ~undof2=~f2;}
882                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
883                                                 ~lc.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f3=q.value; ~undof3=~f3;}
884                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
885                                                 ~ld.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f4=q.value; ~undof4=~f4;}
886                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
887                                                 ~ics.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f5=q.value; ~undof5=~f5;}
888                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
889                                                 ~ics.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f6=q.value; ~undof6=~f6;}
890                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
891                                                 ~ics.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f7=q.value; ~undof7=~f7;}
892
893                                 }
894                                 {~ics1.isRunning == true}{
895                                         case
896                                         {y<~tgrid} {nil}
897                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
898                                                 ~ics1.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f1=q.value; ~undof1=~f1;}
899                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
900                                                 ~ics1.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f2=q.value; ~undof2=~f2;}
901                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
902                                                 ~ics1.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f3=q.value; ~undof3=~f3;}
903                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
904                                                 ~ics1.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f4=q.value; ~undof4=~f4;}
905                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
906                                                 ~ics1.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f5=q.value; ~undof5=~f5;}
907                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
908                                                 ~ics1.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f6=q.value; ~undof6=~f6;}
909                                         {y>=(~tgrid) and: y<=(~tgrid=~tgrid+10)} {
910                                                 ~ics1.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin1,~outmax1)).value);~f7=q.value; ~undof7=~f7;}
911                                         {y>~tgrid and: y<~bgrid} {nil}
912                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
913                                                 ~ics1.set(\dur1, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f1=q.value; ~undof1=~f1;}
914                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
915                                                 ~ics1.set(\dur2, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f2=q.value; ~undof2=~f2;}
916                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
917                                                 ~ics1.set(\dur3, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f3=q.value; ~undof3=~f3;}
918                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
919                                                 ~ics1.set(\dur4, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f4=q.value; ~undof4=~f4;}
920                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
921                                                 ~ics1.set(\dur5, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f5=q.value; ~undof5=~f5;}
922                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
923                                                 ~ics1.set(\dur6, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f6=q.value; ~undof6=~f6;}
924                                         {y>=(~bgrid) and: y<=(~bgrid=~bgrid+10)} {
925                                                 ~ics1.set(\dur7, q=((x/(Window.screenBounds.width)).linexp(0,1,~outmin2,~outmax2)).value);~f7=q.value; ~undof7=~f7;}
926                                 };
927                         };
928
929                         ~tgrid = 30;
930                         ~bgrid = Window.screenBounds.height-(Window.screenBounds.height/1.6180339887499)+30;
931                         ~dc1 = ~tgrid-5; ~dc2 = ~bgrid-5; ~dca = 10;
932
933                         ~bpl = Window.screenBounds.width-340;
934                         ~bpt = Window.screenBounds.height-88;
935                         ~bph = 40;
936                         ~bpw = 40/1.6180339887499;
937
938                         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;
939                                 if(button.value == 1, {
940
941                                         ~tsc = TextView(w, Rect(0,0, 1600*2, 354)).background_(Color.black);
942                                         (~tsc.string =
943                                                 "saved: "++"\n"++
944                                                 "1: "++"\n"++"[~f1="++fp1.asString++",~f2="++fp2.asString++",~f3="++fp3.asString++",~f4="++fp4.asString++",~f5="++fp5.asString++",~f6="++fp6.asString++",~f7="++fp7.asString++"]"++"\n"++
945                                                 "2: "++"\n"++"[~f1="++fp1b.asString++",~f2="++fp2b.asString++",~f3="++fp3b.asString++",~f4="++fp4b.asString++",~f5="++fp5b.asString++",~f6="++fp6b.asString++",~f7="++fp7b.asString++"]"++"\n"++
946                                                 "3: "++"\n"++"[~f1="++fp1c.asString++",~f2="++fp2c.asString++",~f3="++fp3c.asString++",~f4="++fp4c.asString++",~f5="++fp5c.asString++",~f6="++fp6c.asString++",~f7="++fp7c.asString++"]"++"\n"++
947                                                 "4: "++"\n"++"[~f1="++fp1d.asString++",~f2="++fp2d.asString++",~f3="++fp3d.asString++",~f4="++fp4d.asString++",~f5="++fp5d.asString++",~f6="++fp6d.asString++",~f7="++fp7d.asString++"]"++"\n"++
948                                                 "5: "++"\n"++"[~f1="++fp1e.asString++",~f2="++fp2e.asString++",~f3="++fp3e.asString++",~f4="++fp4e.asString++",~f5="++fp5e.asString++",~f6="++fp6e.asString++",~f7="++fp7e.asString++"]"++"\n"++
949                                                 "6: "++"\n"++"[~f1="++fp1f.asString++",~f2="++fp2f.asString++",~f3="++fp3f.asString++",~f4="++fp4f.asString++",~f5="++fp5f.asString++",~f6="++fp6f.asString++",~f7="++fp7f.asString++"]"++"\n"++
950                                                 "7: "++"\n"++"[~f1="++fp1g.asString++",~f2="++fp2g.asString++",~f3="++fp3g.asString++",~f4="++fp4g.asString++",~f5="++fp5g.asString++",~f6="++fp6g.asString++",~f7="++fp7g.asString++"]"++"\n"++
951                                                 "8: "++"\n"++"[~f1="++fp1h.asString++",~f2="++fp2h.asString++",~f3="++fp3h.asString++",~f4="++fp4h.asString++",~f5="++fp5h.asString++",~f6="++fp6h.asString++",~f7="++fp7h.asString++"]"++"\n"++"\n"++
952
953                                                 "current: "++"\n"++
954                                                 "[~f1="++~f1.asString++",~f2="++~f2.asString++",~f3="++~f3.asString++",~f4="++~f4.asString++",~f5="++~f5.asString++",~f6="++~f6.asString++",~f7="++~f7.asString++"]"
955
956                                         );
957                                         ~tsc.stringColor = Color.white;
958                                         (str= [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7/*,~f8,~f9,~f10,~f11,~f12*/ ];("echo"+str+"| xclip -selection clipboard").unixCmd;);
959                                         [ ~f1,~f2,~f3,~f4,~f5,~f6,~f7/*,~f8,~f9,~f10,~f11,~f12*/ ].postln;},
960                                         {~tsc.close;});
961                         });
962                         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;
963                                 if(~timer.isPlaying == true, {
964                                         if(~tst.value == nil, {~timer.stop; ~systemclock.stop; ~systemclock.clear;},{~tst.close;
965                                                 ~timevals.value;
966                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear;});
967                                 });
968                         });
969                         ~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, {
970                                 if(~tst != nil, {~tst.close});
971                                 ~timevals.value;
972                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear;},{if(~tst.value == nil, {~timer.stop; ~systemclock.stop; ~systemclock.clear;},{~timer.stop; ~systemclock.stop; ~systemclock.clear; ~tst.close;})})});
973                         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_({
974                                 arg synthbutton; if(synthbutton.value == 1, {
975                                         ~ics = Synth(\gsineicls,~icl6).register;~ics1 = Synth(\gsineicls,~icl6).register;[~ics, ~ics1].do(_.free);~ics = Synth(\gsineicls,~icl6).register;~ics1 = Synth(\gsineicls,~icl6).register;[~ics, ~ics1].do(_.free);
976                                         ~synthopen.value;
977                                         ~numsynths.stop; ~numsynthsfunc.value;
978                                         ~midifunc.value;
979                                         },
980                                         {~synthfree.value; b4.value = 0;})
981                         });
982                         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_({
983                                 arg synthbutton; if(synthbutton.value == 1, {~synthpause.value; ~timer.stop;},
984                                         {~synthflow.value; if(~time == 0, {~timer.stop;}, {~timer = Routine({inf.do({~time = ~time+0.01; ~time.postln; 0.01.wait;});}); SystemClock.play(~timer);})})
985                         });
986
987
988
989                         ~bph = 26;
990                         ~bpw = 26/1.6180339887499;
991                         ~bpl = Window.screenBounds.width-(~bph*8)-20;
992                         ~bpt = Window.screenBounds.height-88;
993
994                         ~bp01l = ~bpl;
995                         ~bp02l = ~bpl+~bph;
996                         ~bp03l = ~bpl+~bph+~bph;
997                         ~bp04l = ~bpl+~bph+~bph+~bph;
998                         ~bp05l = ~bpl+~bph+~bph+~bph+~bph;
999                         ~bp06l = ~bpl+~bph+~bph+~bph+~bph+~bph;
1000                         ~bp07l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph;
1001                         ~bp08l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph+~bph;
1002                         ~bpf1l = ~bpl;
1003                         ~bpf2l = ~bpl+~bph;
1004                         ~bpf3l = ~bpl+~bph+~bph;
1005                         ~bpf4l = ~bpl+~bph+~bph+~bph;
1006                         ~bpf5l = ~bpl+~bph+~bph+~bph+~bph;
1007                         ~bpf6l = ~bpl+~bph+~bph+~bph+~bph+~bph;
1008                         ~bpf7l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph;
1009                         ~bpf8l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph+~bph;
1010                         /*~bp01l = ~bpl;
1011                         ~bp02l = ~bpl;
1012                         ~bp03l = ~bpl+~bph;
1013                         ~bp04l = ~bpl+~bph;
1014                         ~bp05l = ~bpl+~bph+~bph;
1015                         ~bp06l = ~bpl+~bph+~bph;
1016                         ~bp07l = ~bpl+~bph+~bph+~bph;
1017                         ~bp08l = ~bpl+~bph+~bph+~bph;
1018                         ~bpf1l = ~bpl+~bph+~bph+~bph+~bph;
1019                         ~bpf2l = ~bpl+~bph+~bph+~bph+~bph;
1020                         ~bpf3l = ~bpl+~bph+~bph+~bph+~bph+~bph;
1021                         ~bpf4l = ~bpl+~bph+~bph+~bph+~bph+~bph;
1022                         ~bpf5l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph;
1023                         ~bpf6l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph;
1024                         ~bpf7l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph+~bph;
1025                         ~bpf8l = ~bpl+~bph+~bph+~bph+~bph+~bph+~bph+~bph;*/
1026
1027                         ~bp01t = ~bpt;
1028                         ~bp02t = ~bpt;
1029                         ~bp03t = ~bpt;
1030                         ~bp04t = ~bpt;
1031                         ~bp05t = ~bpt;
1032                         ~bp06t = ~bpt;
1033                         ~bp07t = ~bpt;
1034                         ~bp08t = ~bpt;
1035                         ~bpf1t = ~bpt+~bpw;
1036                         ~bpf2t = ~bpt+~bpw;
1037                         ~bpf3t = ~bpt+~bpw;
1038                         ~bpf4t = ~bpt+~bpw;
1039                         ~bpf5t = ~bpt+~bpw;
1040                         ~bpf6t = ~bpt+~bpw;
1041                         ~bpf7t = ~bpt+~bpw;
1042                         ~bpf8t = ~bpt+~bpw;
1043                         /*~bp01t = ~bpt;
1044                         ~bp02t = ~bpt+~bpw;
1045                         ~bp03t = ~bpt;
1046                         ~bp04t = ~bpt+~bpw;
1047                         ~bp05t = ~bpt;
1048                         ~bp06t = ~bpt+~bpw;
1049                         ~bp07t = ~bpt;
1050                         ~bp08t = ~bpt+~bpw;
1051                         ~bpf1t = ~bpt;
1052                         ~bpf2t = ~bpt+~bpw;
1053                         ~bpf3t = ~bpt;
1054                         ~bpf4t = ~bpt+~bpw;
1055                         ~bpf5t = ~bpt;
1056                         ~bpf6t = ~bpt+~bpw;
1057                         ~bpf7t = ~bpt;
1058                         ~bpf8t = ~bpt+~bpw;*/
1059
1060                         ~bp01h = ~bph;
1061                         ~bp02h = ~bph;
1062                         ~bp03h = ~bph;
1063                         ~bp04h = ~bph;
1064                         ~bp05h = ~bph;
1065                         ~bp06h = ~bph;
1066                         ~bp07h = ~bph;
1067                         ~bp08h = ~bph;
1068                         ~bpf1h = ~bph;
1069                         ~bpf2h = ~bph;
1070                         ~bpf3h = ~bph;
1071                         ~bpf4h = ~bph;
1072                         ~bpf5h = ~bph;
1073                         ~bpf6h = ~bph;
1074                         ~bpf7h = ~bph;
1075                         ~bpf8h = ~bph;
1076
1077                         ~bp01w = ~bpw;
1078                         ~bp02w = ~bpw;
1079                         ~bp03w = ~bpw;
1080                         ~bp04w = ~bpw;
1081                         ~bp05w = ~bpw;
1082                         ~bp06w = ~bpw;
1083                         ~bp07w = ~bpw;
1084                         ~bp08w = ~bpw;
1085                         ~bpf1w = ~bpw;
1086                         ~bpf2w = ~bpw;
1087                         ~bpf3w = ~bpw;
1088                         ~bpf4w = ~bpw;
1089                         ~bpf5w = ~bpw;
1090                         ~bpf6w = ~bpw;
1091                         ~bpf7w = ~bpw;
1092                         ~bpf8w = ~bpw;
1093
1094                         ~tspw=280+210;
1095                         ~tsph=280+210/~gm;
1096                         ~tspl=Window.screenBounds.width-~tspw;
1097                         ~tspt=~bpt-310;
1098
1099                         ~bplaceo1 = Button.new(w,Rect(~bp01l,~bp01t,~bp01h,~bp01w)).states_([["o1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1100
1101                                 if(~ts.value == 1,
1102                                         {if(~tst == nil, {nil}, {~tst.close;});
1103                                                 ~timevals.value;
1104                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1o = 0;
1105                                                 ~timer = Routine({inf.do({
1106                                                         ~time1o =
1107                                                         ~time1o+0.01; ~slot = "o1_"+~time1o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1108                                         {nil});
1109
1110                                 [~f1=fp1,~f2=fp2,~f3=fp3,~f4=fp4,~f5=fp5,~f6=fp6,~f7=fp7];
1111
1112                                 ~synthopen.value;
1113                                 ~currentsynth = "o1"; ~synthmonitorfunc.value;
1114                         });
1115
1116                         ~bplaceo2 = Button.new(w,Rect(~bp02l,~bp02t,~bp02h,~bp02w)).states_([["o2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1117
1118                                 if(~ts.value == 1,
1119                                         {if(~tst == nil, {nil}, {~tst.close;});
1120                                                 ~timevals.value;
1121                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2o = 0;
1122                                                 ~timer = Routine({inf.do({
1123                                                         ~time2o =
1124                                                         ~time2o+0.01; ~slot = "o2_"+~time2o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1125                                         {nil});
1126
1127                                 [~f1=fp1b,~f2=fp2b,~f3=fp3b,~f4=fp4b,~f5=fp5b,~f6=fp6b,~f7=fp7b];
1128
1129                                 ~synthopen.value;
1130                                 ~currentsynth = "o2"; ~synthmonitorfunc.value;
1131                         });
1132                         ~bplaceo3 = Button.new(w,Rect(~bp03l,~bp03t,~bp03h,~bp03w)).states_([["o3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1133
1134                                 if(~ts.value == 1,
1135                                         {if(~tst == nil, {nil}, {~tst.close;});
1136                                                 ~timevals.value;
1137                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3o = 0;
1138                                                 ~timer = Routine({inf.do({
1139                                                         ~time3o =
1140                                                         ~time3o+0.01; ~slot = "o3_"+~time3o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1141                                         {nil});
1142
1143                                 [~f1=fp1c,~f2=fp2c,~f3=fp3c,~f4=fp4c,~f5=fp5c,~f6=fp6c,~f7=fp7c];
1144
1145                                 ~synthopen.value;
1146                                 ~currentsynth = "o3"; ~synthmonitorfunc.value;
1147                         });
1148                         ~bplaceo4 = Button.new(w,Rect(~bp04l,~bp04t,~bp04h,~bp04w)).states_([["o4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1149
1150                                 if(~ts.value == 1,
1151                                         {if(~tst == nil, {nil}, {~tst.close;});
1152                                                 ~timevals.value;
1153                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4o = 0;
1154                                                 ~timer = Routine({inf.do({
1155                                                         ~time4o =
1156                                                         ~time4o+0.01; ~slot = "o4_"+~time4o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1157                                         {nil});
1158
1159                                 [~f1=fp1d,~f2=fp2d,~f3=fp3d,~f4=fp4d,~f5=fp5d,~f6=fp6d,~f7=fp7d];
1160
1161                                 ~synthopen.value;
1162                                 ~currentsynth = "o4"; ~synthmonitorfunc.value;
1163                         });
1164
1165                         ~bplaceo5 = Button.new(w,Rect(~bp05l,~bp05t,~bp05h,~bp05w)).states_([["o5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1166
1167                                 if(~ts.value == 1,
1168                                         {if(~tst == nil, {nil}, {~tst.close;});
1169                                                 ~timevals.value;
1170                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5o = 0;
1171                                                 ~timer = Routine({inf.do({
1172                                                         ~time5o =
1173                                                         ~time5o+0.01; ~slot = "o5_"+~time5o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1174                                         {nil});
1175
1176                                 [~f1=fp1e,~f2=fp2e,~f3=fp3e,~f4=fp4e,~f5=fp5e,~f6=fp6e,~f7=fp7e];
1177
1178                                 ~synthopen.value;
1179                                 ~currentsynth = "o5"; ~synthmonitorfunc.value;
1180                         });
1181                         ~bplaceo6 = Button.new(w,Rect(~bp06l,~bp06t,~bp06h,~bp06w)).states_([["o6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1182
1183                                 if(~ts.value == 1,
1184                                         {if(~tst == nil, {nil}, {~tst.close;});
1185                                                 ~timevals.value;
1186                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6o = 0;
1187                                                 ~timer = Routine({inf.do({
1188                                                         ~time6o =
1189                                                         ~time6o+0.01; ~slot = "o6_"+~time6o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1190                                         {nil});
1191
1192                                 [~f1=fp1f,~f2=fp2f,~f3=fp3f,~f4=fp4f,~f5=fp5f,~f6=fp6f,~f7=fp7f];
1193
1194                                 ~synthopen.value;
1195                                 ~currentsynth = "o6"; ~synthmonitorfunc.value;
1196                         });
1197                         ~bplaceo7 = Button.new(w,Rect(~bp07l,~bp07t,~bp07h,~bp07w)).states_([["o7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1198
1199                                 if(~ts.value == 1,
1200                                         {if(~tst == nil, {nil}, {~tst.close;});
1201                                                 ~timevals.value;
1202                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7o = 0;
1203                                                 ~timer = Routine({inf.do({
1204                                                         ~time7o =
1205                                                         ~time7o+0.01; ~slot = "o7_"+~time7o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1206                                         {nil});
1207
1208                                 [~f1=fp1g,~f2=fp2g,~f3=fp3g,~f4=fp4g,~f5=fp5g,~f6=fp6g,~f7=fp7g];
1209
1210                                 ~synthopen.value;
1211                                 ~currentsynth = "o7"; ~synthmonitorfunc.value;
1212                         });
1213                         ~bplaceo8 = Button.new(w,Rect(~bp08l,~bp08t,~bp08h,~bp08w)).states_([["o8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1214
1215                                 if(~ts.value == 1,
1216                                         {if(~tst == nil, {nil}, {~tst.close;});
1217                                                 ~timevals.value;
1218                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8o = 0;
1219                                                 ~timer = Routine({inf.do({
1220                                                         ~time8o =
1221                                                         ~time8o+0.01; ~slot = "o8_"+~time8o.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1222                                         {nil});
1223
1224                                 [~f1=fp1h,~f2=fp2h,~f3=fp3h,~f4=fp4h,~f5=fp5h,~f6=fp6h,~f7=fp7h];
1225
1226                                 ~synthopen.value;
1227                                 ~currentsynth = "o8"; ~synthmonitorfunc.value;
1228                         });
1229                         ~bplacef1 = Button.new(w,Rect(~bpf1l,~bpf1t,~bpf1h,~bpf1w)).states_([["f1",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1230
1231                                 if(~ts.value == 1,
1232                                         {if(~tst == nil, {nil}, {~tst.close;});
1233                                                 ~timevals.value;
1234                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1f = 0;
1235                                                 ~timer = Routine({inf.do({
1236                                                         ~time1f =
1237                                                         ~time1f+0.01; ~slot = "f1_"+~time1f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1238                                         {nil});
1239
1240                                 [~f1=fp1,~f2=fp2,~f3=fp3,~f4=fp4,~f5=fp5,~f6=fp6,~f7=fp7];
1241
1242                                 ~synthflow.value;
1243                                 ~currentsynth = "f1"; ~synthmonitorfunc.value;
1244                         });
1245                         ~bplacef2 = Button.new(w,Rect(~bpf2l,~bpf2t,~bpf2h,~bpf2w)).states_([["f2",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1246
1247                                 if(~ts.value == 1,
1248                                         {if(~tst == nil, {nil}, {~tst.close;});
1249                                                 ~timevals.value;
1250                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2f = 0;
1251                                                 ~timer = Routine({inf.do({
1252                                                         ~time2f =
1253                                                         ~time2f+0.01; ~slot = "f2_"+~time2f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1254                                         {nil});
1255
1256                                 [~f1=fp1b,~f2=fp2b,~f3=fp3b,~f4=fp4b,~f5=fp5b,~f6=fp6b,~f7=fp7b];
1257
1258                                 ~synthflow.value;
1259                                 ~currentsynth = "f2"; ~synthmonitorfunc.value;
1260                         });
1261
1262                         ~bplacef3 = Button.new(w,Rect(~bpf3l,~bpf3t,~bpf3h,~bpf3w)).states_([["f3",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1263
1264                                 if(~ts.value == 1,
1265                                         {if(~tst == nil, {nil}, {~tst.close;});
1266                                                 ~timevals.value;
1267                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3f = 0;
1268                                                 ~timer = Routine({inf.do({
1269                                                         ~time3f =
1270                                                         ~time3f+0.01; ~slot = "f3_"+~time3f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1271                                         {nil});
1272
1273                                 [~f1=fp1c,~f2=fp2c,~f3=fp3c,~f4=fp4c,~f5=fp5c,~f6=fp6c,~f7=fp7c];
1274
1275                                 ~synthflow.value;
1276                                 ~currentsynth = "f3"; ~synthmonitorfunc.value;
1277                         });
1278                         ~bplacef4 = Button.new(w,Rect(~bpf4l,~bpf4t,~bpf4h,~bpf4w)).states_([["f4",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1279
1280                                 if(~ts.value == 1,
1281                                         {if(~tst == nil, {nil}, {~tst.close;});
1282                                                 ~timevals.value;
1283                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4f = 0;
1284                                                 ~timer = Routine({inf.do({
1285                                                         ~time4f =
1286                                                         ~time4f+0.01; ~slot = "f4_"+~time4f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1287                                         {nil});
1288
1289                                 [~f1=fp1d,~f2=fp2d,~f3=fp3d,~f4=fp4d,~f5=fp5d,~f6=fp6d,~f7=fp7d];
1290
1291                                 ~synthflow.value;
1292                                 ~currentsynth = "f4"; ~synthmonitorfunc.value;
1293                         });
1294
1295                         ~bplacef5 = Button.new(w,Rect(~bpf5l,~bpf5t,~bpf5h,~bpf5w)).states_([["f5",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1296
1297                                 if(~ts.value == 1,
1298                                         {if(~tst == nil, {nil}, {~tst.close;});
1299                                                 ~timevals.value;
1300                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5f = 0;
1301                                                 ~timer = Routine({inf.do({
1302                                                         ~time5f =
1303                                                         ~time5f+0.01; ~slot = "f5_"+~time5f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1304                                         {nil});
1305
1306                                 [~f1=fp1e,~f2=fp2e,~f3=fp3e,~f4=fp4e,~f5=fp5e,~f6=fp6e,~f7=fp7e];
1307
1308                                 ~synthflow.value;
1309                                 ~currentsynth = "f5"; ~synthmonitorfunc.value;
1310                         });
1311
1312                         ~bplacef6 = Button.new(w,Rect(~bpf6l,~bpf6t,~bpf6h,~bpf6w)).states_([["f6",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1313
1314                                 if(~ts.value == 1,
1315                                         {if(~tst == nil, {nil}, {~tst.close;});
1316                                                 ~timevals.value;
1317                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6f = 0;
1318                                                 ~timer = Routine({inf.do({
1319                                                         ~time6f =
1320                                                         ~time6f+0.01; ~slot = "f6_"+~time6f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1321                                         {nil});
1322
1323                                 [~f1=fp1f,~f2=fp2f,~f3=fp3f,~f4=fp4f,~f5=fp5f,~f6=fp6f,~f7=fp7f];
1324
1325                                 ~synthflow.value;
1326                                 ~currentsynth = "f6"; ~synthmonitorfunc.value;
1327                         });
1328
1329
1330                         ~bplacef7 = Button.new(w,Rect(~bpf7l,~bpf7t,~bpf7h,~bpf7w)).states_([["f7",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1331
1332                                 if(~ts.value == 1,
1333                                         {if(~tst == nil, {nil}, {~tst.close;});
1334                                                 ~timevals.value;
1335                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7f = 0;
1336                                                 ~timer = Routine({inf.do({
1337                                                         ~time7f =
1338                                                         ~time7f+0.01; ~slot = "f7_"+~time7f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1339                                         {nil});
1340
1341                                 [~f1=fp1g,~f2=fp2g,~f3=fp3g,~f4=fp4g,~f5=fp5g,~f6=fp6g,~f7=fp7g];
1342
1343                                 ~synthflow.value;
1344                                 ~currentsynth = "f7"; ~synthmonitorfunc.value;
1345                         });
1346                         ~bplacef8 = Button.new(w,Rect(~bpf8l,~bpf8t,~bpf8h,~bpf8w)).states_([["f8",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1347
1348                                 if(~ts.value == 1,
1349                                         {if(~tst == nil, {nil}, {~tst.close;});
1350                                                 ~timevals.value;
1351                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8f = 0;
1352                                                 ~timer = Routine({inf.do({
1353                                                         ~time8f =
1354                                                         ~time8f+0.01; ~slot = "f8_"+~time8f.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1355                                         {nil});
1356
1357                                 [~f1=fp1h,~f2=fp2h,~f3=fp3h,~f4=fp4h,~f5=fp5h,~f6=fp6h,~f7=fp7h];
1358
1359                                 ~synthflow.value;
1360                                 ~currentsynth = "f8"; ~synthmonitorfunc.value;
1361                         });
1362                         ~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;
1363
1364                                 if(~ts.value == 1,
1365                                         {if(~tst == nil, {nil}, {~tst.close;});
1366                                                 ~timevals.value;
1367                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time1s = 0;
1368                                                 ~timer = Routine({inf.do({
1369                                                         ~time1s =
1370                                                         ~time1s+0.01; ~slot = "s1_"+~time1s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1371                                         {nil});
1372
1373                                 if(~slidetime1 == nil, {~slidetime1 = 4}); if(~slidedo1 == nil, {~slidedo1 = 2000;}); ~slidecount = ~slidedo1;
1374                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1375                                         [ fp1,fp2,fp3,fp4,fp5,fp6,fp7 ])*(-1)/~slidedo1);
1376
1377                                 ~slidetime =~slidetime1; ~slidedo = ~slidedo1;
1378
1379                                 ~slideroutine.stop;
1380
1381                                 ~synthslide.value;
1382                                 ~currentsynth = "s1"; ~synthmonitorfunc.value;
1383
1384                         });
1385                         ~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;
1386
1387                                 if(~ts.value == 1,
1388                                         {if(~tst == nil, {nil}, {~tst.close;});
1389                                                 ~timevals.value;
1390                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time2s = 0;
1391                                                 ~timer = Routine({inf.do({
1392                                                         ~time2s =
1393                                                         ~time2s+0.01; ~slot = "s2_"+~time2s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1394                                         {nil});
1395
1396
1397                                 if(~slidetime2 == nil, {~slidetime2 = 4}); if(~slidedo2 == nil, {~slidedo2 = 2000;}); ~slidecount = ~slidedo2;
1398                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1399                                         [ fp1b,fp2b,fp3b,fp4b,fp5b,fp6b,fp7b ])*(-1)/~slidedo2);
1400
1401                                 ~slidetime = ~slidetime2; ~slidedo = ~slidedo2;
1402
1403                                 ~slideroutine.stop;
1404
1405                                 ~synthslide.value;
1406                                 ~currentsynth = "s2"; ~synthmonitorfunc.value;
1407
1408                         });
1409                         ~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;
1410
1411                                 if(~ts.value == 1,
1412                                         {if(~tst == nil, {nil}, {~tst.close;});
1413                                                 ~timevals.value;
1414                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time3s = 0;
1415                                                 ~timer = Routine({inf.do({
1416                                                         ~time3s =
1417                                                         ~time3s+0.01; ~slot = "s3_"+~time3s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1418                                         {nil});
1419
1420
1421                                 if(~slidetime3 == nil, {~slidetime3 = 4}); if(~slidedo3 == nil, {~slidedo3 = 2000;}); ~slidecount = ~slidedo3;
1422                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1423                                         [ fp1c,fp2c,fp3c,fp4c,fp5c,fp6c,fp7c ])*(-1)/~slidedo3);
1424
1425                                 ~slidetime = ~slidetime3; ~slidedo = ~slidedo3;
1426
1427                                 ~slideroutine.stop;
1428
1429                                 ~synthslide.value;
1430                                 ~currentsynth = "s3"; ~synthmonitorfunc.value;
1431
1432                         });
1433                         ~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;
1434
1435                                 if(~ts.value == 1,
1436                                         {if(~tst == nil, {nil}, {~tst.close;});
1437                                                 ~timevals.value;
1438                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time4s = 0;
1439                                                 ~timer = Routine({inf.do({
1440                                                         ~time4s =
1441                                                         ~time4s+0.01; ~slot = "s4_"+~time4s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1442                                         {nil});
1443
1444
1445                                 if(~slidetime4 == nil, {~slidetime4 = 4}); if(~slidedo4 == nil, {~slidedo4 = 2000;}); ~slidecount = ~slidedo4;
1446                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1447                                         [ fp1d,fp2d,fp3d,fp4d,fp5d,fp6d,fp7d ])*(-1)/~slidedo4);
1448
1449                                 ~slidetime = ~slidetime4; ~slidedo = ~slidedo4;
1450
1451                                 ~slideroutine.stop;
1452
1453                                 ~synthslide.value;
1454                                 ~currentsynth = "s4"; ~synthmonitorfunc.value;
1455
1456                         });
1457                         ~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;
1458
1459                                 if(~ts.value == 1,
1460                                         {if(~tst == nil, {nil}, {~tst.close;});
1461                                                 ~timevals.value;
1462                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time5s = 0;
1463                                                 ~timer = Routine({inf.do({
1464                                                         ~time5s =
1465                                                         ~time5s+0.01; ~slot = "s5_"+~time5s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1466                                         {nil});
1467
1468
1469                                 if(~slidetime5 == nil, {~slidetime5 = 4}); if(~slidedo5 == nil, {~slidedo5 = 2000;}); ~slidecount = ~slidedo5;
1470                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1471                                         [ fp1e,fp2e,fp3e,fp4e,fp5e,fp6e,fp7e ])*(-1)/~slidedo5);
1472
1473                                 ~slidetime = ~slidetime5; ~slidedo = ~slidedo5;
1474
1475                                 ~slideroutine.stop;
1476
1477                                 ~synthslide.value;
1478                                 ~currentsynth = "s5"; ~synthmonitorfunc.value;
1479
1480                         });
1481                         ~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;
1482
1483                                 if(~ts.value == 1,
1484                                         {if(~tst == nil, {nil}, {~tst.close;});
1485                                                 ~timevals.value;
1486                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time6s = 0;
1487                                                 ~timer = Routine({inf.do({
1488                                                         ~time6s =
1489                                                         ~time6s+0.01; ~slot = "s6_"+~time6s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1490                                         {nil});
1491
1492
1493                                 if(~slidetime6 == nil, {~slidetime6 = 4}); if(~slidedo6 == nil, {~slidedo6 = 2000;}); ~slidecount = ~slidedo6;
1494                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1495                                         [ fp1f,fp2f,fp3f,fp4f,fp5f,fp6f,fp7f ])*(-1)/~slidedo6);
1496
1497                                 ~slidetime = ~slidetime6; ~slidedo = ~slidedo6;
1498                                 ~slideroutine.stop;
1499
1500                                 ~synthslide.value;
1501                                 ~currentsynth = "s6"; ~synthmonitorfunc.value;
1502
1503                         });
1504                         ~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;
1505
1506                                 if(~ts.value == 1,
1507                                         {if(~tst == nil, {nil}, {~tst.close;});
1508                                                 ~timevals.value;
1509                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time7s = 0;
1510                                                 ~timer = Routine({inf.do({
1511                                                         ~time7s =
1512                                                         ~time7s+0.01; ~slot = "s7_"+~time7s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1513                                         {nil});
1514
1515
1516                                 if(~slidetime7 == nil, {~slidetime7 = 4}); if(~slidedo7 == nil, {~slidedo7 = 2000;}); ~slidecount = ~slidedo7;
1517                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1518                                         [ fp1g,fp2g,fp3g,fp4g,fp5g,fp6g,fp7g ])*(-1)/~slidedo7);
1519
1520                                 ~slidetime = ~slidetime7; ~slidedo = ~slidedo7;
1521                                 ~slideroutine.stop;
1522
1523                                 ~synthslide.value;
1524                                 ~currentsynth = "s7"; ~synthmonitorfunc.value;
1525
1526                         });
1527                         ~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;
1528
1529                                 if(~ts.value == 1,
1530                                         {if(~tst == nil, {nil}, {~tst.close;});
1531                                                 ~timevals.value;
1532                                                 ~timer.stop; ~systemclock.stop; ~systemclock.clear; ~time8s = 0;
1533                                                 ~timer = Routine({inf.do({
1534                                                         ~time8s =
1535                                                         ~time8s+0.01; ~slot = "s8_"+~time8s.asString; 0.01.wait;});}); ~systemclock = SystemClock.play(~timer);},
1536                                         {nil});
1537
1538
1539                                 if(~slidetime8 == nil, {~slidetime8 = 4}); if(~slidedo8 == nil, {~slidedo8 = 2000;}); ~slidecount = ~slidedo8;
1540                                 #g,h,i,j,k,l,m,n,o,p,q,r = (([ ~f1,~f2,~f3,~f4,~f5,~f6,~f7 ]-
1541                                         [ fp1h,fp2h,fp3h,fp4h,fp5h,fp6h,fp7h])*(-1)/~slidedo8);
1542
1543                                 ~slidetime = ~slidetime8; ~slidedo = ~slidedo8;
1544
1545                                 ~slideroutine.stop;
1546
1547                                 ~synthslide.value;
1548                                 ~currentsynth = "s8"; ~synthmonitorfunc.value;
1549                         });
1550
1551                         if(~slidetimeall == nil, {~slidetimeall = 1});
1552                         if(~slidetime1 == nil, {~slidetime1 = 1});
1553                         if(~slidetime2 == nil, {~slidetime2 = 1});
1554                         if(~slidetime3 == nil, {~slidetime3 = 1});
1555                         if(~slidetime4 == nil, {~slidetime4 = 1});
1556                         if(~slidetime5 == nil, {~slidetime5 = 1});
1557                         if(~slidetime6 == nil, {~slidetime6 = 1});
1558                         if(~slidetime7 == nil, {~slidetime7 = 1});
1559                         if(~slidetime8 == nil, {~slidetime8 = 1});
1560
1561                         if(~slidedoall == nil, {~slidedoall = 432});
1562                         if(~slidedo1 == nil, {~slidedo1 = 432});
1563                         if(~slidedo2 == nil, {~slidedo2 = 432});
1564                         if(~slidedo3 == nil, {~slidedo3 = 432});
1565                         if(~slidedo4 == nil, {~slidedo4 = 432});
1566                         if(~slidedo5 == nil, {~slidedo5 = 432});
1567                         if(~slidedo6 == nil, {~slidedo6 = 432});
1568                         if(~slidedo7 == nil, {~slidedo7 = 432});
1569                         if(~slidedo8 == nil, {~slidedo8 = 432});
1570
1571
1572                         ~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;
1573
1574                                 if(button.value == 1, {
1575                                         ({
1576                                                 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;
1577                                                 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;
1578                                                 ~slideview = View(w, Rect(Window.screenBounds.width-(340+46),Window.screenBounds.height-(340+46/1.6180339887499)-110,340+46,340+46/1.6180339887499)).front;
1579                                                 /*w.view.decorator=FlowLayout(w.view.bounds);
1580                                                 w.view.decorator.gap=2@2;*/
1581
1582                                                 tall = StaticText(~slideview, Rect(lefttime , top=top, width, height)).background_(Color.black).string_("all time").stringColor_(Color.white);
1583                                                 t1 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s1 time").stringColor_(Color.white);
1584                                                 t2 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s2 time").stringColor_(Color.white);
1585                                                 t3 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s3 time").stringColor_(Color.white);
1586                                                 t4 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s4 time").stringColor_(Color.white);
1587                                                 t5 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s5 time").stringColor_(Color.white);
1588                                                 t6 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s6 time").stringColor_(Color.white);
1589                                                 t7 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s7 time").stringColor_(Color.white);
1590                                                 t8 = StaticText(~slideview, Rect(lefttime , top=top+height, width, height)).background_(Color.black).string_("s8 time").stringColor_(Color.white);
1591
1592                                                 top = 0;
1593
1594                                                 stall=NumberBox(~slideview, Rect(lefttimebox , top=top, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetimeall);
1595                                                 st1=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime1);
1596                                                 st2=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime2);
1597                                                 st3=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime3);
1598                                                 st4=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime4);
1599                                                 st5=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime5);
1600                                                 st6=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime6);
1601                                                 st7=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime7);
1602                                                 st8=NumberBox(~slideview, Rect(lefttimebox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidetime8);
1603
1604                                                 top = 0;
1605
1606                                                 iall = StaticText(~slideview, Rect(leftdo , top=top, width, height)).background_(Color.black).string_("all incr").stringColor_(Color.white);
1607                                                 i1 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s1 incr").stringColor_(Color.white);
1608                                                 i2 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s2 incr").stringColor_(Color.white);
1609                                                 i3 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s3 incr").stringColor_(Color.white);
1610                                                 i4 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s4 incr").stringColor_(Color.white);
1611                                                 i5 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s5 incr").stringColor_(Color.white);
1612                                                 i6 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s6 incr").stringColor_(Color.white);
1613                                                 i7 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s7 incr").stringColor_(Color.white);
1614                                                 i8 = StaticText(~slideview, Rect(leftdo , top=top+height, width, height)).background_(Color.black).string_("s8 incr").stringColor_(Color.white);
1615
1616                                                 top = 0;
1617
1618                                                 siall=NumberBox(~slideview, Rect(leftdobox , top=top, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedoall);
1619                                                 si1=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo1);
1620                                                 si2=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo2);
1621                                                 si3=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo3);
1622                                                 si4=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo4);
1623                                                 si5=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo5);
1624                                                 si6=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo6);
1625                                                 si7=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo7);
1626                                                 si8=NumberBox(~slideview, Rect(leftdobox , top=top+heightbox, widthbox, heightbox)).background_(Color.black).normalColor_(Color.white;).value_(~slidedo8);
1627
1628                                                 stall.action_({arg val;
1629                                                         ~slidetimeall = val.value;
1630                                                         ~slidetime1 = val.value;
1631                                                         ~slidetime2 = val.value;
1632                                                         ~slidetime3 = val.value;
1633                                                         ~slidetime4 = val.value;
1634                                                         ~slidetime5 = val.value;
1635                                                         ~slidetime6 = val.value;
1636                                                         ~slidetime7 = val.value;
1637                                                         ~slidetime8 = val.value;
1638                                                         ~slideview.close; ~slidevals.valueAction_(1);
1639                                                 });
1640                                                 st1.action_({arg val; ~slidetime1 = val.value;});
1641                                                 st2.action_({arg val; ~slidetime2 = val.value;});
1642                                                 st3.action_({arg val; ~slidetime3 = val.value;});
1643                                                 st4.action_({arg val; ~slidetime4 = val.value;});
1644                                                 st5.action_({arg val; ~slidetime5 = val.value;});
1645                                                 st6.action_({arg val; ~slidetime6 = val.value;});
1646                                                 st7.action_({arg val; ~slidetime7 = val.value;});
1647                                                 st8.action_({arg val; ~slidetime8 = val.value;});
1648
1649                                                 siall.action_({arg val;
1650                                                         ~slidedoall = val.value;
1651                                                         ~slidedo1 = val.value;
1652                                                         ~slidedo2 = val.value;
1653                                                         ~slidedo3 = val.value;
1654                                                         ~slidedo4 = val.value;
1655                                                         ~slidedo5 = val.value;
1656                                                         ~slidedo6 = val.value;
1657                                                         ~slidedo7 = val.value;
1658                                                         ~slidedo8 = val.value;
1659                                                         ~slideview.close; ~slidevals.valueAction_(1);
1660                                                 });
1661                                                 si1.action_({arg val; ~slidedo1 = val.value;});
1662                                                 si2.action_({arg val; ~slidedo2 = val.value;});
1663                                                 si3.action_({arg val; ~slidedo3 = val.value;});
1664                                                 si4.action_({arg val; ~slidedo4 = val.value;});
1665                                                 si5.action_({arg val; ~slidedo5 = val.value;});
1666                                                 si6.action_({arg val; ~slidedo6 = val.value;});
1667                                                 si7.action_({arg val; ~slidedo7 = val.value;});
1668                                                 si8.action_({arg val; ~slidedo8 = val.value;});
1669
1670                                                 ~slideview.background_(Color.black);
1671
1672                                                 ~closeslidebutton = Button.new(~slideview,Rect(220, top+40, 40, 40/~gm)).states_([["close",Color.white,Color.black]]).action_({arg button;
1673
1674                                                         ~slideview.close; ~slidevals.value = 0;
1675                                                 });
1676
1677                                         }.value);
1678
1679                                         ~slideview.front;
1680                                 }, {~slideview.close});
1681                         });
1682
1683                         mute1 = Button.new(w,Rect(~bpl+(16*1),~bpt+69+5,16,16/1.6180339887499)).states_([["1",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1684                                 case
1685                                 {~ics1.isRunning == true}{
1686                                         if(button.value == 0, {
1687                                                 (~vol1 = ~vol;
1688                                                         1.do({
1689                                                                 ~ics1.set(\vol1, ~vol1);
1690                                                 }););
1691                                                 }, {(~vol1 = 0;
1692                                                         1.do({
1693                                                                 ~ics1.set(\vol1, ~vol1);
1694                                                         }););
1695                                         });
1696                                 }
1697                                 {~ics.isRunning == true}{
1698                                         if(button.value == 0, {
1699                                                 (~vol1 = ~vol;
1700                                                         1.do({
1701                                                                 ~ics.set(\vol1, ~vol1);
1702                                                 }););
1703                                                 }, {(~vol1 = 0;
1704                                                         1.do({
1705                                                                 ~ics.set(\vol1, ~vol1);
1706                                                         }););
1707                                         });
1708                                 };
1709                         });
1710
1711                         mute2 = Button.new(w,Rect(~bpl+(16*2),~bpt+69+5,16,16/1.6180339887499)).states_([["2",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1712                                 case
1713                                 {~ics1.isRunning == true}{
1714                                         if(button.value == 0, {
1715                                                 (~vol2 = ~vol;
1716                                                         1.do({
1717                                                                 ~ics1.set(\vol2, ~vol2);
1718                                                 }););
1719                                                 }, {(~vol2 = 0;
1720                                                         1.do({
1721                                                                 ~ics1.set(\vol2, ~vol2);
1722                                                         }););
1723                                         });
1724                                 }
1725                                 {~ics.isRunning == true}{
1726                                         if(button.value == 0, {
1727                                                 (~vol2 = ~vol;
1728                                                         1.do({
1729                                                                 ~ics.set(\vol2, ~vol2);
1730                                                 }););
1731                                                 }, {(~vol2 = 0;
1732                                                         1.do({
1733                                                                 ~ics.set(\vol2, ~vol2);
1734                                                         }););
1735                                         });
1736                                 };
1737                         });
1738                         mute3 = Button.new(w,Rect(~bpl+(16*3),~bpt+69+5,16,16/1.6180339887499)).states_([["3",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1739                                 case
1740                                 {~ics1.isRunning == true}{
1741                                         if(button.value == 0, {
1742                                                 (~vol3 = ~vol;
1743                                                         1.do({
1744                                                                 ~ics1.set(\vol3, ~vol3);
1745                                                 }););
1746                                                 }, {(~vol3 = 0;
1747                                                         1.do({
1748                                                                 ~ics1.set(\vol3, ~vol3);
1749                                                         }););
1750                                         });
1751                                 }
1752                                 {~ics.isRunning == true}{
1753                                         if(button.value == 0, {
1754                                                 (~vol3 = ~vol;
1755                                                         1.do({
1756                                                                 ~lc.set(\vol3, ~vol3);
1757                                                 }););
1758                                                 }, {(~vol3 = 0;
1759                                                         1.do({
1760                                                                 ~lc.set(\vol3, ~vol3);
1761                                                         }););
1762                                         });
1763                                 };
1764                         });
1765                         mute4 = Button.new(w,Rect(~bpl+(16*4),~bpt+69+5,16,16/1.6180339887499)).states_([["4",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1766                                 case
1767                                 {~ics1.isRunning == true}{
1768                                         if(button.value == 0, {
1769                                                 (~vol4 = ~vol;
1770                                                         1.do({
1771                                                                 ~ics1.set(\vol4, ~vol4);
1772                                                 }););
1773                                                 }, {(~vol4 = 0;
1774                                                         1.do({
1775                                                                 ~ics1.set(\vol4, ~vol4);
1776                                                         }););
1777                                         });
1778                                 }
1779                                 {~ics.isRunning == true}{
1780                                         if(button.value == 0, {
1781                                                 (~vol4 = ~vol;
1782                                                         1.do({
1783                                                                 ~ld.set(\vol4, ~vol4);
1784                                                 }););
1785                                                 }, {(~vol4 = 0;
1786                                                         1.do({
1787                                                                 ~ld.set(\vol4, ~vol4);
1788                                                         }););
1789                                         });
1790                                 };
1791                         });
1792                         mute5 = Button.new(w,Rect(~bpl+(16*5),~bpt+69+5,16,16/1.6180339887499)).states_([["5",Color.white,Color.black],["",Color.white,Color.black]]).action_({arg button; button.value.postln}).action_({arg button;
1793                                 case
1794                                 {~ics1.isRunning == true}{
1795                                         if(button.value == 0, {
1796                                                 (~vol5 = ~vol;
1797                                                         1.do({
1798                                                                 ~ics1.set(\vol5, ~vol5);
1799                                                 }););
1800                                                 }, {(~vol5 = 0;
1801                                                         1.do({
1802                                                                 ~ics1.set(\vol5, ~vol5);
1803                                                         }););
1804                                         });
1805                                 }
1806                                 {~ics.isRunning == true}{
1807                                         if(button.value == 0, {
1808                                                 (~vol5 = ~vol;
1809                                                         1.do({
1810                                                                 ~ics.set(\vol5, ~vol5);
1811                                                 }););
1812                                                 }, {(~vol5 = 0;
1813                                                         1.do({
1814                                                                 ~ics.set(\vol5Z, ~vol5);