1 // generated from file '../src/LV2/faust/gx_vibrochump.dsp' by dsp2cc:
2 // Code generated with Faust (https://faust.grame.fr)
3
4 #include "bigchumppower_neg_table.h"
5 #include "bigchumppower_table.h"
6 #include "bigchumppre2_neg_table.h"
7 #include "bigchumppre2_table.h"
8 #include "bigchumppre_neg_table.h"
9 #include "bigchumppre_table.h"
10 #include "math.h"
11
12 namespace gx_vibrochump {
13
14 class Dsp: public PluginLV2 {
15 private:
16 uint32_t fSampleRate;
17 FAUSTFLOAT fVslider0;
18 FAUSTFLOAT *fVslider0_;
19 int iVec0[2];
20 double fRec0[2];
21 double fConst0;
22 double fConst1;
23 double fConst4;
24 double fConst6;
25 double fConst9;
26 double fConst11;
27 FAUSTFLOAT fVslider1;
28 FAUSTFLOAT *fVslider1_;
29 double fRec3[2];
30 double fConst13;
31 double fConst14;
32 double fConst16;
33 double fConst18;
34 double fVec1[2];
35 double fConst19;
36 double fConst20;
37 double fRec9[2];
38 double fConst21;
39 double fConst22;
40 double fRec8[3];
41 double fConst23;
42 double fConst27;
43 double fConst28;
44 double fConst29;
45 double fConst31;
46 double fConst32;
47 double fRec7[3];
48 double fConst36;
49 double fConst37;
50 double fConst38;
51 double fConst40;
52 double fConst41;
53 double fRec6[3];
54 double fConst45;
55 double fConst46;
56 double fConst47;
57 double fConst49;
58 double fConst50;
59 double fRec5[3];
60 double fConst52;
61 double fConst54;
62 double fConst56;
63 double fConst57;
64 double fConst58;
65 double fConst59;
66 double fConst60;
67 double fConst61;
68 double fConst62;
69 double fConst64;
70 double fConst66;
71 double fConst68;
72 double fConst69;
73 double fConst70;
74 double fConst71;
75 double fRec4[5];
76 double fConst73;
77 double fConst75;
78 FAUSTFLOAT fVslider2;
79 FAUSTFLOAT *fVslider2_;
80 double fRec10[2];
81 double fConst77;
82 double fConst78;
83 double fConst79;
84 double fConst80;
85 double fConst81;
86 double fConst82;
87 FAUSTFLOAT fCheckbox0;
88 FAUSTFLOAT *fCheckbox0_;
89 double fConst83;
90 FAUSTFLOAT fVslider3;
91 FAUSTFLOAT *fVslider3_;
92 FAUSTFLOAT fCheckbox1;
93 FAUSTFLOAT *fCheckbox1_;
94 double fConst84;
95 FAUSTFLOAT fVslider4;
96 FAUSTFLOAT *fVslider4_;
97 int iRec13[2];
98 int iRec12[2];
99 double fConst85;
100 double fRec16[2];
101 double fRec15[2];
102 double fRec14[2];
103 double fRec11[2];
104 double fConst86;
105 double fConst87;
106 double fConst88;
107 double fRec2[3];
108 double fConst89;
109 double fConst90;
110 double fConst91;
111 double fConst93;
112 double fConst94;
113 double fConst95;
114 double fRec1[4];
115 double fConst97;
116 double fConst98;
117 double fConst99;
118 double fConst100;
119 double fConst101;
120 double fRec25[2];
121 double fRec24[3];
122 double fVec2[2];
123 double fConst102;
124 double fConst103;
125 double fRec23[2];
126 double fConst104;
127 double fRec22[3];
128 double fConst105;
129 double fRec21[3];
130 double fRec20[3];
131 double fRec19[5];
132 double fRec18[3];
133 double fRec17[4];
134 double fConst106;
135 double fConst107;
136 double fConst108;
137 double fRec33[2];
138 double fRec32[3];
139 double fVec3[2];
140 double fConst109;
141 double fConst110;
142 double fRec31[2];
143 double fConst111;
144 double fRec30[3];
145 double fConst112;
146 double fRec29[3];
147 double fRec28[5];
148 double fRec27[3];
149 double fRec26[4];
150 double fConst113;
151 double fConst114;
152 double fConst115;
153 double fRec40[2];
154 double fRec39[3];
155 double fVec4[2];
156 double fConst116;
157 double fConst117;
158 double fRec38[2];
159 double fConst118;
160 double fRec37[3];
161 double fConst119;
162 double fRec36[5];
163 double fRec35[3];
164 double fRec34[4];
165 double fConst120;
166 double fRec45[2];
167 double fRec44[3];
168 double fRec43[5];
169 double fRec42[3];
170 double fRec41[4];
171
172 void connect(uint32_t port,void* data);
173 void clear_state_f();
174 void init(uint32_t sample_rate);
175 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
176
177 static void clear_state_f_static(PluginLV2*);
178 static void init_static(uint32_t sample_rate, PluginLV2*);
179 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2*);
180 static void del_instance(PluginLV2 *p);
181 static void connect_static(uint32_t port,void* data, PluginLV2 *p);
182 public:
183 Dsp();
184 ~Dsp();
185 };
186
187
188
Dsp()189 Dsp::Dsp()
190 : PluginLV2() {
191 version = PLUGINLV2_VERSION;
192 id = "Redeye Vibro Chump";
193 name = N_("Redeye Vibro Chumo");
194 mono_audio = compute_static;
195 stereo_audio = 0;
196 set_samplerate = init_static;
197 activate_plugin = 0;
198 connect_ports = connect_static;
199 clear_state = clear_state_f_static;
200 delete_instance = del_instance;
201 }
202
~Dsp()203 Dsp::~Dsp() {
204 }
205
clear_state_f()206 inline void Dsp::clear_state_f()
207 {
208 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) iVec0[l0] = 0;
209 for (int l1 = 0; (l1 < 2); l1 = (l1 + 1)) fRec0[l1] = 0.0;
210 for (int l2 = 0; (l2 < 2); l2 = (l2 + 1)) fRec3[l2] = 0.0;
211 for (int l3 = 0; (l3 < 2); l3 = (l3 + 1)) fVec1[l3] = 0.0;
212 for (int l4 = 0; (l4 < 2); l4 = (l4 + 1)) fRec9[l4] = 0.0;
213 for (int l5 = 0; (l5 < 3); l5 = (l5 + 1)) fRec8[l5] = 0.0;
214 for (int l6 = 0; (l6 < 3); l6 = (l6 + 1)) fRec7[l6] = 0.0;
215 for (int l7 = 0; (l7 < 3); l7 = (l7 + 1)) fRec6[l7] = 0.0;
216 for (int l8 = 0; (l8 < 3); l8 = (l8 + 1)) fRec5[l8] = 0.0;
217 for (int l9 = 0; (l9 < 5); l9 = (l9 + 1)) fRec4[l9] = 0.0;
218 for (int l10 = 0; (l10 < 2); l10 = (l10 + 1)) fRec10[l10] = 0.0;
219 for (int l11 = 0; (l11 < 2); l11 = (l11 + 1)) iRec13[l11] = 0;
220 for (int l12 = 0; (l12 < 2); l12 = (l12 + 1)) iRec12[l12] = 0;
221 for (int l13 = 0; (l13 < 2); l13 = (l13 + 1)) fRec16[l13] = 0.0;
222 for (int l14 = 0; (l14 < 2); l14 = (l14 + 1)) fRec15[l14] = 0.0;
223 for (int l15 = 0; (l15 < 2); l15 = (l15 + 1)) fRec14[l15] = 0.0;
224 for (int l16 = 0; (l16 < 2); l16 = (l16 + 1)) fRec11[l16] = 0.0;
225 for (int l17 = 0; (l17 < 3); l17 = (l17 + 1)) fRec2[l17] = 0.0;
226 for (int l18 = 0; (l18 < 4); l18 = (l18 + 1)) fRec1[l18] = 0.0;
227 for (int l19 = 0; (l19 < 2); l19 = (l19 + 1)) fRec25[l19] = 0.0;
228 for (int l20 = 0; (l20 < 3); l20 = (l20 + 1)) fRec24[l20] = 0.0;
229 for (int l21 = 0; (l21 < 2); l21 = (l21 + 1)) fVec2[l21] = 0.0;
230 for (int l22 = 0; (l22 < 2); l22 = (l22 + 1)) fRec23[l22] = 0.0;
231 for (int l23 = 0; (l23 < 3); l23 = (l23 + 1)) fRec22[l23] = 0.0;
232 for (int l24 = 0; (l24 < 3); l24 = (l24 + 1)) fRec21[l24] = 0.0;
233 for (int l25 = 0; (l25 < 3); l25 = (l25 + 1)) fRec20[l25] = 0.0;
234 for (int l26 = 0; (l26 < 5); l26 = (l26 + 1)) fRec19[l26] = 0.0;
235 for (int l27 = 0; (l27 < 3); l27 = (l27 + 1)) fRec18[l27] = 0.0;
236 for (int l28 = 0; (l28 < 4); l28 = (l28 + 1)) fRec17[l28] = 0.0;
237 for (int l29 = 0; (l29 < 2); l29 = (l29 + 1)) fRec33[l29] = 0.0;
238 for (int l30 = 0; (l30 < 3); l30 = (l30 + 1)) fRec32[l30] = 0.0;
239 for (int l31 = 0; (l31 < 2); l31 = (l31 + 1)) fVec3[l31] = 0.0;
240 for (int l32 = 0; (l32 < 2); l32 = (l32 + 1)) fRec31[l32] = 0.0;
241 for (int l33 = 0; (l33 < 3); l33 = (l33 + 1)) fRec30[l33] = 0.0;
242 for (int l34 = 0; (l34 < 3); l34 = (l34 + 1)) fRec29[l34] = 0.0;
243 for (int l35 = 0; (l35 < 5); l35 = (l35 + 1)) fRec28[l35] = 0.0;
244 for (int l36 = 0; (l36 < 3); l36 = (l36 + 1)) fRec27[l36] = 0.0;
245 for (int l37 = 0; (l37 < 4); l37 = (l37 + 1)) fRec26[l37] = 0.0;
246 for (int l38 = 0; (l38 < 2); l38 = (l38 + 1)) fRec40[l38] = 0.0;
247 for (int l39 = 0; (l39 < 3); l39 = (l39 + 1)) fRec39[l39] = 0.0;
248 for (int l40 = 0; (l40 < 2); l40 = (l40 + 1)) fVec4[l40] = 0.0;
249 for (int l41 = 0; (l41 < 2); l41 = (l41 + 1)) fRec38[l41] = 0.0;
250 for (int l42 = 0; (l42 < 3); l42 = (l42 + 1)) fRec37[l42] = 0.0;
251 for (int l43 = 0; (l43 < 5); l43 = (l43 + 1)) fRec36[l43] = 0.0;
252 for (int l44 = 0; (l44 < 3); l44 = (l44 + 1)) fRec35[l44] = 0.0;
253 for (int l45 = 0; (l45 < 4); l45 = (l45 + 1)) fRec34[l45] = 0.0;
254 for (int l46 = 0; (l46 < 2); l46 = (l46 + 1)) fRec45[l46] = 0.0;
255 for (int l47 = 0; (l47 < 3); l47 = (l47 + 1)) fRec44[l47] = 0.0;
256 for (int l48 = 0; (l48 < 5); l48 = (l48 + 1)) fRec43[l48] = 0.0;
257 for (int l49 = 0; (l49 < 3); l49 = (l49 + 1)) fRec42[l49] = 0.0;
258 for (int l50 = 0; (l50 < 4); l50 = (l50 + 1)) fRec41[l50] = 0.0;
259 }
260
clear_state_f_static(PluginLV2 * p)261 void Dsp::clear_state_f_static(PluginLV2 *p)
262 {
263 static_cast<Dsp*>(p)->clear_state_f();
264 }
265
init(uint32_t sample_rate)266 inline void Dsp::init(uint32_t sample_rate)
267 {
268 fSampleRate = sample_rate;
269 fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
270 fConst1 = mydsp_faustpower2_f(fConst0);
271 double fConst2 = (8.9068910724842994e-15 * fConst0);
272 double fConst3 = ((fConst0 * ((fConst0 * (fConst2 + 6.4917759212794798e-12)) + 2.5100665591164499e-10)) + 2.4697044736012902e-09);
273 fConst4 = (fConst1 / fConst3);
274 double fConst5 = (9.0138480164185596e-13 * fConst0);
275 fConst6 = (fConst5 + 1.6298631366961702e-11);
276 double fConst7 = (4.3359066716033201e-10 * fConst0);
277 double fConst8 = ((fConst0 * (fConst7 + 2.0976223579538801e-08)) + 2.44130776766847e-07);
278 fConst9 = (fConst0 / fConst8);
279 double fConst10 = (2.5486049432641702e-08 * fConst0);
280 fConst11 = (-3.39813992435224e-07 - fConst10);
281 double fConst12 = std::tan((20517.741620594938 / fConst0));
282 fConst13 = (1.0 / fConst12);
283 fConst14 = (1.0 / (((fConst13 + 1.0000000000000004) / fConst12) + 1.0));
284 double fConst15 = mydsp_faustpower2_f(fConst12);
285 fConst16 = (1.0 / fConst15);
286 double fConst17 = (fConst13 + 1.0);
287 fConst18 = (0.0 - (1.0 / (fConst12 * fConst17)));
288 fConst19 = (1.0 / fConst17);
289 fConst20 = (1.0 - fConst13);
290 fConst21 = (((fConst13 + -1.0000000000000004) / fConst12) + 1.0);
291 fConst22 = (2.0 * (1.0 - fConst16));
292 fConst23 = (0.0 - (2.0 / fConst15));
293 double fConst24 = std::tan((3769.9111843077517 / fConst0));
294 double fConst25 = (1.0 / fConst24);
295 double fConst26 = (fConst25 + 1.0);
296 fConst27 = (1.0 / ((fConst26 / fConst24) + 1.0));
297 fConst28 = (1.0 - fConst25);
298 fConst29 = (1.0 - (fConst28 / fConst24));
299 double fConst30 = mydsp_faustpower2_f(fConst24);
300 fConst31 = (1.0 / fConst30);
301 fConst32 = (2.0 * (1.0 - fConst31));
302 double fConst33 = std::tan((659.73445725385659 / fConst0));
303 double fConst34 = (1.0 / fConst33);
304 double fConst35 = (fConst34 + 1.0);
305 fConst36 = (1.0 / ((fConst35 / fConst33) + 1.0));
306 fConst37 = (1.0 - fConst34);
307 fConst38 = (1.0 - (fConst37 / fConst33));
308 double fConst39 = mydsp_faustpower2_f(fConst33);
309 fConst40 = (1.0 / fConst39);
310 fConst41 = (2.0 * (1.0 - fConst40));
311 double fConst42 = std::tan((270.1769682087222 / fConst0));
312 double fConst43 = (1.0 / fConst42);
313 double fConst44 = (fConst43 + 1.0);
314 fConst45 = (1.0 / ((fConst44 / fConst42) + 1.0));
315 fConst46 = (1.0 - fConst43);
316 fConst47 = (1.0 - (fConst46 / fConst42));
317 double fConst48 = mydsp_faustpower2_f(fConst42);
318 fConst49 = (1.0 / fConst48);
319 fConst50 = (2.0 * (1.0 - fConst49));
320 double fConst51 = (1.99975590383756e-19 * fConst0);
321 fConst52 = ((fConst1 * (-6.0498368275157696e-16 - fConst51)) + 1.3013842919715099e-11);
322 double fConst53 = (1.9997559038375601e-18 * fConst0);
323 fConst54 = ((fConst1 * (-1.05044706792186e-15 - fConst53)) + 6.19273198244244e-13);
324 double fConst55 = (1.9334301783374702e-18 * fConst0);
325 fConst56 = (fConst1 * (fConst55 + 9.9148601709850608e-16));
326 fConst57 = ((2.9996338557563498e-19 * fConst1) + -2.8037288490136399e-13);
327 fConst58 = ((2.9996338557563499e-18 * fConst1) + -5.1188389201318301e-14);
328 fConst59 = (2.4770927929769801e-14 - (2.9001452675062101e-18 * fConst1));
329 fConst60 = ((fConst1 * (6.0498368275157696e-16 - fConst51)) + -1.3013842919715099e-11);
330 fConst61 = ((fConst1 * (1.05044706792186e-15 - fConst53)) + -6.19273198244244e-13);
331 fConst62 = (fConst1 * (fConst55 + -9.9148601709850608e-16));
332 double fConst63 = (4.9993897595939102e-20 * fConst0);
333 fConst64 = ((fConst0 * ((fConst0 * (fConst63 + -3.0249184137578799e-16)) + 1.4018644245068199e-13)) + -6.50692145985754e-12);
334 double fConst65 = (4.9993897595939098e-19 * fConst0);
335 fConst66 = ((fConst0 * ((fConst0 * (fConst65 + -5.2522353396092803e-16)) + 2.5594194600659201e-14)) + -3.09636599122122e-13);
336 double fConst67 = (4.8335754458436803e-19 * fConst0);
337 fConst68 = (fConst0 * ((fConst0 * (4.9574300854925304e-16 - fConst67)) + -1.23854639648849e-14));
338 fConst69 = ((fConst0 * ((fConst0 * (fConst63 + 3.0249184137578799e-16)) + 1.4018644245068199e-13)) + 6.50692145985754e-12);
339 fConst70 = ((fConst0 * ((fConst0 * (fConst65 + 5.2522353396092803e-16)) + 2.5594194600659201e-14)) + 3.09636599122122e-13);
340 fConst71 = (fConst0 * ((fConst0 * (-4.9574300854925304e-16 - fConst67)) + -1.23854639648849e-14));
341 double fConst72 = (2.8419671458380501e-18 * fConst0);
342 fConst73 = ((fConst0 * ((fConst0 * (-2.8798600411158901e-15 - fConst72)) + -7.1428107598729697e-12)) + -9.4732238194602296e-11);
343 double fConst74 = (1.42098357291903e-14 * fConst0);
344 fConst75 = (fConst0 * (-1.89464476389205e-13 - fConst74));
345 double fConst76 = (1.1367868583352201e-17 * fConst0);
346 fConst77 = ((fConst1 * (fConst76 + 5.7597200822317897e-15)) + -1.8946447638920501e-10);
347 fConst78 = (2.84196714583805e-14 * fConst1);
348 fConst79 = (1.4285621519745901e-11 - (1.7051802875028302e-17 * fConst1));
349 fConst80 = ((fConst1 * (fConst76 + -5.7597200822317897e-15)) + 1.8946447638920501e-10);
350 fConst81 = ((fConst0 * ((fConst0 * (2.8798600411158901e-15 - fConst72)) + -7.1428107598729697e-12)) + 9.4732238194602296e-11);
351 fConst82 = (fConst0 * (fConst74 + -1.89464476389205e-13));
352 fConst83 = (1.0 / fConst0);
353 fConst84 = (0.5 * fConst0);
354 fConst85 = (6.2831853071795862 / fConst0);
355 fConst86 = (1.0 / fConst8);
356 fConst87 = (4.8826155353369304e-07 - (8.6718133432066401e-10 * fConst1));
357 fConst88 = ((fConst0 * (fConst7 + -2.0976223579538801e-08)) + 2.44130776766847e-07);
358 fConst89 = (5.0972098865283297e-08 * fConst0);
359 fConst90 = (3.39813992435224e-07 - fConst10);
360 fConst91 = (1.0 / fConst3);
361 double fConst92 = (2.6720673217452901e-14 * fConst0);
362 fConst93 = ((fConst0 * ((fConst0 * (-6.4917759212794798e-12 - fConst92)) + 2.5100665591164499e-10)) + 7.4091134208038597e-09);
363 fConst94 = ((fConst0 * ((fConst0 * (fConst92 + -6.4917759212794798e-12)) + -2.5100665591164499e-10)) + 7.4091134208038597e-09);
364 fConst95 = ((fConst0 * ((fConst0 * (6.4917759212794798e-12 - fConst2)) + -2.5100665591164499e-10)) + 2.4697044736012902e-09);
365 double fConst96 = (2.7041544049255698e-12 * fConst0);
366 fConst97 = (-1.6298631366961702e-11 - fConst96);
367 fConst98 = (fConst96 + -1.6298631366961702e-11);
368 fConst99 = (1.6298631366961702e-11 - fConst5);
369 fConst100 = (1.0 / (((fConst25 + 1.0000000000000004) / fConst24) + 1.0));
370 fConst101 = (1.0 / (fConst24 * fConst26));
371 fConst102 = (0.0 - fConst101);
372 fConst103 = (fConst28 / fConst26);
373 fConst104 = (((fConst25 + -1.0000000000000004) / fConst24) + 1.0);
374 fConst105 = (0.0 - (2.0 / fConst30));
375 fConst106 = (1.0 / (((fConst34 + 1.0000000000000004) / fConst33) + 1.0));
376 fConst107 = (1.0 / (fConst33 * fConst35));
377 fConst108 = (1.0 / fConst26);
378 fConst109 = (0.0 - fConst107);
379 fConst110 = (fConst37 / fConst35);
380 fConst111 = (((fConst34 + -1.0000000000000004) / fConst33) + 1.0);
381 fConst112 = (0.0 - (2.0 / fConst39));
382 fConst113 = (1.0 / (((fConst43 + 1.0000000000000004) / fConst42) + 1.0));
383 fConst114 = (1.0 / (fConst42 * fConst44));
384 fConst115 = (1.0 / fConst35);
385 fConst116 = (0.0 - fConst114);
386 fConst117 = (fConst46 / fConst44);
387 fConst118 = (((fConst43 + -1.0000000000000004) / fConst42) + 1.0);
388 fConst119 = (0.0 - (2.0 / fConst48));
389 fConst120 = (1.0 / fConst44);
390 clear_state_f();
391 }
392
init_static(uint32_t sample_rate,PluginLV2 * p)393 void Dsp::init_static(uint32_t sample_rate, PluginLV2 *p)
394 {
395 static_cast<Dsp*>(p)->init(sample_rate);
396 }
397
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)398 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
399 {
400 #define fVslider0 (*fVslider0_)
401 #define fVslider1 (*fVslider1_)
402 #define fVslider2 (*fVslider2_)
403 #define fCheckbox0 (*fCheckbox0_)
404 #define fVslider3 (*fVslider3_)
405 #define fCheckbox1 (*fCheckbox1_)
406 #define fVslider4 (*fVslider4_)
407 double fSlow0 = (0.0010000000000000009 * double(fVslider0));
408 double fSlow1 = (0.00036676987543879196 * (std::exp((3.0 * double(fVslider1))) + -1.0));
409 double fSlow2 = (0.0070000000000000062 * double(fVslider2));
410 int iSlow3 = int(double(fCheckbox0));
411 double fSlow4 = (0.098039215686274522 * double(fVslider3));
412 int iSlow5 = int(double(fCheckbox1));
413 double fSlow6 = double(fVslider4);
414 int iSlow7 = int((fConst84 / fSlow6));
415 double fSlow8 = (1.0 / double(iSlow7));
416 double fSlow9 = (fConst85 * fSlow6);
417 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
418 iVec0[0] = 1;
419 fRec0[0] = (fSlow0 + (0.999 * fRec0[1]));
420 fRec3[0] = (fSlow1 + (0.99299999999999999 * fRec3[1]));
421 double fTemp0 = double(input0[i0]);
422 fVec1[0] = fTemp0;
423 fRec9[0] = ((fConst18 * fVec1[1]) - (fConst19 * ((fConst20 * fRec9[1]) - (fConst13 * fTemp0))));
424 fRec8[0] = (fRec9[0] - (fConst14 * ((fConst21 * fRec8[2]) + (fConst22 * fRec8[1]))));
425 double fTemp1 = (fConst32 * fRec7[1]);
426 fRec7[0] = ((fConst14 * (((fConst16 * fRec8[0]) + (fConst23 * fRec8[1])) + (fConst16 * fRec8[2]))) - (fConst27 * ((fConst29 * fRec7[2]) + fTemp1)));
427 double fTemp2 = (fConst41 * fRec6[1]);
428 fRec6[0] = ((fRec7[2] + (fConst27 * (fTemp1 + (fConst29 * fRec7[0])))) - (fConst36 * ((fConst38 * fRec6[2]) + fTemp2)));
429 double fTemp3 = (fConst50 * fRec5[1]);
430 fRec5[0] = ((fRec6[2] + (fConst36 * (fTemp2 + (fConst38 * fRec6[0])))) - (fConst45 * ((fConst47 * fRec5[2]) + fTemp3)));
431 double fTemp4 = ((fConst0 * (fConst52 + (fRec3[0] * (fConst54 + (fConst56 * fRec3[0]))))) + 3.0963659912212198e-10);
432 double fTemp5 = ((fConst1 * (fConst57 + (fRec3[0] * (fConst58 + (fConst59 * fRec3[0]))))) + 4.64454898683183e-10);
433 double fTemp6 = ((fConst0 * (fConst60 + (fRec3[0] * (fConst61 + (fConst62 * fRec3[0]))))) + 3.0963659912212198e-10);
434 double fTemp7 = ((fConst0 * (fConst64 + (fRec3[0] * (fConst66 + (fConst68 * fRec3[0]))))) + 7.7409149780530496e-11);
435 double fTemp8 = ((fConst0 * (fConst69 + (fRec3[0] * (fConst70 + (fConst71 * fRec3[0]))))) + 7.7409149780530496e-11);
436 fRec4[0] = ((fRec5[2] + (fConst45 * (fTemp3 + (fConst47 * fRec5[0])))) - (((((fRec4[1] * fTemp4) + (fRec4[2] * fTemp5)) + (fRec4[3] * fTemp6)) + (fRec4[4] * fTemp7)) / fTemp8));
437 fRec10[0] = (fSlow2 + (0.99299999999999999 * fRec10[1]));
438 double fTemp9 = (fConst73 + (fConst75 * fRec10[0]));
439 double fTemp10 = (fConst77 + (fConst78 * fRec10[0]));
440 double fTemp11 = (fConst79 + (3.7892895277840898e-13 * fRec10[0]));
441 double fTemp12 = ((fConst1 * (fRec10[0] * (0.0 - (2.84196714583805e-14 * fRec3[0])))) + (fConst80 * fRec3[0]));
442 double fTemp13 = (fConst81 + (fConst82 * fRec10[0]));
443 double fTemp14 = (fConst0 * ((((fRec3[0] * (((fRec4[0] * fTemp9) + (fRec4[1] * fTemp10)) + (fConst0 * (fRec4[2] * fTemp11)))) + (fRec4[3] * fTemp12)) + ((fRec3[0] * fRec4[4]) * fTemp13)) / fTemp8));
444 double fThen0 = double(bigchumppreclip(double(fTemp14)));
445 double fElse0 = double(bigchumppre_negclip(double(fTemp14)));
446 double fTemp15 = (fRec11[1] * (1.0 - (fConst83 / (fConst83 + (0.059999999999999998 * std::exp((0.0 - (2.4849066497880004 * fRec11[1]))))))));
447 int iThen1 = (1 - (2 * (iRec12[1] > 0)));
448 int iElse1 = ((2 * (iRec12[1] < iSlow7)) + -1);
449 iRec13[0] = ((iRec13[1] > 0) ? iElse1 : iThen1);
450 iRec12[0] = (iRec13[0] + iRec12[1]);
451 fRec16[0] = (fRec16[1] + (fSlow9 * (0.0 - fRec14[1])));
452 fRec15[0] = ((fSlow9 * fRec16[0]) + (double((1 - iVec0[1])) + fRec15[1]));
453 fRec14[0] = fRec15[0];
454 double fThen2 = (fSlow8 * double(iRec12[0]));
455 double fElse2 = std::max<double>(0.0, (0.5 * (fRec14[0] + 1.0)));
456 fRec11[0] = (fTemp15 + (fConst83 * (std::pow(((fSlow4 * ((iSlow5 ? fElse2 : fThen2) + -1.0)) + 1.0), 1.8999999999999999) / (fConst83 + (0.059999999999999998 * std::exp((0.0 - (2.4849066497880004 * fTemp15))))))));
457 double fThen3 = (2700.0 / (std::exp((13.815510557964274 / std::log(((8.5519675079294171 * fRec11[0]) + 2.7182818284590451)))) + 2700.0));
458 double fTemp16 = (iSlow3 ? 1.0 : fThen3);
459 fRec2[0] = (((int(std::signbit(double(fTemp14))) ? fElse0 : fThen0) * fTemp16) - (fConst86 * ((fConst87 * fRec2[1]) + (fConst88 * fRec2[2]))));
460 double fTemp17 = (fConst9 * (((fConst11 * fRec2[0]) + (fConst89 * fRec2[1])) + (fConst90 * fRec2[2])));
461 double fThen4 = double(bigchumppre2clip(double(fTemp17)));
462 double fElse4 = double(bigchumppre2_negclip(double(fTemp17)));
463 fRec1[0] = ((int(std::signbit(double(fTemp17))) ? fElse4 : fThen4) - (fConst91 * (((fConst93 * fRec1[1]) + (fConst94 * fRec1[2])) + (fConst95 * fRec1[3]))));
464 double fTemp18 = (fConst4 * ((((fConst6 * fRec1[0]) + (fConst97 * fRec1[1])) + (fConst98 * fRec1[2])) + (fConst99 * fRec1[3])));
465 double fThen5 = double(bigchumppowerclip(double(fTemp18)));
466 double fElse5 = double(bigchumppower_negclip(double(fTemp18)));
467 fRec25[0] = (0.0 - (fConst19 * ((fConst20 * fRec25[1]) - (fTemp0 + fVec1[1]))));
468 fRec24[0] = (fRec25[0] - (fConst14 * ((fConst21 * fRec24[2]) + (fConst22 * fRec24[1]))));
469 double fTemp19 = (fRec24[2] + (fRec24[0] + (2.0 * fRec24[1])));
470 fVec2[0] = fTemp19;
471 fRec23[0] = ((fConst14 * ((fConst101 * fTemp19) + (fConst102 * fVec2[1]))) - (fConst103 * fRec23[1]));
472 fRec22[0] = (fRec23[0] - (fConst100 * ((fConst104 * fRec22[2]) + (fConst32 * fRec22[1]))));
473 double fTemp20 = (fConst41 * fRec21[1]);
474 fRec21[0] = ((fConst100 * (((fConst31 * fRec22[0]) + (fConst105 * fRec22[1])) + (fConst31 * fRec22[2]))) - (fConst36 * ((fConst38 * fRec21[2]) + fTemp20)));
475 double fTemp21 = (fConst50 * fRec20[1]);
476 fRec20[0] = ((fRec21[2] + (fConst36 * (fTemp20 + (fConst38 * fRec21[0])))) - (fConst45 * ((fConst47 * fRec20[2]) + fTemp21)));
477 fRec19[0] = ((fRec20[2] + (fConst45 * (fTemp21 + (fConst47 * fRec20[0])))) - (((((fTemp4 * fRec19[1]) + (fTemp5 * fRec19[2])) + (fTemp6 * fRec19[3])) + (fTemp7 * fRec19[4])) / fTemp8));
478 double fTemp22 = (fRec3[0] * fTemp13);
479 double fTemp23 = (fConst0 * ((((fRec3[0] * (((fRec19[0] * fTemp9) + (fTemp10 * fRec19[1])) + (fConst0 * (fTemp11 * fRec19[2])))) + (fTemp12 * fRec19[3])) + (fTemp22 * fRec19[4])) / fTemp8));
480 double fThen6 = double(bigchumppreclip(double(fTemp23)));
481 double fElse6 = double(bigchumppre_negclip(double(fTemp23)));
482 fRec18[0] = ((fTemp16 * (int(std::signbit(double(fTemp23))) ? fElse6 : fThen6)) - (fConst86 * ((fConst87 * fRec18[1]) + (fConst88 * fRec18[2]))));
483 double fTemp24 = (fConst9 * (((fConst11 * fRec18[0]) + (fConst89 * fRec18[1])) + (fConst90 * fRec18[2])));
484 double fThen7 = double(bigchumppre2clip(double(fTemp24)));
485 double fElse7 = double(bigchumppre2_negclip(double(fTemp24)));
486 fRec17[0] = ((int(std::signbit(double(fTemp24))) ? fElse7 : fThen7) - (fConst91 * (((fConst93 * fRec17[1]) + (fConst94 * fRec17[2])) + (fConst95 * fRec17[3]))));
487 double fTemp25 = (fConst4 * ((((fConst6 * fRec17[0]) + (fConst97 * fRec17[1])) + (fConst98 * fRec17[2])) + (fConst99 * fRec17[3])));
488 double fThen8 = double(bigchumppowerclip(double(fTemp25)));
489 double fElse8 = double(bigchumppower_negclip(double(fTemp25)));
490 fRec33[0] = (0.0 - (fConst108 * ((fConst28 * fRec33[1]) - (fConst14 * (fTemp19 + fVec2[1])))));
491 fRec32[0] = (fRec33[0] - (fConst100 * ((fConst104 * fRec32[2]) + (fConst32 * fRec32[1]))));
492 double fTemp26 = (fRec32[2] + (fRec32[0] + (2.0 * fRec32[1])));
493 fVec3[0] = fTemp26;
494 fRec31[0] = ((fConst100 * ((fConst107 * fTemp26) + (fConst109 * fVec3[1]))) - (fConst110 * fRec31[1]));
495 fRec30[0] = (fRec31[0] - (fConst106 * ((fConst111 * fRec30[2]) + (fConst41 * fRec30[1]))));
496 double fTemp27 = (fConst50 * fRec29[1]);
497 fRec29[0] = ((fConst106 * (((fConst40 * fRec30[0]) + (fConst112 * fRec30[1])) + (fConst40 * fRec30[2]))) - (fConst45 * ((fConst47 * fRec29[2]) + fTemp27)));
498 fRec28[0] = ((fRec29[2] + (fConst45 * (fTemp27 + (fConst47 * fRec29[0])))) - (((((fTemp4 * fRec28[1]) + (fTemp5 * fRec28[2])) + (fTemp6 * fRec28[3])) + (fTemp7 * fRec28[4])) / fTemp8));
499 double fTemp28 = (fConst0 * ((((fRec3[0] * (((fRec28[0] * fTemp9) + (fTemp10 * fRec28[1])) + (fConst0 * (fTemp11 * fRec28[2])))) + (fTemp12 * fRec28[3])) + (fTemp22 * fRec28[4])) / fTemp8));
500 double fThen9 = double(bigchumppreclip(double(fTemp28)));
501 double fElse9 = double(bigchumppre_negclip(double(fTemp28)));
502 fRec27[0] = ((fTemp16 * (int(std::signbit(double(fTemp28))) ? fElse9 : fThen9)) - (fConst86 * ((fConst87 * fRec27[1]) + (fConst88 * fRec27[2]))));
503 double fTemp29 = (fConst9 * (((fConst11 * fRec27[0]) + (fConst89 * fRec27[1])) + (fConst90 * fRec27[2])));
504 double fThen10 = double(bigchumppre2clip(double(fTemp29)));
505 double fElse10 = double(bigchumppre2_negclip(double(fTemp29)));
506 fRec26[0] = ((int(std::signbit(double(fTemp29))) ? fElse10 : fThen10) - (fConst91 * (((fConst93 * fRec26[1]) + (fConst94 * fRec26[2])) + (fConst95 * fRec26[3]))));
507 double fTemp30 = (fConst4 * ((((fConst6 * fRec26[0]) + (fConst97 * fRec26[1])) + (fConst98 * fRec26[2])) + (fConst99 * fRec26[3])));
508 double fThen11 = double(bigchumppowerclip(double(fTemp30)));
509 double fElse11 = double(bigchumppower_negclip(double(fTemp30)));
510 fRec40[0] = (0.0 - (fConst115 * ((fConst37 * fRec40[1]) - (fConst100 * (fTemp26 + fVec3[1])))));
511 fRec39[0] = (fRec40[0] - (fConst106 * ((fConst111 * fRec39[2]) + (fConst41 * fRec39[1]))));
512 double fTemp31 = (fRec39[2] + (fRec39[0] + (2.0 * fRec39[1])));
513 fVec4[0] = fTemp31;
514 fRec38[0] = ((fConst106 * ((fConst114 * fTemp31) + (fConst116 * fVec4[1]))) - (fConst117 * fRec38[1]));
515 fRec37[0] = (fRec38[0] - (fConst113 * ((fConst118 * fRec37[2]) + (fConst50 * fRec37[1]))));
516 fRec36[0] = ((fConst113 * (((fConst49 * fRec37[0]) + (fConst119 * fRec37[1])) + (fConst49 * fRec37[2]))) - (((((fTemp4 * fRec36[1]) + (fTemp5 * fRec36[2])) + (fTemp6 * fRec36[3])) + (fTemp7 * fRec36[4])) / fTemp8));
517 double fTemp32 = (fConst0 * ((((fRec3[0] * (((fRec36[0] * fTemp9) + (fTemp10 * fRec36[1])) + (fConst0 * (fTemp11 * fRec36[2])))) + (fTemp12 * fRec36[3])) + (fTemp22 * fRec36[4])) / fTemp8));
518 double fThen12 = double(bigchumppreclip(double(fTemp32)));
519 double fElse12 = double(bigchumppre_negclip(double(fTemp32)));
520 fRec35[0] = ((fTemp16 * (int(std::signbit(double(fTemp32))) ? fElse12 : fThen12)) - (fConst86 * ((fConst87 * fRec35[1]) + (fConst88 * fRec35[2]))));
521 double fTemp33 = (fConst9 * (((fConst11 * fRec35[0]) + (fConst89 * fRec35[1])) + (fConst90 * fRec35[2])));
522 double fThen13 = double(bigchumppre2clip(double(fTemp33)));
523 double fElse13 = double(bigchumppre2_negclip(double(fTemp33)));
524 fRec34[0] = ((int(std::signbit(double(fTemp33))) ? fElse13 : fThen13) - (fConst91 * (((fConst93 * fRec34[1]) + (fConst94 * fRec34[2])) + (fConst95 * fRec34[3]))));
525 double fTemp34 = (fConst4 * ((((fConst6 * fRec34[0]) + (fConst97 * fRec34[1])) + (fConst98 * fRec34[2])) + (fConst99 * fRec34[3])));
526 double fThen14 = double(bigchumppowerclip(double(fTemp34)));
527 double fElse14 = double(bigchumppower_negclip(double(fTemp34)));
528 fRec45[0] = (0.0 - (fConst120 * ((fConst46 * fRec45[1]) - (fConst106 * (fTemp31 + fVec4[1])))));
529 fRec44[0] = (fRec45[0] - (fConst113 * ((fConst118 * fRec44[2]) + (fConst50 * fRec44[1]))));
530 fRec43[0] = ((fConst113 * (fRec44[2] + (fRec44[0] + (2.0 * fRec44[1])))) - (((((fTemp4 * fRec43[1]) + (fTemp5 * fRec43[2])) + (fTemp6 * fRec43[3])) + (fTemp7 * fRec43[4])) / fTemp8));
531 double fTemp35 = (fConst0 * ((((fRec3[0] * (((fRec43[0] * fTemp9) + (fTemp10 * fRec43[1])) + (fConst0 * (fTemp11 * fRec43[2])))) + (fTemp12 * fRec43[3])) + (fTemp22 * fRec43[4])) / fTemp8));
532 double fThen15 = double(bigchumppreclip(double(fTemp35)));
533 double fElse15 = double(bigchumppre_negclip(double(fTemp35)));
534 fRec42[0] = ((fTemp16 * (int(std::signbit(double(fTemp35))) ? fElse15 : fThen15)) - (fConst86 * ((fConst87 * fRec42[1]) + (fConst88 * fRec42[2]))));
535 double fTemp36 = (fConst9 * (((fConst11 * fRec42[0]) + (fConst89 * fRec42[1])) + (fConst90 * fRec42[2])));
536 double fThen16 = double(bigchumppre2clip(double(fTemp36)));
537 double fElse16 = double(bigchumppre2_negclip(double(fTemp36)));
538 fRec41[0] = ((int(std::signbit(double(fTemp36))) ? fElse16 : fThen16) - (fConst91 * (((fConst93 * fRec41[1]) + (fConst94 * fRec41[2])) + (fConst95 * fRec41[3]))));
539 double fTemp37 = (fConst4 * ((((fConst6 * fRec41[0]) + (fConst97 * fRec41[1])) + (fConst98 * fRec41[2])) + (fConst99 * fRec41[3])));
540 double fThen17 = double(bigchumppowerclip(double(fTemp37)));
541 double fElse17 = double(bigchumppower_negclip(double(fTemp37)));
542 output0[i0] = FAUSTFLOAT((fRec0[0] * (((((int(std::signbit(double(fTemp18))) ? fElse5 : fThen5) + (int(std::signbit(double(fTemp25))) ? fElse8 : fThen8)) + (int(std::signbit(double(fTemp30))) ? fElse11 : fThen11)) + (int(std::signbit(double(fTemp34))) ? fElse14 : fThen14)) + (int(std::signbit(double(fTemp37))) ? fElse17 : fThen17))));
543 iVec0[1] = iVec0[0];
544 fRec0[1] = fRec0[0];
545 fRec3[1] = fRec3[0];
546 fVec1[1] = fVec1[0];
547 fRec9[1] = fRec9[0];
548 fRec8[2] = fRec8[1];
549 fRec8[1] = fRec8[0];
550 fRec7[2] = fRec7[1];
551 fRec7[1] = fRec7[0];
552 fRec6[2] = fRec6[1];
553 fRec6[1] = fRec6[0];
554 fRec5[2] = fRec5[1];
555 fRec5[1] = fRec5[0];
556 for (int j0 = 4; (j0 > 0); j0 = (j0 - 1)) {
557 fRec4[j0] = fRec4[(j0 - 1)];
558 }
559 fRec10[1] = fRec10[0];
560 iRec13[1] = iRec13[0];
561 iRec12[1] = iRec12[0];
562 fRec16[1] = fRec16[0];
563 fRec15[1] = fRec15[0];
564 fRec14[1] = fRec14[0];
565 fRec11[1] = fRec11[0];
566 fRec2[2] = fRec2[1];
567 fRec2[1] = fRec2[0];
568 for (int j1 = 3; (j1 > 0); j1 = (j1 - 1)) {
569 fRec1[j1] = fRec1[(j1 - 1)];
570 }
571 fRec25[1] = fRec25[0];
572 fRec24[2] = fRec24[1];
573 fRec24[1] = fRec24[0];
574 fVec2[1] = fVec2[0];
575 fRec23[1] = fRec23[0];
576 fRec22[2] = fRec22[1];
577 fRec22[1] = fRec22[0];
578 fRec21[2] = fRec21[1];
579 fRec21[1] = fRec21[0];
580 fRec20[2] = fRec20[1];
581 fRec20[1] = fRec20[0];
582 for (int j2 = 4; (j2 > 0); j2 = (j2 - 1)) {
583 fRec19[j2] = fRec19[(j2 - 1)];
584 }
585 fRec18[2] = fRec18[1];
586 fRec18[1] = fRec18[0];
587 for (int j3 = 3; (j3 > 0); j3 = (j3 - 1)) {
588 fRec17[j3] = fRec17[(j3 - 1)];
589 }
590 fRec33[1] = fRec33[0];
591 fRec32[2] = fRec32[1];
592 fRec32[1] = fRec32[0];
593 fVec3[1] = fVec3[0];
594 fRec31[1] = fRec31[0];
595 fRec30[2] = fRec30[1];
596 fRec30[1] = fRec30[0];
597 fRec29[2] = fRec29[1];
598 fRec29[1] = fRec29[0];
599 for (int j4 = 4; (j4 > 0); j4 = (j4 - 1)) {
600 fRec28[j4] = fRec28[(j4 - 1)];
601 }
602 fRec27[2] = fRec27[1];
603 fRec27[1] = fRec27[0];
604 for (int j5 = 3; (j5 > 0); j5 = (j5 - 1)) {
605 fRec26[j5] = fRec26[(j5 - 1)];
606 }
607 fRec40[1] = fRec40[0];
608 fRec39[2] = fRec39[1];
609 fRec39[1] = fRec39[0];
610 fVec4[1] = fVec4[0];
611 fRec38[1] = fRec38[0];
612 fRec37[2] = fRec37[1];
613 fRec37[1] = fRec37[0];
614 for (int j6 = 4; (j6 > 0); j6 = (j6 - 1)) {
615 fRec36[j6] = fRec36[(j6 - 1)];
616 }
617 fRec35[2] = fRec35[1];
618 fRec35[1] = fRec35[0];
619 for (int j7 = 3; (j7 > 0); j7 = (j7 - 1)) {
620 fRec34[j7] = fRec34[(j7 - 1)];
621 }
622 fRec45[1] = fRec45[0];
623 fRec44[2] = fRec44[1];
624 fRec44[1] = fRec44[0];
625 for (int j8 = 4; (j8 > 0); j8 = (j8 - 1)) {
626 fRec43[j8] = fRec43[(j8 - 1)];
627 }
628 fRec42[2] = fRec42[1];
629 fRec42[1] = fRec42[0];
630 for (int j9 = 3; (j9 > 0); j9 = (j9 - 1)) {
631 fRec41[j9] = fRec41[(j9 - 1)];
632 }
633 }
634 #undef fVslider0
635 #undef fVslider1
636 #undef fVslider2
637 #undef fCheckbox0
638 #undef fVslider3
639 #undef fCheckbox1
640 #undef fVslider4
641 }
642
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginLV2 * p)643 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginLV2 *p)
644 {
645 static_cast<Dsp*>(p)->compute(count, input0, output0);
646 }
647
648
connect(uint32_t port,void * data)649 void Dsp::connect(uint32_t port,void* data)
650 {
651 switch ((PortIndex)port)
652 {
653 // static const value_pair fCheckbox1_values[] = {{"os.triangle"},{"sine"},{0}};
654 case SINEWAVE:
655 fCheckbox1_ = (float*)data; // , 0.0, 0.0, 1.0, 1.0
656 break;
657 // static const value_pair fCheckbox0_values[] = {{"Off"},{"On"},{0}};
658 case VIBE:
659 fCheckbox0_ = (float*)data; // , 0.0, 0.0, 1.0, 1.0
660 break;
661 case VOLUME:
662 fVslider0_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
663 break;
664 case GAIN:
665 fVslider1_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
666 break;
667 case TONE:
668 fVslider2_ = (float*)data; // , 0.5, 0.0, 1.0, 0.01
669 break;
670 case INTENSITY:
671 fVslider3_ = (float*)data; // , 5.0, 0.0, 10.0, 0.10000000000000001
672 break;
673 case SPEED:
674 fVslider4_ = (float*)data; // , 5.0, 0.10000000000000001, 10.0, 0.10000000000000001
675 break;
676 default:
677 break;
678 }
679 }
680
connect_static(uint32_t port,void * data,PluginLV2 * p)681 void Dsp::connect_static(uint32_t port,void* data, PluginLV2 *p)
682 {
683 static_cast<Dsp*>(p)->connect(port, data);
684 }
685
686
plugin()687 PluginLV2 *plugin() {
688 return new Dsp();
689 }
690
del_instance(PluginLV2 * p)691 void Dsp::del_instance(PluginLV2 *p)
692 {
693 delete static_cast<Dsp*>(p);
694 }
695
696 /*
697 typedef enum
698 {
699 VOLUME,
700 GAIN,
701 TONE,
702 SINEWAVE,
703 INTENSITY,
704 SPEED,
705 VIBE,
706 } PortIndex;
707 */
708
709 } // end namespace gx_vibrochump
710