1 // generated from file '../dkbuild/supersonic//supersonic.dsp' by dsp2cc:
2 // Code generated with Faust 0.9.90 (http://faust.grame.fr)
3
4 #include "supersonic_table.h"
5
6 namespace supersonic {
7
8 class Dsp: public PluginLV2 {
9 private:
10 uint32_t fSamplingFreq;
11 double fConst0;
12 double fConst1;
13 double fConst2;
14 double fConst3;
15 double fConst4;
16 double fConst5;
17 double fConst6;
18 double fConst7;
19 double fConst8;
20 double fConst9;
21 double fConst10;
22 double fConst11;
23 double fConst12;
24 double fConst13;
25 double fConst14;
26 double fConst15;
27 FAUSTFLOAT fslider0;
28 FAUSTFLOAT *fslider0_;
29 double fRec1[2];
30 double fConst16;
31 double fConst17;
32 double fConst18;
33 double fConst19;
34 double fConst20;
35 double fConst21;
36 double fConst22;
37 double fConst23;
38 double fConst24;
39 double fConst25;
40 double fConst26;
41 double fConst27;
42 double fConst28;
43 double fConst29;
44 double fConst30;
45 double fConst31;
46 double fConst32;
47 double fConst33;
48 FAUSTFLOAT fslider1;
49 FAUSTFLOAT *fslider1_;
50 double fRec4[2];
51 double fConst34;
52 double fConst35;
53 double fConst36;
54 double fConst37;
55 double fConst38;
56 double fConst39;
57 FAUSTFLOAT fslider2;
58 FAUSTFLOAT *fslider2_;
59 double fRec5[2];
60 double fConst40;
61 double fConst41;
62 double fConst42;
63 double fConst43;
64 double fConst44;
65 double fConst45;
66 double fConst46;
67 double fConst47;
68 double fConst48;
69 double fConst49;
70 double fConst50;
71 double fConst51;
72 double fConst52;
73 double fConst53;
74 double fConst54;
75 double fConst55;
76 double fConst56;
77 double fConst57;
78 double fConst58;
79 double fConst59;
80 double fConst60;
81 double fConst61;
82 double fConst62;
83 double fConst63;
84 double fConst64;
85 double fConst65;
86 double fConst66;
87 double fConst67;
88 double fConst68;
89 double fConst69;
90 double fConst70;
91 double fConst71;
92 double fConst72;
93 double fConst73;
94 double fConst74;
95 double fConst75;
96 double fConst76;
97 double fConst77;
98 double fConst78;
99 double fConst79;
100 double fConst80;
101 double fConst81;
102 double fConst82;
103 double fConst83;
104 double fConst84;
105 double fConst85;
106 double fConst86;
107 double fConst87;
108 double fConst88;
109 double fConst89;
110 double fConst90;
111 double fConst91;
112 double fConst92;
113 double fConst93;
114 double fConst94;
115 double fConst95;
116 double fConst96;
117 double fConst97;
118 double fConst98;
119 double fConst99;
120 double fConst100;
121 double fConst101;
122 double fConst102;
123 double fConst103;
124 double fConst104;
125 double fConst105;
126 double fConst106;
127 double fConst107;
128 double fConst108;
129 double fConst109;
130 double fConst110;
131 double fConst111;
132 double fConst112;
133 double fConst113;
134 double fConst114;
135 double fConst115;
136 double fConst116;
137 double fConst117;
138 double fConst118;
139 double fConst119;
140 double fConst120;
141 double fConst121;
142 double fConst122;
143 double fConst123;
144 double fConst124;
145 double fConst125;
146 double fConst126;
147 double fConst127;
148 double fConst128;
149 double fConst129;
150 double fConst130;
151 double fConst131;
152 double fConst132;
153 double fConst133;
154 double fConst134;
155 double fConst135;
156 double fConst136;
157 double fConst137;
158 double fConst138;
159 double fConst139;
160 double fConst140;
161 double fConst141;
162 double fConst142;
163 FAUSTFLOAT fslider3;
164 FAUSTFLOAT *fslider3_;
165 double fRec7[2];
166 double fRec8[2];
167 double fRec6[7];
168 double fConst143;
169 double fConst144;
170 double fConst145;
171 double fConst146;
172 double fConst147;
173 double fConst148;
174 double fConst149;
175 double fConst150;
176 double fConst151;
177 double fConst152;
178 double fConst153;
179 double fConst154;
180 double fConst155;
181 double fConst156;
182 double fConst157;
183 double fConst158;
184 double fConst159;
185 double fConst160;
186 double fConst161;
187 double fConst162;
188 double fConst163;
189 double fConst164;
190 double fConst165;
191 double fConst166;
192 double fConst167;
193 double fConst168;
194 double fConst169;
195 double fConst170;
196 double fConst171;
197 double fConst172;
198 double fConst173;
199 double fConst174;
200 double fConst175;
201 double fConst176;
202 double fConst177;
203 double fConst178;
204 double fConst179;
205 double fConst180;
206 double fConst181;
207 double fConst182;
208 double fConst183;
209 double fConst184;
210 double fConst185;
211 double fConst186;
212 double fConst187;
213 double fConst188;
214 double fConst189;
215 double fConst190;
216 double fConst191;
217 double fConst192;
218 double fConst193;
219 double fConst194;
220 double fConst195;
221 double fConst196;
222 double fConst197;
223 double fConst198;
224 double fConst199;
225 double fConst200;
226 double fConst201;
227 double fConst202;
228 double fConst203;
229 double fConst204;
230 double fConst205;
231 double fConst206;
232 double fConst207;
233 double fConst208;
234 double fConst209;
235 double fConst210;
236 double fRec3[6];
237 double fConst211;
238 double fConst212;
239 double fConst213;
240 double fConst214;
241 double fConst215;
242 double fConst216;
243 double fConst217;
244 double fConst218;
245 double fConst219;
246 double fRec2[2];
247 double fRec0[9];
248 double fConst220;
249 double fConst221;
250 double fConst222;
251 double fConst223;
252 double fConst224;
253 double fConst225;
254 double fConst226;
255 double fConst227;
256 double fConst228;
257 double fConst229;
258 double fConst230;
259 double fConst231;
260 double fConst232;
261 double fConst233;
262
263 void connect(uint32_t port,void* data);
264 void clear_state_f();
265 void init(uint32_t samplingFreq);
266 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
267
268 static void clear_state_f_static(PluginLV2*);
269 static void init_static(uint32_t samplingFreq, PluginLV2*);
270 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2*);
271 static void del_instance(PluginLV2 *p);
272 static void connect_static(uint32_t port,void* data, PluginLV2 *p);
273 public:
274 Dsp();
275 ~Dsp();
276 };
277
278
279
Dsp()280 Dsp::Dsp()
281 : PluginLV2() {
282 version = PLUGINLV2_VERSION;
283 id = "supersonic";
284 name = N_("Supersonic");
285 mono_audio = compute_static;
286 stereo_audio = 0;
287 set_samplerate = init_static;
288 activate_plugin = 0;
289 connect_ports = connect_static;
290 clear_state = clear_state_f_static;
291 delete_instance = del_instance;
292 }
293
~Dsp()294 Dsp::~Dsp() {
295 }
296
clear_state_f()297 inline void Dsp::clear_state_f()
298 {
299 for (int i=0; i<2; i++) fRec1[i] = 0;
300 for (int i=0; i<2; i++) fRec4[i] = 0;
301 for (int i=0; i<2; i++) fRec5[i] = 0;
302 for (int i=0; i<2; i++) fRec7[i] = 0;
303 for (int i=0; i<2; i++) fRec8[i] = 0;
304 for (int i=0; i<7; i++) fRec6[i] = 0;
305 for (int i=0; i<6; i++) fRec3[i] = 0;
306 for (int i=0; i<2; i++) fRec2[i] = 0;
307 for (int i=0; i<9; i++) fRec0[i] = 0;
308 }
309
clear_state_f_static(PluginLV2 * p)310 void Dsp::clear_state_f_static(PluginLV2 *p)
311 {
312 static_cast<Dsp*>(p)->clear_state_f();
313 }
314
init(uint32_t samplingFreq)315 inline void Dsp::init(uint32_t samplingFreq)
316 {
317 fSamplingFreq = samplingFreq;
318 fConst0 = double(min(1.92e+05, max(1.0, (double)fSamplingFreq)));
319 fConst1 = (1.03166468453596e-39 * fConst0);
320 fConst2 = (7.23454404936606e-10 + (fConst0 * ((fConst0 * (3.48098546144324e-14 + (fConst0 * ((fConst0 * (1.03357108589895e-20 + (fConst0 * ((fConst0 * (3.29454001779334e-29 + (fConst0 * (fConst1 - 3.18357714768969e-34)))) - 1.23122315470738e-24)))) - 1.12318322365961e-16)))) - 1.0201961576646e-11)));
321 fConst3 = (8.25331747628768e-39 * fConst0);
322 fConst4 = faustpower<2>(fConst0);
323 fConst5 = (5.78763523949285e-09 + (fConst0 * ((fConst0 * (1.3923941845773e-13 + (fConst0 * ((fConst4 * (2.46244630941476e-24 + (fConst0 * ((fConst0 * (1.91014628861382e-33 - fConst3)) - 1.31781600711734e-28)))) - 2.24636644731921e-16)))) - 6.12117694598759e-11)));
324 fConst6 = (2.88866111670069e-38 * fConst0);
325 fConst7 = (2.0256723338225e-08 + (fConst0 * ((fConst0 * (1.3923941845773e-13 + (fConst0 * (2.24636644731921e-16 + (fConst0 * ((fConst0 * (2.46244630941476e-24 + (fConst0 * (1.31781600711734e-28 + (fConst0 * (fConst6 - 4.45700800676557e-33)))))) - 4.1342843435958e-20)))))) - 1.42827462073044e-10)));
326 fConst8 = (5.77732223340138e-38 * fConst0);
327 fConst9 = (4.05134466764499e-08 + (fConst0 * ((fConst0 * ((fConst0 * (6.73909934195763e-16 + (fConst4 * ((fConst0 * (1.31781600711734e-28 + (fConst0 * (4.45700800676557e-33 - fConst8)))) - 7.38733892824429e-24)))) - 1.3923941845773e-13)) - 1.42827462073044e-10)));
328 fConst10 = (5.06418083455624e-08 + (fConst4 * ((fConst4 * (6.20142651539371e-20 + (fConst4 * ((7.22165279175172e-38 * fConst4) - 3.29454001779334e-28)))) - 3.48098546144324e-13)));
329 fConst11 = (4.05134466764499e-08 + (fConst0 * (1.42827462073044e-10 + (fConst0 * ((fConst0 * ((fConst4 * (7.38733892824429e-24 + (fConst0 * (1.31781600711734e-28 + (fConst0 * (0 - (4.45700800676557e-33 + fConst8))))))) - 6.73909934195763e-16)) - 1.3923941845773e-13)))));
330 fConst12 = (2.0256723338225e-08 + (fConst0 * (1.42827462073044e-10 + (fConst0 * (1.3923941845773e-13 + (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (1.31781600711734e-28 + (fConst0 * (4.45700800676557e-33 + fConst6)))) - 2.46244630941476e-24)) - 4.1342843435958e-20)) - 2.24636644731921e-16)))))));
331 fConst13 = (5.78763523949285e-09 + (fConst0 * (6.12117694598759e-11 + (fConst0 * (1.3923941845773e-13 + (fConst0 * (2.24636644731921e-16 + (fConst4 * ((fConst0 * ((fConst0 * (0 - (1.91014628861382e-33 + fConst3))) - 1.31781600711734e-28)) - 2.46244630941476e-24)))))))));
332 fConst14 = (7.23454404936606e-10 + (fConst0 * (1.0201961576646e-11 + (fConst0 * (3.48098546144324e-14 + (fConst0 * (1.12318322365961e-16 + (fConst0 * (1.03357108589895e-20 + (fConst0 * (1.23122315470738e-24 + (fConst0 * (3.29454001779334e-29 + (fConst0 * (3.18357714768969e-34 + fConst1)))))))))))))));
333 fConst15 = (1.0 / fConst14);
334 fConst16 = (2.24914085283282e-06 * fConst0);
335 fConst17 = (0 - (0.112461932029384 + fConst16));
336 fConst18 = (2.6891901501262e-06 * fConst0);
337 fConst19 = (fConst18 - 0.99009478393055);
338 fConst20 = (2.91410423540948e-07 * fConst0);
339 fConst21 = (1.47162430127362 + fConst20);
340 fConst22 = (0.99009478393055 + fConst18);
341 fConst23 = (fConst16 - 0.112461932029384);
342 fConst24 = (1.47162430127362 - fConst20);
343 fConst25 = (5.06350333062866e-27 * fConst0);
344 fConst26 = (2.7930168344274e-14 + (fConst0 * ((fConst0 * (6.79263055101807e-16 + (fConst0 * ((fConst0 * (1.87616026397221e-19 - fConst25)) - 2.49956394010259e-17)))) - 2.10837206855448e-15)));
345 fConst27 = (2.53175166531433e-26 * fConst0);
346 fConst28 = (1.3965084172137e-13 + (fConst0 * ((fConst0 * (6.79263055101807e-16 + (fConst0 * (2.49956394010259e-17 + (fConst0 * (fConst27 - 5.62848079191662e-19)))))) - 6.32511620566344e-15)));
347 fConst29 = (5.06350333062866e-26 * fConst0);
348 fConst30 = (2.7930168344274e-13 + (fConst0 * ((fConst0 * ((fConst0 * (4.99912788020519e-17 + (fConst0 * (3.75232052794441e-19 - fConst29)))) - 1.35852611020361e-15)) - 4.21674413710896e-15)));
349 fConst31 = (2.7930168344274e-13 + (fConst0 * (4.21674413710896e-15 + (fConst0 * ((fConst0 * ((fConst0 * (3.75232052794441e-19 + fConst29)) - 4.99912788020519e-17)) - 1.35852611020361e-15)))));
350 fConst32 = (1.3965084172137e-13 + (fConst0 * (6.32511620566344e-15 + (fConst0 * (6.79263055101807e-16 + (fConst0 * ((fConst0 * (0 - (5.62848079191662e-19 + fConst27))) - 2.49956394010259e-17)))))));
351 fConst33 = (1.0 / (2.7930168344274e-14 + (fConst0 * (2.10837206855448e-15 + (fConst0 * (6.79263055101807e-16 + (fConst0 * (2.49956394010259e-17 + (fConst0 * (1.87616026397221e-19 + fConst25))))))))));
352 fConst34 = (1.91969658146125e-28 * fConst0);
353 fConst35 = (1.85580923728473e-25 + fConst34);
354 fConst36 = ((fConst0 * (1.28417029350963e-21 + (fConst0 * (2.96412666813708e-23 + (fConst0 * fConst35))))) - 5.56190530156167e-35);
355 fConst37 = (2.34447194587753e-19 + (fConst0 * (3.78141066792101e-21 + (fConst0 * ((fConst0 * (0 - fConst35)) - 2.74055975769674e-24)))));
356 fConst38 = (3.8393931629225e-26 * fConst0);
357 fConst39 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (4.35717847353048e-23 + fConst38))) - 7.2517402922623e-21)) - 3.2657449261887e-19)) - 2.13208229658786e-19);
358 fConst40 = (8.7797693860085e-29 * fConst0);
359 fConst41 = (1.73769177200289e-25 + fConst40);
360 fConst42 = ((fConst0 * (2.34447194587753e-19 + (fConst0 * (6.45410868622137e-21 + (fConst0 * (5.74453140263249e-23 + (fConst0 * fConst41))))))) - 1.01125550937485e-33);
361 fConst43 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (0 - fConst41)) - 8.79647617632315e-23)) - 1.24168320637625e-20)) - 5.2738887295382e-19)) - 4.26416459317574e-19);
362 fConst44 = (1.7559538772017e-26 * fConst0);
363 fConst45 = (4.26416459317575e-19 + (fConst0 * ((fConst0 * ((fConst0 * (0 - (7.01275323109138e-24 + fConst44))) - 6.6938264041103e-22)) - 8.97810027051546e-21)));
364 fConst46 = (7.25745997440848e-26 * fConst0);
365 fConst47 = (3.68004528661724e-15 + (fConst0 * (7.98442414323855e-17 + (fConst0 * (4.80207616341231e-19 + (fConst0 * (4.83270952225433e-22 + fConst46)))))));
366 fConst48 = (3.62872998720424e-28 * fConst0);
367 fConst49 = (2.52344661631536e-24 + fConst48);
368 fConst50 = (1.01125550937485e-29 + (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (0 - fConst49)) - 2.18295349844616e-21)) - 3.53221173327878e-19)) - 1.60655994099041e-17)) - 2.15340311955366e-17)));
369 fConst51 = (fConst0 * ((fConst0 * ((fConst0 * (8.46626752991924e-20 + (fConst0 * (2.18476286885277e-21 + (fConst0 * fConst49))))) - 3.4560962962513e-17)) - 2.32272470645234e-15));
370 fConst52 = (1.10009314883802e-27 * fConst0);
371 fConst53 = (fConst52 - 1.13378986041865e-24);
372 fConst54 = (1.13378986041865e-24 - fConst52);
373 fConst55 = (2.20018629767604e-25 * fConst0);
374 fConst56 = (fConst55 - 4.29679382500905e-23);
375 fConst57 = (3.46914825062448e-27 * fConst0);
376 fConst58 = ((fConst0 * (3.73063872199228e-24 - fConst57)) - 2.2779375978716e-22);
377 fConst59 = (4.58697571582143e-22 + (fConst0 * (fConst57 - 3.73063872199228e-24)));
378 fConst60 = (6.93829650124896e-25 * fConst0);
379 fConst61 = (4.14315081372073e-22 + (fConst0 * (3.95860002475e-22 - fConst60)));
380 fConst62 = (1.20981023104306e-26 * fConst0);
381 fConst63 = ((fConst0 * (2.16328174182473e-21 + fConst62)) - 4.03207370902736e-19);
382 fConst64 = (6.0490511552153e-29 * fConst0);
383 fConst65 = (1.08118680331922e-23 + fConst64);
384 fConst66 = ((fConst0 * ((fConst0 * ((fConst0 * fConst65) - 1.11567278400556e-20)) - 2.09229116092896e-20)) - 9.82556839679967e-33);
385 fConst67 = (9.82556839679967e-33 + (fConst0 * ((fConst0 * (1.11551728140517e-20 + (fConst0 * (0 - fConst65)))) - 2.25680752872163e-18)));
386 fConst68 = ((fConst0 * ((fConst0 * (2.96412666813708e-23 + (fConst0 * (fConst34 - 1.85580923728473e-25)))) - 1.28417029350963e-21)) - 5.56190530156167e-35);
387 fConst69 = (2.34447194587753e-19 + (fConst0 * ((fConst0 * ((fConst0 * (1.85580923728473e-25 - fConst34)) - 2.74055975769674e-24)) - 3.78141066792101e-21)));
388 fConst70 = (2.13208229658786e-19 + (fConst0 * ((fConst0 * (7.2517402922623e-21 + (fConst0 * (fConst38 - 4.35717847353048e-23)))) - 3.2657449261887e-19)));
389 fConst71 = (1.01125550937485e-33 + (fConst0 * (2.34447194587753e-19 + (fConst0 * ((fConst0 * (5.74453140263249e-23 + (fConst0 * (fConst40 - 1.73769177200289e-25)))) - 6.45410868622137e-21)))));
390 fConst72 = (4.26416459317574e-19 + (fConst0 * ((fConst0 * (1.24168320637625e-20 + (fConst0 * ((fConst0 * (1.73769177200289e-25 - fConst40)) - 8.79647617632315e-23)))) - 5.2738887295382e-19)));
391 fConst73 = ((fConst0 * ((fConst0 * (6.6938264041103e-22 + (fConst0 * (fConst44 - 7.01275323109138e-24)))) - 8.97810027051546e-21)) - 4.26416459317575e-19);
392 fConst74 = ((fConst0 * (7.98442414323855e-17 + (fConst0 * ((fConst0 * (4.83270952225433e-22 - fConst46)) - 4.80207616341231e-19)))) - 3.68004528661724e-15);
393 fConst75 = (1.01125550937485e-29 + (fConst0 * (2.15340311955366e-17 + (fConst0 * ((fConst0 * (3.53221173327878e-19 + (fConst0 * ((fConst0 * (2.52344661631536e-24 - fConst48)) - 2.18295349844616e-21)))) - 1.60655994099041e-17)))));
394 fConst76 = (fConst0 * (2.32272470645234e-15 + (fConst0 * ((fConst0 * ((fConst0 * (2.18476286885277e-21 + (fConst0 * (fConst48 - 2.52344661631536e-24)))) - 8.46626752991924e-20)) - 3.4560962962513e-17))));
395 fConst77 = (1.15181794887675e-27 * fConst0);
396 fConst78 = ((fConst4 * ((fConst0 * (7.42323694913893e-25 - fConst77)) - 5.92825333627416e-23)) - 1.11238106031233e-34);
397 fConst79 = (4.68894389175506e-19 + (fConst4 * (5.48111951539348e-24 + (fConst0 * (fConst77 - 7.42323694913893e-25)))));
398 fConst80 = (1.535757265169e-25 * fConst0);
399 fConst81 = (8.52832918635145e-19 + (fConst0 * ((fConst4 * (8.71435694706097e-23 - fConst80)) - 6.5314898523774e-19)));
400 fConst82 = (5.2678616316051e-28 * fConst0);
401 fConst83 = (4.0450220374994e-33 + (fConst0 * (4.68894389175505e-19 + (fConst4 * ((fConst0 * (6.95076708801156e-25 - fConst82)) - 1.1489062805265e-22)))));
402 fConst84 = (1.70566583727029e-18 + (fConst0 * ((fConst4 * (1.75929523526463e-22 + (fConst0 * (fConst82 - 6.95076708801156e-25)))) - 1.05477774590764e-18)));
403 fConst85 = (7.0238155088068e-26 * fConst0);
404 fConst86 = ((fConst0 * ((fConst4 * (1.40255064621828e-23 - fConst85)) - 1.79562005410309e-20)) - 1.7056658372703e-18);
405 fConst87 = (2.90298398976339e-25 * fConst0);
406 fConst88 = ((fConst0 * (1.59688482864771e-16 + (fConst4 * (fConst87 - 9.66541904450867e-22)))) - 1.4720181146469e-14);
407 fConst89 = (2.17723799232254e-27 * fConst0);
408 fConst90 = (6.06753305624909e-29 + (fConst0 * (8.61361247821464e-17 + (fConst0 * ((fConst4 * (4.36590699689231e-21 + (fConst0 * (fConst89 - 1.00937864652614e-23)))) - 3.21311988198083e-17)))));
409 fConst91 = (fConst0 * (9.29089882580934e-15 + (fConst0 * ((fConst4 * ((fConst0 * (1.00937864652614e-23 - fConst89)) - 4.36952573770555e-21)) - 6.91219259250261e-17))));
410 fConst92 = (2.87954487219187e-27 * fConst0);
411 fConst93 = (5.56190530156167e-35 + (fConst0 * (3.85251088052888e-21 + (fConst0 * ((fConst0 * (fConst92 - 9.27904618642366e-25)) - 2.96412666813708e-23)))));
412 fConst94 = ((fConst0 * (1.1344232003763e-20 + (fConst0 * (2.74055975769674e-24 + (fConst0 * (9.27904618642366e-25 - fConst92)))))) - 2.34447194587753e-19);
413 fConst95 = (1.91969658146125e-25 * fConst0);
414 fConst96 = (1.06604114829393e-18 + (fConst0 * (3.2657449261887e-19 + (fConst0 * ((fConst0 * (4.35717847353048e-23 + fConst95)) - 2.17552208767869e-20)))));
415 fConst97 = (1.31696540790127e-27 * fConst0);
416 fConst98 = (5.05627754687424e-33 + (fConst0 * ((fConst0 * (1.93623260586641e-20 + (fConst0 * ((fConst0 * (fConst97 - 8.68845886001445e-25)) - 5.74453140263249e-23)))) - 2.34447194587753e-19)));
417 fConst99 = (2.13208229658787e-18 + (fConst0 * (5.2738887295382e-19 + (fConst0 * ((fConst0 * (8.79647617632315e-23 + (fConst0 * (8.68845886001445e-25 - fConst97)))) - 3.72504961912875e-20)))));
418 fConst100 = (8.7797693860085e-26 * fConst0);
419 fConst101 = ((fConst0 * (8.97810027051546e-21 + (fConst0 * ((fConst0 * (7.01275323109138e-24 + fConst100)) - 2.00814792123309e-21)))) - 2.13208229658787e-18);
420 fConst102 = (3.62872998720424e-25 * fConst0);
421 fConst103 = ((fConst0 * ((fConst0 * (1.44062284902369e-18 + (fConst0 * (0 - (4.83270952225433e-22 + fConst102))))) - 7.98442414323855e-17)) - 1.84002264330862e-14);
422 fConst104 = (5.44309498080636e-27 * fConst0);
423 fConst105 = (1.51688326406227e-28 + (fConst0 * (1.07670155977683e-16 + (fConst0 * (1.60655994099041e-17 + (fConst0 * ((fConst0 * (2.18295349844616e-21 + (fConst0 * (1.26172330815768e-23 - fConst104)))) - 1.05966351998363e-18)))))));
424 fConst106 = (fConst0 * (1.16136235322617e-14 + (fConst0 * (3.4560962962513e-17 + (fConst0 * (2.53988025897577e-19 + (fConst0 * ((fConst0 * (fConst104 - 1.26172330815768e-23)) - 2.18476286885277e-21))))))));
425 fConst107 = (3.8393931629225e-27 * fConst4);
426 fConst108 = (2.22476212062467e-34 + (fConst4 * (1.18565066725483e-22 - fConst107)));
427 fConst109 = ((fConst4 * (fConst107 - 1.0962239030787e-23)) - 9.37788778351013e-19);
428 fConst110 = (1.30629797047548e-18 - (1.74287138941219e-22 * fConst4));
429 fConst111 = (1.7559538772017e-27 * fConst4);
430 fConst112 = ((fConst4 * (2.297812561053e-22 - fConst111)) - 9.37788778351011e-19);
431 fConst113 = (2.10955549181528e-18 + (fConst4 * (fConst111 - 3.51859047052926e-22)));
432 fConst114 = (3.59124010820619e-20 - (2.80510129243655e-23 * fConst4));
433 fConst115 = ((1.93308380890173e-21 * fConst4) - 3.19376965729542e-16);
434 fConst116 = (7.25745997440848e-27 * fConst4);
435 fConst117 = (2.0225110187497e-28 + (fConst4 * (6.42623976396166e-17 + (fConst4 * (fConst116 - 8.73181399378463e-21)))));
436 fConst118 = (fConst4 * (1.38243851850052e-16 + (fConst4 * (8.73905147541109e-21 - fConst116))));
437 fConst119 = (9.27904618642366e-25 + fConst92);
438 fConst120 = (5.56190530156167e-35 + (fConst0 * ((fConst0 * ((fConst0 * fConst119) - 2.96412666813708e-23)) - 3.85251088052888e-21)));
439 fConst121 = ((fConst0 * ((fConst0 * (2.74055975769674e-24 + (fConst0 * (0 - fConst119)))) - 1.1344232003763e-20)) - 2.34447194587753e-19);
440 fConst122 = ((fConst0 * (3.2657449261887e-19 + (fConst0 * (2.17552208767869e-20 + (fConst0 * (4.35717847353048e-23 - fConst95)))))) - 1.06604114829393e-18);
441 fConst123 = (8.68845886001445e-25 + fConst97);
442 fConst124 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * fConst123) - 5.74453140263249e-23)) - 1.93623260586641e-20)) - 2.34447194587753e-19)) - 5.05627754687424e-33);
443 fConst125 = ((fConst0 * (5.2738887295382e-19 + (fConst0 * (3.72504961912875e-20 + (fConst0 * (8.79647617632315e-23 + (fConst0 * (0 - fConst123)))))))) - 2.13208229658787e-18);
444 fConst126 = (2.13208229658787e-18 + (fConst0 * (8.97810027051546e-21 + (fConst0 * (2.00814792123309e-21 + (fConst0 * (7.01275323109138e-24 - fConst100)))))));
445 fConst127 = (1.84002264330862e-14 + (fConst0 * ((fConst0 * ((fConst0 * (fConst102 - 4.83270952225433e-22)) - 1.44062284902369e-18)) - 7.98442414323855e-17)));
446 fConst128 = (1.26172330815768e-23 + fConst104);
447 fConst129 = (1.51688326406227e-28 + (fConst0 * ((fConst0 * (1.60655994099041e-17 + (fConst0 * (1.05966351998363e-18 + (fConst0 * (2.18295349844616e-21 + (fConst0 * (0 - fConst128)))))))) - 1.07670155977683e-16)));
448 fConst130 = (fConst0 * ((fConst0 * (3.4560962962513e-17 + (fConst0 * ((fConst0 * ((fConst0 * fConst128) - 2.18476286885277e-21)) - 2.53988025897577e-19)))) - 1.16136235322617e-14));
449 fConst131 = (7.42323694913893e-25 + fConst77);
450 fConst132 = ((fConst4 * ((fConst0 * (0 - fConst131)) - 5.92825333627416e-23)) - 1.11238106031233e-34);
451 fConst133 = (4.68894389175506e-19 + (fConst4 * (5.48111951539348e-24 + (fConst0 * fConst131))));
452 fConst134 = ((fConst0 * ((fConst4 * (8.71435694706097e-23 + fConst80)) - 6.5314898523774e-19)) - 8.52832918635145e-19);
453 fConst135 = (6.95076708801156e-25 + fConst82);
454 fConst136 = ((fConst0 * (4.68894389175505e-19 + (fConst4 * ((fConst0 * (0 - fConst135)) - 1.1489062805265e-22)))) - 4.0450220374994e-33);
455 fConst137 = ((fConst0 * ((fConst4 * (1.75929523526463e-22 + (fConst0 * fConst135))) - 1.05477774590764e-18)) - 1.70566583727029e-18);
456 fConst138 = (1.7056658372703e-18 + (fConst0 * ((fConst4 * (1.40255064621828e-23 + fConst85)) - 1.79562005410309e-20)));
457 fConst139 = (1.4720181146469e-14 + (fConst0 * (1.59688482864771e-16 + (fConst4 * (0 - (9.66541904450867e-22 + fConst87))))));
458 fConst140 = (1.00937864652614e-23 + fConst89);
459 fConst141 = (6.06753305624909e-29 + (fConst0 * ((fConst0 * ((fConst4 * (4.36590699689231e-21 + (fConst0 * fConst140))) - 3.21311988198083e-17)) - 8.61361247821464e-17)));
460 fConst142 = (fConst0 * ((fConst0 * ((fConst4 * ((fConst0 * (0 - fConst140)) - 4.36952573770555e-21)) - 6.91219259250261e-17)) - 9.29089882580934e-15));
461 fConst143 = (6.60055889302811e-27 * fConst0);
462 fConst144 = (4.53515944167461e-24 - fConst143);
463 fConst145 = (fConst143 - 4.53515944167461e-24);
464 fConst146 = (8.80074519070414e-25 * fConst0);
465 fConst147 = (8.59358765001811e-23 - fConst146);
466 fConst148 = (2.08148895037469e-26 * fConst0);
467 fConst149 = (4.5558751957432e-22 + (fConst0 * (fConst148 - 1.49225548879691e-23)));
468 fConst150 = ((fConst0 * (1.49225548879691e-23 - fConst148)) - 9.17395143164286e-22);
469 fConst151 = (2.77531860049959e-24 * fConst0);
470 fConst152 = (fConst151 - 7.9172000495e-22);
471 fConst153 = (4.83924092417224e-26 * fConst0);
472 fConst154 = (0 - (4.32656348364945e-21 + fConst153));
473 fConst155 = (3.62943069312918e-28 * fConst0);
474 fConst156 = (4.32474721327688e-23 + fConst155);
475 fConst157 = ((fConst4 * (2.23134556801112e-20 + (fConst0 * (0 - fConst156)))) - 1.96511367935993e-32);
476 fConst158 = (1.96511367935993e-32 + (fConst4 * ((fConst0 * fConst156) - 2.23103456281034e-20)));
477 fConst159 = (1.65013972325703e-26 * fConst0);
478 fConst160 = (fConst159 - 5.66894930209326e-24);
479 fConst161 = (5.66894930209326e-24 - fConst159);
480 fConst162 = (1.10009314883802e-24 * fConst0);
481 fConst163 = (4.29679382500905e-23 + fConst162);
482 fConst164 = (5.20372237593672e-26 * fConst0);
483 fConst165 = (2.2779375978716e-22 + (fConst0 * (1.86531936099614e-23 - fConst164)));
484 fConst166 = ((fConst0 * (fConst164 - 1.86531936099614e-23)) - 4.58697571582143e-22);
485 fConst167 = (3.46914825062448e-24 * fConst0);
486 fConst168 = ((fConst0 * (0 - (3.95860002475e-22 + fConst167))) - 1.24294524411622e-21);
487 fConst169 = (6.0490511552153e-26 * fConst0);
488 fConst170 = (1.20962211270821e-18 + (fConst0 * (fConst169 - 2.16328174182473e-21)));
489 fConst171 = (9.07357673282294e-28 * fConst0);
490 fConst172 = (5.4059340165961e-23 + fConst171);
491 fConst173 = (9.82556839679967e-33 + (fConst0 * (6.27687348278688e-20 + (fConst0 * (1.11567278400556e-20 + (fConst0 * fConst172))))));
492 fConst174 = ((fConst0 * (6.77042258616489e-18 + (fConst0 * ((fConst0 * (0 - fConst172)) - 1.11551728140517e-20)))) - 9.82556839679967e-33);
493 fConst175 = (6.93829650124896e-26 * fConst4);
494 fConst176 = (fConst175 - 9.1117503914864e-22);
495 fConst177 = (1.83479028632857e-21 - fConst175);
496 fConst178 = (1.20981023104306e-27 * fConst4);
497 fConst179 = (3.93022735871987e-32 + (fConst4 * (0 - (4.46269113602224e-20 + fConst178))));
498 fConst180 = ((fConst4 * (4.46206912562068e-20 + fConst178)) - 3.93022735871987e-32);
499 fConst181 = (5.66894930209326e-24 + fConst159);
500 fConst182 = (0 - fConst181);
501 fConst183 = (4.29679382500905e-23 - fConst162);
502 fConst184 = (1.86531936099614e-23 + fConst164);
503 fConst185 = (2.2779375978716e-22 + (fConst0 * (0 - fConst184)));
504 fConst186 = ((fConst0 * fConst184) - 4.58697571582143e-22);
505 fConst187 = (1.24294524411622e-21 + (fConst0 * (fConst167 - 3.95860002475e-22)));
506 fConst188 = ((fConst0 * (0 - (2.16328174182473e-21 + fConst169))) - 1.20962211270821e-18);
507 fConst189 = (9.82556839679967e-33 + (fConst0 * ((fConst0 * (1.11567278400556e-20 + (fConst0 * (fConst171 - 5.4059340165961e-23)))) - 6.27687348278688e-20)));
508 fConst190 = ((fConst0 * ((fConst0 * ((fConst0 * (5.4059340165961e-23 - fConst171)) - 1.11551728140517e-20)) - 6.77042258616489e-18)) - 9.82556839679967e-33);
509 fConst191 = (7.9172000495e-22 + fConst151);
510 fConst192 = (4.53515944167461e-24 + fConst143);
511 fConst193 = (0 - fConst192);
512 fConst194 = (8.59358765001811e-23 + fConst146);
513 fConst195 = (1.49225548879691e-23 + fConst148);
514 fConst196 = (4.5558751957432e-22 + (fConst0 * fConst195));
515 fConst197 = ((fConst0 * (0 - fConst195)) - 9.17395143164286e-22);
516 fConst198 = (fConst153 - 4.32656348364945e-21);
517 fConst199 = ((fConst4 * (2.23134556801112e-20 + (fConst0 * (4.32474721327688e-23 - fConst155)))) - 1.96511367935993e-32);
518 fConst200 = (1.96511367935993e-32 + (fConst4 * ((fConst0 * (fConst155 - 4.32474721327688e-23)) - 2.23103456281034e-20)));
519 fConst201 = (1.13378986041865e-24 + fConst52);
520 fConst202 = (0 - fConst201);
521 fConst203 = (0 - (4.29679382500905e-23 + fConst55));
522 fConst204 = (3.73063872199228e-24 + fConst57);
523 fConst205 = ((fConst0 * (0 - fConst204)) - 2.2779375978716e-22);
524 fConst206 = (4.58697571582143e-22 + (fConst0 * fConst204));
525 fConst207 = ((fConst0 * (3.95860002475e-22 + fConst60)) - 4.14315081372073e-22);
526 fConst208 = (4.03207370902736e-19 + (fConst0 * (2.16328174182473e-21 - fConst62)));
527 fConst209 = ((fConst0 * (2.09229116092896e-20 + (fConst0 * ((fConst0 * (fConst64 - 1.08118680331922e-23)) - 1.11567278400556e-20)))) - 9.82556839679967e-33);
528 fConst210 = (9.82556839679967e-33 + (fConst0 * (2.25680752872163e-18 + (fConst0 * (1.11551728140517e-20 + (fConst0 * (1.08118680331922e-23 - fConst64)))))));
529 fConst211 = (2.2147737670537e-26 * fConst0);
530 fConst212 = (2.21955383001772e-15 + (fConst0 * ((fConst0 * (2.76366301878405e-15 + (fConst0 * ((fConst0 * (8.20289496101997e-19 - fConst211)) - 1.07989398172656e-16)))) - 1.68022586665737e-16)));
531 fConst213 = (1.10738688352685e-25 * fConst0);
532 fConst214 = (1.10977691500886e-14 + (fConst0 * ((fConst0 * (2.76366301878405e-15 + (fConst0 * (1.07989398172656e-16 + (fConst0 * (fConst213 - 2.46086848830599e-18)))))) - 5.04067759997212e-16)));
533 fConst215 = (2.2147737670537e-25 * fConst0);
534 fConst216 = (2.21955383001772e-14 + (fConst0 * ((fConst0 * ((fConst0 * (2.15978796345312e-16 + (fConst0 * (1.64057899220399e-18 - fConst215)))) - 5.5273260375681e-15)) - 3.36045173331475e-16)));
535 fConst217 = (2.21955383001772e-14 + (fConst0 * (3.36045173331475e-16 + (fConst0 * ((fConst0 * ((fConst0 * (1.64057899220399e-18 + fConst215)) - 2.15978796345312e-16)) - 5.5273260375681e-15)))));
536 fConst218 = (1.10977691500886e-14 + (fConst0 * (5.04067759997212e-16 + (fConst0 * (2.76366301878405e-15 + (fConst0 * ((fConst0 * (0 - (2.46086848830599e-18 + fConst213))) - 1.07989398172656e-16)))))));
537 fConst219 = (2.21955383001772e-15 + (fConst0 * (1.68022586665737e-16 + (fConst0 * (2.76366301878405e-15 + (fConst0 * (1.07989398172656e-16 + (fConst0 * (8.20289496101997e-19 + fConst211)))))))));
538 fConst220 = (3.22912277501057e-21 * fConst0);
539 fConst221 = (2.78116542918484e-14 + (fConst0 * (fConst220 - 6.38442519444497e-17)));
540 fConst222 = (1.27688503888899e-16 * fConst0);
541 fConst223 = (1.11246617167394e-13 - fConst222);
542 fConst224 = (1.29164911000423e-20 * fConst0);
543 fConst225 = (1.11246617167394e-13 + (fConst0 * (1.27688503888899e-16 - fConst224)));
544 fConst226 = (3.83065511666698e-16 * fConst0);
545 fConst227 = (fConst226 - 1.11246617167394e-13);
546 fConst228 = ((1.93747366500634e-20 * fConst4) - 2.78116542918484e-13);
547 fConst229 = (0 - (1.11246617167394e-13 + fConst226));
548 fConst230 = (1.11246617167394e-13 + (fConst0 * (0 - (1.27688503888899e-16 + fConst224))));
549 fConst231 = (1.11246617167394e-13 + fConst222);
550 fConst232 = (2.78116542918484e-14 + (fConst0 * (6.38442519444497e-17 + fConst220)));
551 fConst233 = (fConst4 / fConst14);
552 clear_state_f();
553 }
554
init_static(uint32_t samplingFreq,PluginLV2 * p)555 void Dsp::init_static(uint32_t samplingFreq, PluginLV2 *p)
556 {
557 static_cast<Dsp*>(p)->init(samplingFreq);
558 }
559
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)560 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
561 {
562 #define fslider0 (*fslider0_)
563 #define fslider1 (*fslider1_)
564 #define fslider2 (*fslider2_)
565 #define fslider3 (*fslider3_)
566 double fSlow0 = (0.007000000000000006 * double(fslider0));
567 double fSlow1 = (0.007000000000000006 * double(fslider1));
568 double fSlow2 = (0.007000000000000006 * double(fslider2));
569 double fSlow3 = (0.0010956234992476606 * (exp((2 * double(fslider3))) - 1));
570 for (int i=0; i<count; i++) {
571 fRec1[0] = (fSlow0 + (0.993 * fRec1[1]));
572 double fTemp0 = (fConst21 + (fRec1[0] * (fConst19 + (fConst17 * fRec1[0]))));
573 fRec4[0] = (fSlow1 + (0.993 * fRec4[1]));
574 fRec5[0] = (fSlow2 + (0.993 * fRec5[1]));
575 double fTemp1 = (5.11699751181088e-15 + ((fRec4[0] * (fConst51 + (fConst50 * fRec4[0]))) + (fConst0 * (fConst47 + (fRec5[0] * (fConst45 + ((fRec4[0] * (fConst43 + (fConst42 * fRec4[0]))) + (fRec5[0] * (fConst39 + (fRec4[0] * ((fConst0 * (fConst37 + (fConst36 * fRec4[0]))) - 1.01125550937485e-33)))))))))));
576 fRec7[0] = (fSlow3 + (0.993 * fRec7[1]));
577 double fTemp2 = (4.78532903360752e-05 * fRec7[0]);
578 double fTemp3 = (0.00103650226867939 + (fConst0 * (7.81957120982477e-06 + (fRec7[0] * (4.99109818205264e-05 - fTemp2)))));
579 double fTemp4 = (1.82229840632861e-06 + (9.11149203164306e-05 * fRec7[0]));
580 fRec8[0] = ((double)input0[i] - ((fRec8[1] * (0.00103650226867939 + (fConst0 * ((fRec7[0] * (fTemp2 - 4.99109818205264e-05)) - 7.81957120982477e-06)))) / fTemp3));
581 fRec6[0] = ((fConst0 * (((fRec8[1] * fTemp4) + (fRec8[0] * (0 - fTemp4))) / fTemp3)) - (((((((fRec6[1] * (3.07019850708653e-14 + ((fRec4[0] * (fConst142 + (fConst141 * fRec4[0]))) + (fConst0 * (fConst139 + (fRec5[0] * (fConst138 + ((fRec4[0] * (fConst137 + (fConst136 * fRec4[0]))) + (fRec5[0] * (fConst134 + (fRec4[0] * ((fConst0 * (fConst133 + (fConst132 * fRec4[0]))) - 4.0450220374994e-33)))))))))))) + (fRec6[2] * (7.67549626771633e-14 + ((fRec4[0] * (fConst130 + (fConst129 * fRec4[0]))) + (fConst0 * (fConst127 + (fRec5[0] * (fConst126 + ((fRec4[0] * (fConst125 + (fConst124 * fRec4[0]))) + (fRec5[0] * (fConst122 + (fRec4[0] * ((fConst0 * (fConst121 + (fConst120 * fRec4[0]))) - 5.05627754687424e-33))))))))))))) + (fRec6[3] * (1.02339950236218e-13 + ((fRec4[0] * (fConst118 + (fConst117 * fRec4[0]))) + (fConst4 * (fConst115 + (fRec5[0] * (fConst114 + ((fRec4[0] * (fConst113 + (fConst112 * fRec4[0]))) + (fRec5[0] * (fConst110 + (fRec4[0] * (fConst109 + (fConst108 * fRec4[0])))))))))))))) + (fRec6[4] * (7.67549626771633e-14 + ((fRec4[0] * (fConst106 + (fConst105 * fRec4[0]))) + (fConst0 * (fConst103 + (fRec5[0] * (fConst101 + ((fRec4[0] * (fConst99 + (fConst98 * fRec4[0]))) + (fRec5[0] * (fConst96 + (fRec4[0] * (5.05627754687424e-33 + (fConst0 * (fConst94 + (fConst93 * fRec4[0])))))))))))))))) + (fRec6[5] * (3.07019850708653e-14 + ((fRec4[0] * (fConst91 + (fConst90 * fRec4[0]))) + (fConst0 * (fConst88 + (fRec5[0] * (fConst86 + ((fRec4[0] * (fConst84 + (fConst83 * fRec4[0]))) + (fRec5[0] * (fConst81 + (fRec4[0] * (4.0450220374994e-33 + (fConst0 * (fConst79 + (fConst78 * fRec4[0])))))))))))))))) + (fRec6[6] * (5.11699751181088e-15 + ((fRec4[0] * (fConst76 + (fConst75 * fRec4[0]))) + (fConst0 * (fConst74 + (fRec5[0] * (fConst73 + ((fRec4[0] * (fConst72 + (fConst71 * fRec4[0]))) + (fRec5[0] * (fConst70 + (fRec4[0] * (1.01125550937485e-33 + (fConst0 * (fConst69 + (fConst68 * fRec4[0])))))))))))))))) / fTemp1));
582 fRec3[0] = ((fConst4 * ((((((((fRec6[0] * (((fRec4[0] * (fConst210 + (fConst209 * fRec4[0]))) + (fConst0 * (fConst208 + (fRec5[0] * (fConst207 + ((fRec4[0] * (4.14315081372074e-22 + (fConst0 * (fConst206 + (fConst205 * fRec4[0]))))) + (fRec5[0] * (2.07157540686037e-22 + (fConst0 * (fConst203 + (fRec4[0] * ((fConst0 * (fConst202 + (fConst201 * fRec4[0]))) - 2.27793759787161e-22)))))))))))) - 4.97178097646487e-18)) + (fRec6[1] * (((fRec4[0] * (fConst200 + (fConst199 * fRec4[0]))) + (fConst4 * (fConst198 + (fRec5[0] * (((fRec4[0] * (fConst197 + (fConst196 * fRec4[0]))) + (fRec5[0] * (fConst194 + (fRec4[0] * (4.55587519574321e-22 + (fConst0 * (fConst192 + (fConst193 * fRec4[0])))))))) - fConst191))))) - 9.94356195292975e-18))) + (fRec6[2] * (4.97178097646487e-18 + ((fRec4[0] * (fConst190 + (fConst189 * fRec4[0]))) + (fConst0 * (fConst188 + (fRec5[0] * (fConst187 + ((fRec4[0] * ((fConst0 * (fConst186 + (fConst185 * fRec4[0]))) - 1.24294524411622e-21)) + (fRec5[0] * ((fConst0 * (fConst183 + (fRec4[0] * (2.27793759787161e-22 + (fConst0 * (fConst182 + (fConst181 * fRec4[0]))))))) - 6.21472622058109e-22))))))))))) + (fRec6[3] * (1.98871239058595e-17 + ((fRec4[0] * (fConst180 + (fConst179 * fRec4[0]))) + (fConst4 * (8.6531269672989e-21 + (fRec5[0] * (1.5834400099e-21 + ((fRec4[0] * (fConst177 + (fConst176 * fRec4[0]))) + (fRec5[0] * ((fRec4[0] * ((fConst4 * (2.20018629767604e-26 + (0 - (2.20018629767604e-26 * fRec4[0])))) - 9.11175039148642e-22)) - 1.71871753000362e-22))))))))))) + (fRec6[4] * (4.97178097646487e-18 + ((fRec4[0] * (fConst174 + (fConst173 * fRec4[0]))) + (fConst0 * (fConst170 + (fRec5[0] * (fConst168 + ((fRec4[0] * (1.24294524411622e-21 + (fConst0 * (fConst166 + (fConst165 * fRec4[0]))))) + (fRec5[0] * (6.21472622058109e-22 + (fConst0 * (fConst163 + (fRec4[0] * (2.27793759787161e-22 + (fConst0 * (fConst161 + (fConst160 * fRec4[0])))))))))))))))))) + (fRec6[5] * (((fRec4[0] * (fConst158 + (fConst157 * fRec4[0]))) + (fConst4 * (fConst154 + (fRec5[0] * (fConst152 + ((fRec4[0] * (fConst150 + (fConst149 * fRec4[0]))) + (fRec5[0] * (fConst147 + (fRec4[0] * (4.55587519574321e-22 + (fConst0 * (fConst145 + (fConst144 * fRec4[0]))))))))))))) - 9.94356195292975e-18))) + (fRec6[6] * (((fRec4[0] * (fConst67 + (fConst66 * fRec4[0]))) + (fConst0 * (fConst63 + (fRec5[0] * (fConst61 + ((fRec4[0] * ((fConst0 * (fConst59 + (fConst58 * fRec4[0]))) - 4.14315081372074e-22)) + (fRec5[0] * ((fConst0 * (fConst56 + (fRec4[0] * ((fConst0 * (fConst54 + (fConst53 * fRec4[0]))) - 2.27793759787161e-22)))) - 2.07157540686037e-22)))))))) - 4.97178097646487e-18))) / fTemp1)) - (fConst33 * (((((fConst32 * fRec3[1]) + (fConst31 * fRec3[2])) + (fConst30 * fRec3[3])) + (fConst28 * fRec3[4])) + (fConst26 * fRec3[5]))));
583 fRec2[0] = (supersonicclip((fConst33 * ((((((fConst219 * fRec3[0]) + (fConst218 * fRec3[1])) + (fConst217 * fRec3[2])) + (fConst216 * fRec3[3])) + (fConst214 * fRec3[4])) + (fConst212 * fRec3[5])))) - ((fRec2[1] * (fConst24 + (fRec1[0] * ((fConst23 * fRec1[0]) - fConst22)))) / fTemp0));
584 fRec0[0] = (((((fRec1[0] * ((0.488938774271564 * fRec1[0]) - 1.61349795509616)) - 0.166239183252332) * (fRec2[1] + fRec2[0])) / fTemp0) - (fConst15 * ((((((((fConst13 * fRec0[1]) + (fConst12 * fRec0[2])) + (fConst11 * fRec0[3])) + (fConst10 * fRec0[4])) + (fConst9 * fRec0[5])) + (fConst7 * fRec0[6])) + (fConst5 * fRec0[7])) + (fConst2 * fRec0[8]))));
585 output0[i] = (FAUSTFLOAT)(fConst233 * (((((((((fConst232 * fRec0[0]) + (fConst231 * fRec0[1])) + (fConst230 * fRec0[2])) + (fConst229 * fRec0[3])) + (fConst228 * fRec0[4])) + (fConst227 * fRec0[5])) + (fConst225 * fRec0[6])) + (fConst223 * fRec0[7])) + (fConst221 * fRec0[8])));
586 // post processing
587 for (int i=8; i>0; i--) fRec0[i] = fRec0[i-1];
588 fRec2[1] = fRec2[0];
589 for (int i=5; i>0; i--) fRec3[i] = fRec3[i-1];
590 for (int i=6; i>0; i--) fRec6[i] = fRec6[i-1];
591 fRec8[1] = fRec8[0];
592 fRec7[1] = fRec7[0];
593 fRec5[1] = fRec5[0];
594 fRec4[1] = fRec4[0];
595 fRec1[1] = fRec1[0];
596 }
597 #undef fslider0
598 #undef fslider1
599 #undef fslider2
600 #undef fslider3
601 }
602
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginLV2 * p)603 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2 *p)
604 {
605 static_cast<Dsp*>(p)->compute(count, input0, output0);
606 }
607
608
connect(uint32_t port,void * data)609 void Dsp::connect(uint32_t port,void* data)
610 {
611 switch ((PortIndex)port)
612 {
613 case BASS:
614 fslider1_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
615 break;
616 case GAIN:
617 fslider3_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
618 break;
619 case TREBLE:
620 fslider2_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
621 break;
622 case VOLUME:
623 fslider0_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
624 break;
625 default:
626 break;
627 }
628 }
629
connect_static(uint32_t port,void * data,PluginLV2 * p)630 void Dsp::connect_static(uint32_t port,void* data, PluginLV2 *p)
631 {
632 static_cast<Dsp*>(p)->connect(port, data);
633 }
634
635
plugin()636 PluginLV2 *plugin() {
637 return new Dsp();
638 }
639
del_instance(PluginLV2 * p)640 void Dsp::del_instance(PluginLV2 *p)
641 {
642 delete static_cast<Dsp*>(p);
643 }
644
645 /*
646 typedef enum
647 {
648 BASS,
649 GAIN,
650 TREBLE,
651 VOLUME,
652 } PortIndex;
653 */
654
655 } // end namespace supersonic
656