1 // generated from file '../dkbuild/timray//timray.dsp' by dsp2cc:
2 // Code generated with Faust 0.9.90 (http://faust.grame.fr)
3
4 #include "janray_neg_table.h"
5 #include "janray_table.h"
6 #include "math.h"
7
8 namespace timray {
9
10 class Dsp: public PluginLV2 {
11 private:
12 uint32_t fSamplingFreq;
13 double fConst0;
14 double fConst1;
15 double fConst2;
16 double fConst3;
17 double fConst4;
18 double fConst5;
19 FAUSTFLOAT fslider0;
20 FAUSTFLOAT *fslider0_;
21 double fRec1[2];
22 double fConst6;
23 double fConst7;
24 double fConst8;
25 double fConst9;
26 FAUSTFLOAT fslider1;
27 FAUSTFLOAT *fslider1_;
28 double fRec2[2];
29 double fConst10;
30 double fConst11;
31 double fConst12;
32 double fConst13;
33 FAUSTFLOAT fslider2;
34 FAUSTFLOAT *fslider2_;
35 double fRec3[2];
36 double fConst14;
37 double fConst15;
38 double fConst16;
39 double fConst17;
40 double fConst18;
41 double fConst19;
42 double fConst20;
43 double fConst21;
44 double fConst22;
45 double fConst23;
46 double fConst24;
47 double fConst25;
48 double fConst26;
49 double fConst27;
50 double fConst28;
51 double fConst29;
52 FAUSTFLOAT fslider3;
53 FAUSTFLOAT *fslider3_;
54 double fRec4[2];
55 double fConst30;
56 double fConst31;
57 double fConst32;
58 double fConst33;
59 double fConst34;
60 double fConst35;
61 double fConst36;
62 double fConst37;
63 double fConst38;
64 double fConst39;
65 double fConst40;
66 double fConst41;
67 double fConst42;
68 double fConst43;
69 double fConst44;
70 double fConst45;
71 double fConst46;
72 double fConst47;
73 double fConst48;
74 double fConst49;
75 double fConst50;
76 double fConst51;
77 double fConst52;
78 double fConst53;
79 double fConst54;
80 double fConst55;
81 double fConst56;
82 double fConst57;
83 double fConst58;
84 double fConst59;
85 double fConst60;
86 double fConst61;
87 double fConst62;
88 double fConst63;
89 double fConst64;
90 double fConst65;
91 double fConst66;
92 double fConst67;
93 double fConst68;
94 double fConst69;
95 double fConst70;
96 double fConst71;
97 double fConst72;
98 double fConst73;
99 double fConst74;
100 double fConst75;
101 double fConst76;
102 double fConst77;
103 double fConst78;
104 double fConst79;
105 double fConst80;
106 double fConst81;
107 double fConst82;
108 double fConst83;
109 double fConst84;
110 double fConst85;
111 double fConst86;
112 double fConst87;
113 double fConst88;
114 double fConst89;
115 double fConst90;
116 double fConst91;
117 double fConst92;
118 double fConst93;
119 double fConst94;
120 double fConst95;
121 double fConst96;
122 double fConst97;
123 double fConst98;
124 double fConst99;
125 double fConst100;
126 double fConst101;
127 double fConst102;
128 double fConst103;
129 double fConst104;
130 double fConst105;
131 double fConst106;
132 double fConst107;
133 double fConst108;
134 double fConst109;
135 double fConst110;
136 double fConst111;
137 double fConst112;
138 double fConst113;
139 double fConst114;
140 double fConst115;
141 double fConst116;
142 double fConst117;
143 double fConst118;
144 double fConst119;
145 double fConst120;
146 double fConst121;
147 double fConst122;
148 double fConst123;
149 double fConst124;
150 double fConst125;
151 double fConst126;
152 double fConst127;
153 double fConst128;
154 double fConst129;
155 double fConst130;
156 double fConst131;
157 double fConst132;
158 double fConst133;
159 double fConst134;
160 double fConst135;
161 double fConst136;
162 double fConst137;
163 double fRec5[6];
164 double fConst138;
165 double fConst139;
166 double fConst140;
167 double fConst141;
168 double fConst142;
169 double fConst143;
170 double fConst144;
171 double fConst145;
172 double fConst146;
173 double fConst147;
174 double fConst148;
175 double fConst149;
176 double fConst150;
177 double fConst151;
178 double fConst152;
179 double fConst153;
180 double fConst154;
181 double fConst155;
182 double fConst156;
183 double fConst157;
184 double fConst158;
185 double fConst159;
186 double fConst160;
187 double fConst161;
188 double fConst162;
189 double fConst163;
190 double fConst164;
191 double fConst165;
192 double fConst166;
193 double fConst167;
194 double fConst168;
195 double fConst169;
196 double fConst170;
197 double fConst171;
198 double fConst172;
199 double fConst173;
200 double fConst174;
201 double fConst175;
202 double fConst176;
203 double fConst177;
204 double fConst178;
205 double fConst179;
206 double fConst180;
207 double fConst181;
208 double fConst182;
209 double fConst183;
210 double fConst184;
211 double fConst185;
212 double fRec0[3];
213 double fConst186;
214 double fConst187;
215 double fConst188;
216 FAUSTFLOAT fslider4;
217 FAUSTFLOAT *fslider4_;
218 double fRec6[2];
219 double fConst189;
220
221 void connect(uint32_t port,void* data);
222 void clear_state_f();
223 void init(uint32_t samplingFreq);
224 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
225
226 static void clear_state_f_static(PluginLV2*);
227 static void init_static(uint32_t samplingFreq, PluginLV2*);
228 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2*);
229 static void del_instance(PluginLV2 *p);
230 static void connect_static(uint32_t port,void* data, PluginLV2 *p);
231 public:
232 Dsp();
233 ~Dsp();
234 };
235
236
237
Dsp()238 Dsp::Dsp()
239 : PluginLV2() {
240 version = PLUGINLV2_VERSION;
241 id = "timray";
242 name = N_("TimRay");
243 mono_audio = compute_static;
244 stereo_audio = 0;
245 set_samplerate = init_static;
246 activate_plugin = 0;
247 connect_ports = connect_static;
248 clear_state = clear_state_f_static;
249 delete_instance = del_instance;
250 }
251
~Dsp()252 Dsp::~Dsp() {
253 }
254
clear_state_f()255 inline void Dsp::clear_state_f()
256 {
257 for (int i=0; i<2; i++) fRec1[i] = 0;
258 for (int i=0; i<2; i++) fRec2[i] = 0;
259 for (int i=0; i<2; i++) fRec3[i] = 0;
260 for (int i=0; i<2; i++) fRec4[i] = 0;
261 for (int i=0; i<6; i++) fRec5[i] = 0;
262 for (int i=0; i<3; i++) fRec0[i] = 0;
263 for (int i=0; i<2; i++) fRec6[i] = 0;
264 }
265
clear_state_f_static(PluginLV2 * p)266 void Dsp::clear_state_f_static(PluginLV2 *p)
267 {
268 static_cast<Dsp*>(p)->clear_state_f();
269 }
270
init(uint32_t samplingFreq)271 inline void Dsp::init(uint32_t samplingFreq)
272 {
273 fSamplingFreq = samplingFreq;
274 fConst0 = double(min(1.92e+05, max(1.0, (double)fSamplingFreq)));
275 fConst1 = (1.96687984771695e-11 * fConst0);
276 fConst2 = (0.000993377609981536 + (fConst0 * (fConst1 - 1.98685356395546e-05)));
277 fConst3 = (0.00198675521996307 - (3.93375969543389e-11 * faustpower<2>(fConst0)));
278 fConst4 = (0.000993377609981536 + (fConst0 * (1.98685356395546e-05 + fConst1)));
279 fConst5 = (1.0 / fConst4);
280 fConst6 = (8.1900260876715e-26 * fConst0);
281 fConst7 = (6.89310252845818e-16 + (fConst0 * (6.76768504805577e-17 + (fConst0 * (2.64141605862444e-19 + fConst6)))));
282 fConst8 = (4.24153195985771e-26 * fConst0);
283 fConst9 = (3.28663128556886e-15 + (fConst0 * (3.10806269572715e-16 + (fConst0 * (1.36882496080625e-19 + fConst8)))));
284 fConst10 = (4.66568515584348e-26 * fConst0);
285 fConst11 = ((fConst0 * ((fConst0 * (0 - (1.50615868369112e-19 + fConst10))) - 4.87506573211503e-16)) - 3.34260262044674e-13);
286 fConst12 = (9.00902869643865e-26 * fConst0);
287 fConst13 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (2.90642894385791e-19 + fConst12))) - 3.55446243892915e-16)) - 7.27548907255322e-14)) - 7.3330877962321e-13);
288 fConst14 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (2.64163424931944e-19 + fConst6))) - 1.38041703417704e-16)) - 2.01403153940399e-15)) - 6.89310252845818e-15);
289 fConst15 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (1.36893795956795e-19 + fConst8))) - 3.47248472167364e-16)) - 6.43876014761958e-15)) - 3.28663128556886e-14);
290 fConst16 = (6.88589778203442e-12 + (fConst0 * (3.76495904425535e-13 + (fConst0 * (5.27605017210479e-16 + (fConst0 * (1.50628298232899e-19 + fConst10)))))));
291 fConst17 = (7.3330877962321e-12 + (fConst0 * (2.15016915682811e-12 + (fConst0 * (1.49068310669626e-13 + (fConst0 * (4.32870793899841e-16 + (fConst0 * (2.90666895362241e-19 + fConst12)))))))));
292 fConst18 = (1.24091304358659e-23 * fConst0);
293 fConst19 = (3.81196836712471e-17 + (fConst0 * (3.77525356518785e-18 + (fConst0 * (1.78112175014536e-20 + fConst18)))));
294 fConst20 = (6.42656357554199e-24 * fConst0);
295 fConst21 = (1.81754651744506e-16 + (fConst0 * (1.73435992252234e-17 + (fConst0 * (2.2288008534494e-20 + fConst20)))));
296 fConst22 = (7.06921993309618e-24 * fConst0);
297 fConst23 = ((fConst0 * ((fConst0 * (0 - (3.13535791491583e-20 + fConst22))) - 4.2788606524867e-17)) - 1.86505675905608e-14);
298 fConst24 = (1.36500434794525e-23 * fConst0);
299 fConst25 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (3.27935418429456e-20 + fConst24))) - 2.31008826466573e-17)) - 4.05815884904672e-15)) - 4.05528549694118e-14);
300 fConst26 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (2.11171371227009e-20 + fConst18))) - 7.73549469521963e-18)) - 1.11773665270642e-16)) - 3.81196836712471e-16);
301 fConst27 = ((fConst0 * ((fConst0 * ((fConst0 * (0 - (2.4000110984491e-20 + fConst20))) - 1.95391890110555e-17)) - 3.57955975814928e-16)) - 1.81754651744506e-15);
302 fConst28 = (3.82803530759538e-13 + (fConst0 * (2.11801228617533e-14 + (fConst0 * (4.70251408743855e-17 + (fConst0 * (3.3236891844155e-20 + fConst22)))))));
303 fConst29 = (4.05528549694118e-13 + (fConst0 * (1.1932747106362e-13 + (fConst0 * (8.35220070756327e-15 + (fConst0 * (3.09740836569766e-17 + (fConst0 * (3.64300534263177e-20 + fConst24)))))))));
304 fConst30 = (1.31948942471635e-20 * fConst0);
305 fConst31 = ((fConst0 * (2.70608771023561e-15 - fConst30)) - 3.83098989908991e-15);
306 fConst32 = (6.83350273334702e-21 * fConst0);
307 fConst33 = ((fConst0 * (1.2836617480244e-14 - fConst32)) - 1.82661598388607e-14);
308 fConst34 = (3.43409359073666e-12 + (fConst0 * (fConst32 - 1.28384379954594e-14)));
309 fConst35 = ((fConst0 * (7.23925962947242e-13 + (fConst0 * (fConst30 - 2.7096029653953e-15)))) - 3.83098989908991e-14);
310 fConst36 = (8.7086302031279e-23 * fConst0);
311 fConst37 = ((fConst0 * (1.48820277455438e-13 + (fConst0 * (fConst36 - 2.98625810362321e-16)))) - 6.92749876611283e-13);
312 fConst38 = ((fConst0 * (2.98602609678267e-16 - fConst36)) - 6.92749876611283e-14);
313 fConst39 = (4.51011180400903e-23 * fConst0);
314 fConst40 = ((fConst0 * (2.30115350547207e-16 - fConst39)) - 3.3030314116826e-13);
315 fConst41 = (3.91581968496678e-13 + (fConst0 * (fConst39 - 2.30127365947628e-16)));
316 fConst42 = (6.89310252845818e-16 + (fConst0 * ((fConst0 * (2.64141605862444e-19 - fConst6)) - 6.76768504805577e-17)));
317 fConst43 = (3.28663128556886e-15 + (fConst0 * ((fConst0 * (1.36882496080625e-19 - fConst8)) - 3.10806269572715e-16)));
318 fConst44 = ((fConst0 * (4.87506573211503e-16 + (fConst0 * (fConst10 - 1.50615868369112e-19)))) - 3.34260262044674e-13);
319 fConst45 = (7.3330877962321e-13 + (fConst0 * ((fConst0 * (3.55446243892915e-16 + (fConst0 * (fConst12 - 2.90642894385791e-19)))) - 7.27548907255322e-14)));
320 fConst46 = (6.89310252845818e-15 + (fConst0 * ((fConst0 * (1.38041703417704e-16 + (fConst0 * (fConst6 - 2.64163424931944e-19)))) - 2.01403153940399e-15)));
321 fConst47 = (3.28663128556886e-14 + (fConst0 * ((fConst0 * (3.47248472167364e-16 + (fConst0 * (fConst8 - 1.36893795956795e-19)))) - 6.43876014761958e-15)));
322 fConst48 = ((fConst0 * (3.76495904425535e-13 + (fConst0 * ((fConst0 * (1.50628298232899e-19 - fConst10)) - 5.27605017210479e-16)))) - 6.88589778203442e-12);
323 fConst49 = (7.3330877962321e-12 + (fConst0 * ((fConst0 * (1.49068310669626e-13 + (fConst0 * ((fConst0 * (2.90666895362241e-19 - fConst12)) - 4.32870793899841e-16)))) - 2.15016915682811e-12)));
324 fConst50 = (3.81196836712471e-17 + (fConst0 * ((fConst0 * (1.78112175014536e-20 - fConst18)) - 3.77525356518785e-18)));
325 fConst51 = (1.81754651744506e-16 + (fConst0 * ((fConst0 * (2.2288008534494e-20 - fConst20)) - 1.73435992252234e-17)));
326 fConst52 = ((fConst0 * (4.2788606524867e-17 + (fConst0 * (fConst22 - 3.13535791491583e-20)))) - 1.86505675905608e-14);
327 fConst53 = (4.05528549694118e-14 + (fConst0 * ((fConst0 * (2.31008826466573e-17 + (fConst0 * (fConst24 - 3.27935418429456e-20)))) - 4.05815884904672e-15)));
328 fConst54 = (3.81196836712471e-16 + (fConst0 * ((fConst0 * (7.73549469521963e-18 + (fConst0 * (fConst18 - 2.11171371227009e-20)))) - 1.11773665270642e-16)));
329 fConst55 = (1.81754651744506e-15 + (fConst0 * ((fConst0 * (1.95391890110555e-17 + (fConst0 * (fConst20 - 2.4000110984491e-20)))) - 3.57955975814928e-16)));
330 fConst56 = ((fConst0 * (2.11801228617533e-14 + (fConst0 * ((fConst0 * (3.3236891844155e-20 - fConst22)) - 4.70251408743855e-17)))) - 3.82803530759538e-13);
331 fConst57 = (4.05528549694118e-13 + (fConst0 * ((fConst0 * (8.35220070756327e-15 + (fConst0 * ((fConst0 * (3.64300534263177e-20 - fConst24)) - 3.09740836569766e-17)))) - 1.1932747106362e-13)));
332 fConst58 = (4.09501304383575e-25 * fConst0);
333 fConst59 = (6.89310252845818e-16 + (fConst0 * (6.76768504805577e-17 + (fConst0 * (fConst58 - 7.92424817587331e-19)))));
334 fConst60 = (2.12076597992886e-25 * fConst0);
335 fConst61 = (3.28663128556886e-15 + (fConst0 * (3.10806269572715e-16 + (fConst0 * (fConst60 - 4.10647488241876e-19)))));
336 fConst62 = (2.33284257792174e-25 * fConst0);
337 fConst63 = ((fConst0 * ((fConst0 * (4.51847605107335e-19 - fConst62)) - 4.87506573211503e-16)) - 3.34260262044674e-13);
338 fConst64 = (4.50451434821932e-25 * fConst0);
339 fConst65 = (2.19992633886963e-12 + (fConst0 * ((fConst0 * ((fConst0 * (8.71928683157373e-19 - fConst64)) - 3.55446243892915e-16)) - 7.27548907255322e-14)));
340 fConst66 = (2.06793075853745e-14 + (fConst0 * ((fConst0 * ((fConst0 * (7.92490274795832e-19 - fConst58)) - 1.38041703417704e-16)) - 2.01403153940399e-15)));
341 fConst67 = (9.85989385670658e-14 + (fConst0 * ((fConst0 * ((fConst0 * (4.10681387870386e-19 - fConst60)) - 3.47248472167364e-16)) - 6.43876014761958e-15)));
342 fConst68 = ((fConst0 * (3.76495904425535e-13 + (fConst0 * (5.27605017210479e-16 + (fConst0 * (fConst62 - 4.51884894698696e-19)))))) - 2.06576933461033e-11);
343 fConst69 = (3.66654389811605e-11 + (fConst0 * ((fConst0 * (1.49068310669626e-13 + (fConst0 * (4.32870793899841e-16 + (fConst0 * (fConst64 - 8.72000686086724e-19)))))) - 6.45050747048432e-12)));
344 fConst70 = (6.20456521793295e-23 * fConst0);
345 fConst71 = (3.81196836712471e-17 + (fConst0 * (3.77525356518785e-18 + (fConst0 * (fConst70 - 5.34336525043607e-20)))));
346 fConst72 = (3.21328178777099e-23 * fConst0);
347 fConst73 = (1.81754651744506e-16 + (fConst0 * (1.73435992252234e-17 + (fConst0 * (fConst72 - 6.68640256034821e-20)))));
348 fConst74 = (3.53460996654809e-23 * fConst0);
349 fConst75 = ((fConst0 * ((fConst0 * (9.40607374474749e-20 - fConst74)) - 4.2788606524867e-17)) - 1.86505675905608e-14);
350 fConst76 = (6.82502173972625e-23 * fConst0);
351 fConst77 = (1.21658564908235e-13 + (fConst0 * ((fConst0 * ((fConst0 * (9.83806255288369e-20 - fConst76)) - 2.31008826466573e-17)) - 4.05815884904672e-15)));
352 fConst78 = (1.14359051013741e-15 + (fConst0 * ((fConst0 * ((fConst0 * (6.33514113681028e-20 - fConst70)) - 7.73549469521963e-18)) - 1.11773665270642e-16)));
353 fConst79 = (5.45263955233518e-15 + (fConst0 * ((fConst0 * ((fConst0 * (7.20003329534729e-20 - fConst72)) - 1.95391890110555e-17)) - 3.57955975814928e-16)));
354 fConst80 = ((fConst0 * (2.11801228617533e-14 + (fConst0 * (4.70251408743855e-17 + (fConst0 * (fConst74 - 9.97106755324649e-20)))))) - 1.14841059227862e-12);
355 fConst81 = (2.02764274847059e-12 + (fConst0 * ((fConst0 * (8.35220070756327e-15 + (fConst0 * (3.09740836569766e-17 + (fConst0 * (fConst76 - 1.09290160278953e-19)))))) - 3.57982413190859e-13)));
356 fConst82 = (8.1900260876715e-25 * fConst0);
357 fConst83 = ((fConst0 * (1.35353700961115e-16 + (fConst0 * (5.28283211724887e-19 - fConst82)))) - 1.37862050569164e-15);
358 fConst84 = (4.24153195985771e-25 * fConst0);
359 fConst85 = ((fConst0 * (6.2161253914543e-16 + (fConst0 * (2.73764992161251e-19 - fConst84)))) - 6.57326257113772e-15);
360 fConst86 = (4.66568515584348e-25 * fConst0);
361 fConst87 = (6.68520524089348e-13 + (fConst0 * ((fConst0 * (fConst86 - 3.01231736738224e-19)) - 9.75013146423006e-16)));
362 fConst88 = (9.00902869643864e-25 * fConst0);
363 fConst89 = (1.46661755924642e-12 + (fConst0 * (1.45509781451064e-13 + (fConst0 * ((fConst0 * (fConst88 - 5.81285788771582e-19)) - 7.1089248778583e-16)))));
364 fConst90 = (1.37862050569164e-14 + (fConst0 * (4.02806307880799e-15 + (fConst0 * ((fConst0 * (fConst82 - 5.28326849863888e-19)) - 2.76083406835409e-16)))));
365 fConst91 = (6.57326257113772e-14 + (fConst0 * (1.28775202952392e-14 + (fConst0 * ((fConst0 * (fConst84 - 2.7378759191359e-19)) - 6.94496944334729e-16)))));
366 fConst92 = ((fConst0 * ((fConst0 * (1.05521003442096e-15 + (fConst0 * (3.01256596465798e-19 - fConst86)))) - 7.5299180885107e-13)) - 1.37717955640688e-11);
367 fConst93 = (7.3330877962321e-11 + (fConst0 * ((fConst0 * ((fConst0 * (8.65741587799681e-16 + (fConst0 * (5.81333790724482e-19 - fConst88)))) - 2.98136621339251e-13)) - 4.30033831365621e-12)));
368 fConst94 = (1.24091304358659e-22 * fConst0);
369 fConst95 = ((fConst0 * (7.5505071303757e-18 + (fConst0 * (3.56224350029072e-20 - fConst94)))) - 7.62393673424942e-17);
370 fConst96 = (6.42656357554199e-23 * fConst0);
371 fConst97 = ((fConst0 * (3.46871984504467e-17 + (fConst0 * (4.45760170689881e-20 - fConst96)))) - 3.63509303489012e-16);
372 fConst98 = (7.06921993309619e-23 * fConst0);
373 fConst99 = (3.73011351811216e-14 + (fConst0 * ((fConst0 * (fConst98 - 6.27071582983166e-20)) - 8.5577213049734e-17)));
374 fConst100 = (1.36500434794525e-22 * fConst0);
375 fConst101 = (8.11057099388236e-14 + (fConst0 * (8.11631769809345e-15 + (fConst0 * ((fConst0 * (fConst100 - 6.55870836858913e-20)) - 4.62017652933145e-17)))));
376 fConst102 = (7.62393673424942e-16 + (fConst0 * (2.23547330541284e-16 + (fConst0 * ((fConst0 * (fConst94 - 4.22342742454019e-20)) - 1.54709893904393e-17)))));
377 fConst103 = (3.63509303489012e-15 + (fConst0 * (7.15911951629856e-16 + (fConst0 * ((fConst0 * (fConst96 - 4.8000221968982e-20)) - 3.9078378022111e-17)))));
378 fConst104 = ((fConst0 * ((fConst0 * (9.4050281748771e-17 + (fConst0 * (6.64737836883099e-20 - fConst98)))) - 4.23602457235067e-14)) - 7.65607061519077e-13);
379 fConst105 = (4.05528549694118e-12 + (fConst0 * ((fConst0 * ((fConst0 * (6.19481673139533e-17 + (fConst0 * (7.28601068526355e-20 - fConst100)))) - 1.67044014151265e-14)) - 2.3865494212724e-13)));
380 fConst106 = ((fConst0 * ((fConst0 * (5.28283211724887e-19 + fConst82)) - 1.35353700961115e-16)) - 1.37862050569164e-15);
381 fConst107 = ((fConst0 * ((fConst0 * (2.73764992161251e-19 + fConst84)) - 6.2161253914543e-16)) - 6.57326257113772e-15);
382 fConst108 = (6.68520524089348e-13 + (fConst0 * (9.75013146423006e-16 + (fConst0 * (0 - (3.01231736738224e-19 + fConst86))))));
383 fConst109 = ((fConst0 * (1.45509781451064e-13 + (fConst0 * (7.1089248778583e-16 + (fConst0 * (0 - (5.81285788771582e-19 + fConst88))))))) - 1.46661755924642e-12);
384 fConst110 = ((fConst0 * (4.02806307880799e-15 + (fConst0 * (2.76083406835409e-16 + (fConst0 * (0 - (5.28326849863888e-19 + fConst82))))))) - 1.37862050569164e-14);
385 fConst111 = ((fConst0 * (1.28775202952392e-14 + (fConst0 * (6.94496944334729e-16 + (fConst0 * (0 - (2.7378759191359e-19 + fConst84))))))) - 6.57326257113772e-14);
386 fConst112 = (1.37717955640688e-11 + (fConst0 * ((fConst0 * ((fConst0 * (3.01256596465798e-19 + fConst86)) - 1.05521003442096e-15)) - 7.5299180885107e-13)));
387 fConst113 = (7.3330877962321e-11 + (fConst0 * (4.30033831365621e-12 + (fConst0 * ((fConst0 * ((fConst0 * (5.81333790724482e-19 + fConst88)) - 8.65741587799681e-16)) - 2.98136621339251e-13)))));
388 fConst114 = ((fConst0 * ((fConst0 * (3.56224350029072e-20 + fConst94)) - 7.5505071303757e-18)) - 7.62393673424942e-17);
389 fConst115 = ((fConst0 * ((fConst0 * (4.45760170689881e-20 + fConst96)) - 3.46871984504467e-17)) - 3.63509303489012e-16);
390 fConst116 = (3.73011351811216e-14 + (fConst0 * (8.5577213049734e-17 + (fConst0 * (0 - (6.27071582983166e-20 + fConst98))))));
391 fConst117 = ((fConst0 * (8.11631769809345e-15 + (fConst0 * (4.62017652933145e-17 + (fConst0 * (0 - (6.55870836858913e-20 + fConst100))))))) - 8.11057099388236e-14);
392 fConst118 = ((fConst0 * (2.23547330541284e-16 + (fConst0 * (1.54709893904393e-17 + (fConst0 * (0 - (4.22342742454019e-20 + fConst94))))))) - 7.62393673424942e-16);
393 fConst119 = ((fConst0 * (7.15911951629856e-16 + (fConst0 * (3.9078378022111e-17 + (fConst0 * (0 - (4.8000221968982e-20 + fConst96))))))) - 3.63509303489012e-15);
394 fConst120 = (7.65607061519077e-13 + (fConst0 * ((fConst0 * ((fConst0 * (6.64737836883099e-20 + fConst98)) - 9.4050281748771e-17)) - 4.23602457235067e-14)));
395 fConst121 = (4.05528549694118e-12 + (fConst0 * (2.3865494212724e-13 + (fConst0 * ((fConst0 * ((fConst0 * (7.28601068526355e-20 + fConst100)) - 6.19481673139533e-17)) - 1.67044014151265e-14)))));
396 fConst122 = (6.89310252845818e-16 + (fConst0 * ((fConst0 * (0 - (7.92424817587331e-19 + fConst58))) - 6.76768504805577e-17)));
397 fConst123 = (3.28663128556886e-15 + (fConst0 * ((fConst0 * (0 - (4.10647488241876e-19 + fConst60))) - 3.10806269572715e-16)));
398 fConst124 = ((fConst0 * (4.87506573211503e-16 + (fConst0 * (4.51847605107335e-19 + fConst62)))) - 3.34260262044674e-13);
399 fConst125 = ((fConst0 * ((fConst0 * (3.55446243892915e-16 + (fConst0 * (8.71928683157373e-19 + fConst64)))) - 7.27548907255322e-14)) - 2.19992633886963e-12);
400 fConst126 = ((fConst0 * ((fConst0 * (1.38041703417704e-16 + (fConst0 * (7.92490274795832e-19 + fConst58)))) - 2.01403153940399e-15)) - 2.06793075853745e-14);
401 fConst127 = ((fConst0 * ((fConst0 * (3.47248472167364e-16 + (fConst0 * (4.10681387870386e-19 + fConst60)))) - 6.43876014761958e-15)) - 9.85989385670658e-14);
402 fConst128 = (2.06576933461033e-11 + (fConst0 * (3.76495904425535e-13 + (fConst0 * ((fConst0 * (0 - (4.51884894698696e-19 + fConst62))) - 5.27605017210479e-16)))));
403 fConst129 = (3.66654389811605e-11 + (fConst0 * (6.45050747048432e-12 + (fConst0 * (1.49068310669626e-13 + (fConst0 * ((fConst0 * (0 - (8.72000686086724e-19 + fConst64))) - 4.32870793899841e-16)))))));
404 fConst130 = (3.81196836712471e-17 + (fConst0 * ((fConst0 * (0 - (5.34336525043607e-20 + fConst70))) - 3.77525356518785e-18)));
405 fConst131 = (1.81754651744506e-16 + (fConst0 * ((fConst0 * (0 - (6.68640256034821e-20 + fConst72))) - 1.73435992252234e-17)));
406 fConst132 = ((fConst0 * (4.2788606524867e-17 + (fConst0 * (9.40607374474749e-20 + fConst74)))) - 1.86505675905608e-14);
407 fConst133 = ((fConst0 * ((fConst0 * (2.31008826466573e-17 + (fConst0 * (9.83806255288369e-20 + fConst76)))) - 4.05815884904672e-15)) - 1.21658564908235e-13);
408 fConst134 = ((fConst0 * ((fConst0 * (7.73549469521963e-18 + (fConst0 * (6.33514113681028e-20 + fConst70)))) - 1.11773665270642e-16)) - 1.14359051013741e-15);
409 fConst135 = ((fConst0 * ((fConst0 * (1.95391890110555e-17 + (fConst0 * (7.20003329534729e-20 + fConst72)))) - 3.57955975814928e-16)) - 5.45263955233518e-15);
410 fConst136 = (1.14841059227862e-12 + (fConst0 * (2.11801228617533e-14 + (fConst0 * ((fConst0 * (0 - (9.97106755324649e-20 + fConst74))) - 4.70251408743855e-17)))));
411 fConst137 = (2.02764274847059e-12 + (fConst0 * (3.57982413190859e-13 + (fConst0 * (8.35220070756327e-15 + (fConst0 * ((fConst0 * (0 - (1.09290160278953e-19 + fConst76))) - 3.09740836569766e-17)))))));
412 fConst138 = (3.95846827414905e-20 * fConst0);
413 fConst139 = ((fConst0 * (fConst138 - 2.70608771023561e-15)) - 3.83098989908991e-15);
414 fConst140 = (2.05005082000411e-20 * fConst0);
415 fConst141 = ((fConst0 * (fConst140 - 1.2836617480244e-14)) - 1.82661598388607e-14);
416 fConst142 = (3.43409359073666e-12 + (fConst0 * (1.28384379954594e-14 - fConst140)));
417 fConst143 = ((fConst0 * (7.23925962947242e-13 + (fConst0 * (2.7096029653953e-15 - fConst138)))) - 1.14929696972697e-13);
418 fConst144 = (2.61258906093837e-22 * fConst0);
419 fConst145 = ((fConst0 * (1.48820277455438e-13 + (fConst0 * (2.98625810362321e-16 - fConst144)))) - 2.07824962983385e-12);
420 fConst146 = ((fConst0 * (fConst144 - 2.98602609678267e-16)) - 6.92749876611283e-14);
421 fConst147 = (1.35303354120271e-22 * fConst0);
422 fConst148 = ((fConst0 * (fConst147 - 2.30115350547207e-16)) - 3.3030314116826e-13);
423 fConst149 = (3.91581968496678e-13 + (fConst0 * (2.30127365947628e-16 - fConst147)));
424 fConst150 = (2.6389788494327e-20 * fConst0);
425 fConst151 = (7.66197979817981e-15 + (fConst0 * (0 - (5.41217542047122e-15 + fConst150))));
426 fConst152 = (1.3667005466694e-20 * fConst0);
427 fConst153 = (3.65323196777213e-14 + (fConst0 * (0 - (2.56732349604881e-14 + fConst152))));
428 fConst154 = ((fConst0 * (2.56768759909188e-14 + fConst152)) - 6.86818718147332e-12);
429 fConst155 = ((fConst0 * ((fConst0 * (5.41920593079061e-15 + fConst150)) - 1.44785192589448e-12)) - 7.66197979817981e-14);
430 fConst156 = (1.74172604062558e-22 * fConst0);
431 fConst157 = ((fConst0 * ((fConst0 * (5.97251620724643e-16 + fConst156)) - 2.97640554910877e-13)) - 1.38549975322257e-12);
432 fConst158 = (1.38549975322257e-13 + (fConst0 * (0 - (5.97205219356535e-16 + fConst156))));
433 fConst159 = (9.02022360801807e-23 * fConst0);
434 fConst160 = (6.60606282336519e-13 + (fConst0 * (0 - (4.60230701094414e-16 + fConst159))));
435 fConst161 = ((fConst0 * (4.60254731895257e-16 + fConst159)) - 7.83163936993356e-13);
436 fConst162 = (7.66197979817981e-15 + (fConst0 * (5.41217542047122e-15 - fConst150)));
437 fConst163 = (3.65323196777213e-14 + (fConst0 * (2.56732349604881e-14 - fConst152)));
438 fConst164 = ((fConst0 * (fConst152 - 2.56768759909188e-14)) - 6.86818718147332e-12);
439 fConst165 = (7.66197979817981e-14 + (fConst0 * ((fConst0 * (fConst150 - 5.41920593079061e-15)) - 1.44785192589448e-12)));
440 fConst166 = (1.38549975322257e-12 + (fConst0 * ((fConst0 * (fConst156 - 5.97251620724643e-16)) - 2.97640554910877e-13)));
441 fConst167 = (1.38549975322257e-13 + (fConst0 * (5.97205219356535e-16 - fConst156)));
442 fConst168 = (6.60606282336519e-13 + (fConst0 * (4.60230701094414e-16 - fConst159)));
443 fConst169 = ((fConst0 * (fConst159 - 4.60254731895257e-16)) - 7.83163936993356e-13);
444 fConst170 = ((fConst0 * (2.70608771023561e-15 + fConst138)) - 3.83098989908991e-15);
445 fConst171 = ((fConst0 * (1.2836617480244e-14 + fConst140)) - 1.82661598388607e-14);
446 fConst172 = (3.43409359073666e-12 + (fConst0 * (0 - (1.28384379954594e-14 + fConst140))));
447 fConst173 = (1.14929696972697e-13 + (fConst0 * (7.23925962947242e-13 + (fConst0 * (0 - (2.7096029653953e-15 + fConst138))))));
448 fConst174 = (2.07824962983385e-12 + (fConst0 * (1.48820277455438e-13 + (fConst0 * (0 - (2.98625810362321e-16 + fConst144))))));
449 fConst175 = ((fConst0 * (2.98602609678267e-16 + fConst144)) - 6.92749876611283e-14);
450 fConst176 = ((fConst0 * (2.30115350547207e-16 + fConst147)) - 3.3030314116826e-13);
451 fConst177 = (3.91581968496678e-13 + (fConst0 * (0 - (2.30127365947628e-16 + fConst147))));
452 fConst178 = ((fConst0 * (0 - (2.70608771023561e-15 + fConst30))) - 3.83098989908991e-15);
453 fConst179 = ((fConst0 * (0 - (1.2836617480244e-14 + fConst32))) - 1.82661598388607e-14);
454 fConst180 = (3.43409359073666e-12 + (fConst0 * (1.28384379954594e-14 + fConst32)));
455 fConst181 = (3.83098989908991e-14 + (fConst0 * (7.23925962947242e-13 + (fConst0 * (2.7096029653953e-15 + fConst30)))));
456 fConst182 = (6.92749876611283e-13 + (fConst0 * (1.48820277455438e-13 + (fConst0 * (2.98625810362321e-16 + fConst36)))));
457 fConst183 = ((fConst0 * (0 - (2.98602609678267e-16 + fConst36))) - 6.92749876611283e-14);
458 fConst184 = ((fConst0 * (0 - (2.30115350547207e-16 + fConst39))) - 3.3030314116826e-13);
459 fConst185 = (3.91581968496678e-13 + (fConst0 * (2.30127365947628e-16 + fConst39)));
460 fConst186 = (1.96686017911516e-11 * fConst0);
461 fConst187 = (fConst186 - 2.7766311400433e-05);
462 fConst188 = (2.7766311400433e-05 + fConst186);
463 fConst189 = (fConst0 / fConst4);
464 clear_state_f();
465 }
466
init_static(uint32_t samplingFreq,PluginLV2 * p)467 void Dsp::init_static(uint32_t samplingFreq, PluginLV2 *p)
468 {
469 static_cast<Dsp*>(p)->init(samplingFreq);
470 }
471
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)472 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
473 {
474 #define fslider0 (*fslider0_)
475 #define fslider1 (*fslider1_)
476 #define fslider2 (*fslider2_)
477 #define fslider3 (*fslider3_)
478 #define fslider4 (*fslider4_)
479 double fSlow0 = (0.007000000000000006 * double(fslider0));
480 double fSlow1 = (0.007000000000000006 * double(fslider1));
481 double fSlow2 = (0.007000000000000006 * double(fslider2));
482 double fSlow3 = (0.00036676987543879196 * (exp((3 * double(fslider3))) - 1));
483 double fSlow4 = (0.00036676987543879196 * (exp((3 * double(fslider4))) - 1));
484 for (int i=0; i<count; i++) {
485 fRec1[0] = (fSlow0 + (0.993 * fRec1[1]));
486 fRec2[0] = (fSlow1 + (0.993 * fRec2[1]));
487 fRec3[0] = (fSlow2 + (0.993 * fRec3[1]));
488 fRec4[0] = (fSlow3 + (0.993 * fRec4[1]));
489 double fTemp0 = (3.49641626124347e-11 + ((fRec4[0] * (1.93356012494155e-12 + ((fConst29 * fRec1[0]) + (fConst0 * (fConst28 + ((fRec2[0] * (fConst27 + (fConst26 * fRec1[0]))) + (fRec3[0] * (((fConst25 * fRec1[0]) + (fConst0 * (fConst23 + (fRec2[0] * (fConst21 + (fConst19 * fRec1[0])))))) - 1.93356012494155e-13)))))))) + ((fConst17 * fRec1[0]) + (fConst0 * (fConst16 + ((fRec2[0] * (fConst15 + (fConst14 * fRec1[0]))) + (fRec3[0] * (((fConst13 * fRec1[0]) + (fConst0 * (fConst11 + (fRec2[0] * (fConst9 + (fConst7 * fRec1[0])))))) - 3.49641626124347e-12))))))));
490 fRec5[0] = ((double)input0[i] - ((((((fRec5[1] * (1.74820813062173e-10 + ((fRec4[0] * (9.66780062470777e-12 + ((fConst137 * fRec1[0]) + (fConst0 * (fConst136 + ((fRec2[0] * (fConst135 + (fConst134 * fRec1[0]))) + (fRec3[0] * (((fConst133 * fRec1[0]) + (fConst0 * (fConst132 + (fRec2[0] * (fConst131 + (fConst130 * fRec1[0])))))) - 5.80068037482466e-13)))))))) + ((fConst129 * fRec1[0]) + (fConst0 * (fConst128 + ((fRec2[0] * (fConst127 + (fConst126 * fRec1[0]))) + (fRec3[0] * (((fConst125 * fRec1[0]) + (fConst0 * (fConst124 + (fRec2[0] * (fConst123 + (fConst122 * fRec1[0])))))) - 1.04892487837304e-11))))))))) + (fRec5[2] * (3.49641626124347e-10 + ((fRec4[0] * (1.93356012494155e-11 + ((fConst121 * fRec1[0]) + (fConst0 * (fConst120 + ((fRec2[0] * (fConst119 + (fConst118 * fRec1[0]))) + (fRec3[0] * (((fConst117 * fRec1[0]) + (fConst0 * (fConst116 + (fRec2[0] * (fConst115 + (fConst114 * fRec1[0])))))) - 3.86712024988311e-13)))))))) + ((fConst113 * fRec1[0]) + (fConst0 * (fConst112 + ((fRec2[0] * (fConst111 + (fConst110 * fRec1[0]))) + (fRec3[0] * (((fConst109 * fRec1[0]) + (fConst0 * (fConst108 + (fRec2[0] * (fConst107 + (fConst106 * fRec1[0])))))) - 6.99283252248693e-12)))))))))) + (fRec5[3] * (3.49641626124347e-10 + ((fRec4[0] * (1.93356012494155e-11 + ((fConst105 * fRec1[0]) + (fConst0 * (fConst104 + ((fRec2[0] * (fConst103 + (fConst102 * fRec1[0]))) + (fRec3[0] * (3.86712024988311e-13 + ((fConst101 * fRec1[0]) + (fConst0 * (fConst99 + (fRec2[0] * (fConst97 + (fConst95 * fRec1[0])))))))))))))) + ((fConst93 * fRec1[0]) + (fConst0 * (fConst92 + ((fRec2[0] * (fConst91 + (fConst90 * fRec1[0]))) + (fRec3[0] * (6.99283252248693e-12 + ((fConst89 * fRec1[0]) + (fConst0 * (fConst87 + (fRec2[0] * (fConst85 + (fConst83 * fRec1[0])))))))))))))))) + (fRec5[4] * (1.74820813062173e-10 + ((fRec4[0] * (9.66780062470777e-12 + ((fConst81 * fRec1[0]) + (fConst0 * (fConst80 + ((fRec2[0] * (fConst79 + (fConst78 * fRec1[0]))) + (fRec3[0] * (5.80068037482466e-13 + ((fConst77 * fRec1[0]) + (fConst0 * (fConst75 + (fRec2[0] * (fConst73 + (fConst71 * fRec1[0])))))))))))))) + ((fConst69 * fRec1[0]) + (fConst0 * (fConst68 + ((fRec2[0] * (fConst67 + (fConst66 * fRec1[0]))) + (fRec3[0] * (1.04892487837304e-11 + ((fConst65 * fRec1[0]) + (fConst0 * (fConst63 + (fRec2[0] * (fConst61 + (fConst59 * fRec1[0])))))))))))))))) + (fRec5[5] * (3.49641626124347e-11 + ((fRec4[0] * (1.93356012494155e-12 + ((fConst57 * fRec1[0]) + (fConst0 * (fConst56 + ((fRec2[0] * (fConst55 + (fConst54 * fRec1[0]))) + (fRec3[0] * (1.93356012494155e-13 + ((fConst53 * fRec1[0]) + (fConst0 * (fConst52 + (fRec2[0] * (fConst51 + (fConst50 * fRec1[0])))))))))))))) + ((fConst49 * fRec1[0]) + (fConst0 * (fConst48 + ((fRec2[0] * (fConst47 + (fConst46 * fRec1[0]))) + (fRec3[0] * (3.49641626124347e-12 + ((fConst45 * fRec1[0]) + (fConst0 * (fConst44 + (fRec2[0] * (fConst43 + (fConst42 * fRec1[0])))))))))))))))) / fTemp0));
491 double fTemp1 = (fConst0 * (((((((fRec5[0] * (3.3030314116826e-12 + ((fConst0 * (fConst185 + (fRec3[0] * (fConst184 + (fConst183 * fRec1[0]))))) + ((fConst182 * fRec1[0]) + (fRec4[0] * (1.82661598388607e-13 + ((fConst181 * fRec1[0]) + (fConst0 * (fConst180 + (fRec3[0] * (fConst179 + (fConst178 * fRec1[0])))))))))))) + (fRec5[1] * (9.90909423504778e-12 + ((fConst0 * (fConst177 + (fRec3[0] * (fConst176 + (fConst175 * fRec1[0]))))) + ((fConst174 * fRec1[0]) + (fRec4[0] * (5.4798479516582e-13 + ((fConst173 * fRec1[0]) + (fConst0 * (fConst172 + (fRec3[0] * (fConst171 + (fConst170 * fRec1[0]))))))))))))) + (fRec5[2] * (6.60606282336519e-12 + ((fConst0 * (fConst169 + (fRec3[0] * (fConst168 + (fConst167 * fRec1[0]))))) + ((fConst166 * fRec1[0]) + (fRec4[0] * (3.65323196777214e-13 + ((fConst165 * fRec1[0]) + (fConst0 * (fConst164 + (fRec3[0] * (fConst163 + (fConst162 * fRec1[0]))))))))))))) + (fRec5[3] * (((fConst0 * (fConst161 + (fRec3[0] * (fConst160 + (fConst158 * fRec1[0]))))) + ((fConst157 * fRec1[0]) + (fRec4[0] * (((fConst155 * fRec1[0]) + (fConst0 * (fConst154 + (fRec3[0] * (fConst153 + (fConst151 * fRec1[0])))))) - 3.65323196777214e-13)))) - 6.60606282336519e-12))) + (fRec5[4] * (((fConst0 * (fConst149 + (fRec3[0] * (fConst148 + (fConst146 * fRec1[0]))))) + ((fConst145 * fRec1[0]) + (fRec4[0] * (((fConst143 * fRec1[0]) + (fConst0 * (fConst142 + (fRec3[0] * (fConst141 + (fConst139 * fRec1[0])))))) - 5.4798479516582e-13)))) - 9.90909423504778e-12))) + (fRec5[5] * (((fConst0 * (fConst41 + (fRec3[0] * (fConst40 + (fConst38 * fRec1[0]))))) + ((fConst37 * fRec1[0]) + (fRec4[0] * (((fConst35 * fRec1[0]) + (fConst0 * (fConst34 + (fRec3[0] * (fConst33 + (fConst31 * fRec1[0])))))) - 1.82661598388607e-13)))) - 3.3030314116826e-12))) / fTemp0));
492 fRec0[0] = (((int(std::signbit(fTemp1)))?janray_negclip(fTemp1):janrayclip(fTemp1)) - (fConst5 * ((fConst3 * fRec0[1]) + (fConst2 * fRec0[2]))));
493 fRec6[0] = (fSlow4 + (0.993 * fRec6[1]));
494 output0[i] = (FAUSTFLOAT)(fConst189 * ((fConst0 * (fRec0[1] * (0 - (3.93372035823031e-11 * fRec6[0])))) + (fRec6[0] * ((fConst188 * fRec0[0]) + (fConst187 * fRec0[2])))));
495 // post processing
496 fRec6[1] = fRec6[0];
497 fRec0[2] = fRec0[1]; fRec0[1] = fRec0[0];
498 for (int i=5; i>0; i--) fRec5[i] = fRec5[i-1];
499 fRec4[1] = fRec4[0];
500 fRec3[1] = fRec3[0];
501 fRec2[1] = fRec2[0];
502 fRec1[1] = fRec1[0];
503 }
504 #undef fslider0
505 #undef fslider1
506 #undef fslider2
507 #undef fslider3
508 #undef fslider4
509 }
510
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginLV2 * p)511 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2 *p)
512 {
513 static_cast<Dsp*>(p)->compute(count, input0, output0);
514 }
515
516
connect(uint32_t port,void * data)517 void Dsp::connect(uint32_t port,void* data)
518 {
519 switch ((PortIndex)port)
520 {
521 case BASS:
522 fslider2_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
523 break;
524 case GAIN:
525 fslider3_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
526 break;
527 case TREBLE:
528 fslider1_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
529 break;
530 case TRIM:
531 fslider0_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
532 break;
533 case VOLUME:
534 fslider4_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
535 break;
536 default:
537 break;
538 }
539 }
540
connect_static(uint32_t port,void * data,PluginLV2 * p)541 void Dsp::connect_static(uint32_t port,void* data, PluginLV2 *p)
542 {
543 static_cast<Dsp*>(p)->connect(port, data);
544 }
545
546
plugin()547 PluginLV2 *plugin() {
548 return new Dsp();
549 }
550
del_instance(PluginLV2 * p)551 void Dsp::del_instance(PluginLV2 *p)
552 {
553 delete static_cast<Dsp*>(p);
554 }
555
556 /*
557 typedef enum
558 {
559 BASS,
560 GAIN,
561 TREBLE,
562 TRIM,
563 VOLUME,
564 } PortIndex;
565 */
566
567 } // end namespace timray
568