1 // generated from file '../src/LV2/faust/gxamp9_stereo.dsp' by dsp2cc:
2 // Code generated with Faust (https://faust.grame.fr)
3
4 #include "valve.h"
5
6 namespace gxamp9_stereo {
7
8 class Dsp: public PluginLV2 {
9 private:
10 uint32_t fSampleRate;
11 FAUSTFLOAT fCheckbox0;
12 FAUSTFLOAT *fCheckbox0_;
13 double fConst4;
14 double fConst6;
15 double fConst7;
16 FAUSTFLOAT fCheckbox1;
17 FAUSTFLOAT *fCheckbox1_;
18 double fRec9[2];
19 double fRec8[3];
20 double fConst9;
21 double fVec0[2];
22 double fConst10;
23 double fRec10[2];
24 double fRec7[2];
25 double fConst11;
26 double fConst12;
27 double fRec6[2];
28 double fConst14;
29 double fConst15;
30 double fRec11[2];
31 double fRec21[2];
32 double fRec20[3];
33 double fConst17;
34 double fVec1[2];
35 double fConst18;
36 double fRec22[2];
37 double fRec19[2];
38 double fRec18[2];
39 double fRec23[2];
40 double fRec28[2];
41 int IOTA;
42 double fVec2[32768];
43 double fConst19;
44 int iConst20;
45 double fRec30[2];
46 double fRec29[2];
47 FAUSTFLOAT fVslider0;
48 FAUSTFLOAT *fVslider0_;
49 double fRec31[2];
50 FAUSTFLOAT fVslider1;
51 FAUSTFLOAT *fVslider1_;
52 double fConst23;
53 double fConst25;
54 double fConst27;
55 double fConst28;
56 double fConst30;
57 double fConst32;
58 double fConst33;
59 double fConst36;
60 double fConst37;
61 double fConst38;
62 double fRec39[3];
63 double fVec3[2];
64 double fRec38[2];
65 double fRec37[2];
66 double fConst39;
67 double fConst41;
68 double fConst42;
69 double fRec36[3];
70 double fVec4[2];
71 double fConst43;
72 double fConst44;
73 double fConst45;
74 double fRec35[2];
75 double fConst46;
76 double fConst47;
77 double fRec34[3];
78 double fConst48;
79 double fConst52;
80 double fConst53;
81 double fConst54;
82 double fConst56;
83 double fConst57;
84 double fRec33[3];
85 double fConst58;
86 double fRec43[2];
87 double fRec42[3];
88 double fConst59;
89 double fConst60;
90 double fConst61;
91 double fRec41[3];
92 double fRec40[3];
93 double fConst62;
94 double fConst63;
95 double fConst64;
96 double fRec47[2];
97 double fRec46[3];
98 double fVec5[2];
99 double fConst65;
100 double fConst66;
101 double fRec45[2];
102 double fConst67;
103 double fRec44[3];
104 double fConst68;
105 double fConst69;
106 double fRec49[2];
107 double fRec48[3];
108 double fVec6[2];
109 double fRec32[2];
110 double fVec7[2];
111 double fRec27[2];
112 double fRec26[3];
113 double fConst71;
114 double fVec8[2];
115 double fConst72;
116 double fRec50[2];
117 double fRec25[2];
118 double fRec24[2];
119 double fRec51[2];
120 double fRec17[3];
121 FAUSTFLOAT fVslider2;
122 FAUSTFLOAT *fVslider2_;
123 double fRec52[2];
124 double fVec9[2];
125 double fRec16[2];
126 double fRec15[2];
127 double fRec14[3];
128 double fVec10[2];
129 double fRec53[2];
130 double fRec13[2];
131 double fRec12[2];
132 double fRec54[2];
133 double fRec5[3];
134 double fRec4[2];
135 double fRec3[2];
136 double fRec2[3];
137 double fVec11[2];
138 double fRec55[2];
139 double fRec1[2];
140 double fRec0[2];
141 double fRec56[2];
142 FAUSTFLOAT fVslider3;
143 FAUSTFLOAT *fVslider3_;
144 double fRec57[2];
145 double fRec67[2];
146 double fRec66[3];
147 double fVec12[2];
148 double fRec68[2];
149 double fRec65[2];
150 double fRec64[2];
151 double fRec69[2];
152 double fRec79[2];
153 double fRec78[3];
154 double fVec13[2];
155 double fRec80[2];
156 double fRec77[2];
157 double fRec76[2];
158 double fRec81[2];
159 double fRec86[2];
160 double fVec14[32768];
161 double fRec88[2];
162 double fRec87[2];
163 double fRec96[3];
164 double fVec15[2];
165 double fRec95[2];
166 double fRec94[2];
167 double fRec93[3];
168 double fVec16[2];
169 double fRec92[2];
170 double fRec91[3];
171 double fRec90[3];
172 double fRec100[2];
173 double fRec99[3];
174 double fRec98[3];
175 double fRec97[3];
176 double fRec104[2];
177 double fRec103[3];
178 double fVec17[2];
179 double fRec102[2];
180 double fRec101[3];
181 double fRec106[2];
182 double fRec105[3];
183 double fVec18[2];
184 double fRec89[2];
185 double fVec19[2];
186 double fRec85[2];
187 double fRec84[3];
188 double fVec20[2];
189 double fRec107[2];
190 double fRec83[2];
191 double fRec82[2];
192 double fRec108[2];
193 double fRec75[3];
194 double fVec21[2];
195 double fRec74[2];
196 double fRec73[2];
197 double fRec72[3];
198 double fVec22[2];
199 double fRec109[2];
200 double fRec71[2];
201 double fRec70[2];
202 double fRec110[2];
203 double fRec63[3];
204 double fRec62[2];
205 double fRec61[2];
206 double fRec60[3];
207 double fVec23[2];
208 double fRec111[2];
209 double fRec59[2];
210 double fRec58[2];
211 double fRec112[2];
212
213 void connect(uint32_t port,void* data);
214 void clear_state_f();
215 void init(uint32_t sample_rate);
216 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1);
217
218 static void clear_state_f_static(PluginLV2*);
219 static void init_static(uint32_t sample_rate, PluginLV2*);
220 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1, PluginLV2*);
221 static void del_instance(PluginLV2 *p);
222 static void connect_static(uint32_t port,void* data, PluginLV2 *p);
223 public:
224 Dsp();
225 ~Dsp();
226 };
227
228
229
Dsp()230 Dsp::Dsp()
231 : PluginLV2() {
232 version = PLUGINLV2_VERSION;
233 id = "12ax7 feedback";
234 name = N_("12ax7 feedback");
235 mono_audio = 0;
236 stereo_audio = compute_static;
237 set_samplerate = init_static;
238 activate_plugin = 0;
239 connect_ports = connect_static;
240 clear_state = clear_state_f_static;
241 delete_instance = del_instance;
242 }
243
~Dsp()244 Dsp::~Dsp() {
245 }
246
clear_state_f()247 inline void Dsp::clear_state_f()
248 {
249 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) fRec9[l0] = 0.0;
250 for (int l1 = 0; (l1 < 3); l1 = (l1 + 1)) fRec8[l1] = 0.0;
251 for (int l2 = 0; (l2 < 2); l2 = (l2 + 1)) fVec0[l2] = 0.0;
252 for (int l3 = 0; (l3 < 2); l3 = (l3 + 1)) fRec10[l3] = 0.0;
253 for (int l4 = 0; (l4 < 2); l4 = (l4 + 1)) fRec7[l4] = 0.0;
254 for (int l5 = 0; (l5 < 2); l5 = (l5 + 1)) fRec6[l5] = 0.0;
255 for (int l6 = 0; (l6 < 2); l6 = (l6 + 1)) fRec11[l6] = 0.0;
256 for (int l7 = 0; (l7 < 2); l7 = (l7 + 1)) fRec21[l7] = 0.0;
257 for (int l8 = 0; (l8 < 3); l8 = (l8 + 1)) fRec20[l8] = 0.0;
258 for (int l9 = 0; (l9 < 2); l9 = (l9 + 1)) fVec1[l9] = 0.0;
259 for (int l10 = 0; (l10 < 2); l10 = (l10 + 1)) fRec22[l10] = 0.0;
260 for (int l11 = 0; (l11 < 2); l11 = (l11 + 1)) fRec19[l11] = 0.0;
261 for (int l12 = 0; (l12 < 2); l12 = (l12 + 1)) fRec18[l12] = 0.0;
262 for (int l13 = 0; (l13 < 2); l13 = (l13 + 1)) fRec23[l13] = 0.0;
263 for (int l14 = 0; (l14 < 2); l14 = (l14 + 1)) fRec28[l14] = 0.0;
264 for (int l15 = 0; (l15 < 32768); l15 = (l15 + 1)) fVec2[l15] = 0.0;
265 for (int l16 = 0; (l16 < 2); l16 = (l16 + 1)) fRec30[l16] = 0.0;
266 for (int l17 = 0; (l17 < 2); l17 = (l17 + 1)) fRec29[l17] = 0.0;
267 for (int l18 = 0; (l18 < 2); l18 = (l18 + 1)) fRec31[l18] = 0.0;
268 for (int l19 = 0; (l19 < 3); l19 = (l19 + 1)) fRec39[l19] = 0.0;
269 for (int l20 = 0; (l20 < 2); l20 = (l20 + 1)) fVec3[l20] = 0.0;
270 for (int l21 = 0; (l21 < 2); l21 = (l21 + 1)) fRec38[l21] = 0.0;
271 for (int l22 = 0; (l22 < 2); l22 = (l22 + 1)) fRec37[l22] = 0.0;
272 for (int l23 = 0; (l23 < 3); l23 = (l23 + 1)) fRec36[l23] = 0.0;
273 for (int l24 = 0; (l24 < 2); l24 = (l24 + 1)) fVec4[l24] = 0.0;
274 for (int l25 = 0; (l25 < 2); l25 = (l25 + 1)) fRec35[l25] = 0.0;
275 for (int l26 = 0; (l26 < 3); l26 = (l26 + 1)) fRec34[l26] = 0.0;
276 for (int l27 = 0; (l27 < 3); l27 = (l27 + 1)) fRec33[l27] = 0.0;
277 for (int l28 = 0; (l28 < 2); l28 = (l28 + 1)) fRec43[l28] = 0.0;
278 for (int l29 = 0; (l29 < 3); l29 = (l29 + 1)) fRec42[l29] = 0.0;
279 for (int l30 = 0; (l30 < 3); l30 = (l30 + 1)) fRec41[l30] = 0.0;
280 for (int l31 = 0; (l31 < 3); l31 = (l31 + 1)) fRec40[l31] = 0.0;
281 for (int l32 = 0; (l32 < 2); l32 = (l32 + 1)) fRec47[l32] = 0.0;
282 for (int l33 = 0; (l33 < 3); l33 = (l33 + 1)) fRec46[l33] = 0.0;
283 for (int l34 = 0; (l34 < 2); l34 = (l34 + 1)) fVec5[l34] = 0.0;
284 for (int l35 = 0; (l35 < 2); l35 = (l35 + 1)) fRec45[l35] = 0.0;
285 for (int l36 = 0; (l36 < 3); l36 = (l36 + 1)) fRec44[l36] = 0.0;
286 for (int l37 = 0; (l37 < 2); l37 = (l37 + 1)) fRec49[l37] = 0.0;
287 for (int l38 = 0; (l38 < 3); l38 = (l38 + 1)) fRec48[l38] = 0.0;
288 for (int l39 = 0; (l39 < 2); l39 = (l39 + 1)) fVec6[l39] = 0.0;
289 for (int l40 = 0; (l40 < 2); l40 = (l40 + 1)) fRec32[l40] = 0.0;
290 for (int l41 = 0; (l41 < 2); l41 = (l41 + 1)) fVec7[l41] = 0.0;
291 for (int l42 = 0; (l42 < 2); l42 = (l42 + 1)) fRec27[l42] = 0.0;
292 for (int l43 = 0; (l43 < 3); l43 = (l43 + 1)) fRec26[l43] = 0.0;
293 for (int l44 = 0; (l44 < 2); l44 = (l44 + 1)) fVec8[l44] = 0.0;
294 for (int l45 = 0; (l45 < 2); l45 = (l45 + 1)) fRec50[l45] = 0.0;
295 for (int l46 = 0; (l46 < 2); l46 = (l46 + 1)) fRec25[l46] = 0.0;
296 for (int l47 = 0; (l47 < 2); l47 = (l47 + 1)) fRec24[l47] = 0.0;
297 for (int l48 = 0; (l48 < 2); l48 = (l48 + 1)) fRec51[l48] = 0.0;
298 for (int l49 = 0; (l49 < 3); l49 = (l49 + 1)) fRec17[l49] = 0.0;
299 for (int l50 = 0; (l50 < 2); l50 = (l50 + 1)) fRec52[l50] = 0.0;
300 for (int l51 = 0; (l51 < 2); l51 = (l51 + 1)) fVec9[l51] = 0.0;
301 for (int l52 = 0; (l52 < 2); l52 = (l52 + 1)) fRec16[l52] = 0.0;
302 for (int l53 = 0; (l53 < 2); l53 = (l53 + 1)) fRec15[l53] = 0.0;
303 for (int l54 = 0; (l54 < 3); l54 = (l54 + 1)) fRec14[l54] = 0.0;
304 for (int l55 = 0; (l55 < 2); l55 = (l55 + 1)) fVec10[l55] = 0.0;
305 for (int l56 = 0; (l56 < 2); l56 = (l56 + 1)) fRec53[l56] = 0.0;
306 for (int l57 = 0; (l57 < 2); l57 = (l57 + 1)) fRec13[l57] = 0.0;
307 for (int l58 = 0; (l58 < 2); l58 = (l58 + 1)) fRec12[l58] = 0.0;
308 for (int l59 = 0; (l59 < 2); l59 = (l59 + 1)) fRec54[l59] = 0.0;
309 for (int l60 = 0; (l60 < 3); l60 = (l60 + 1)) fRec5[l60] = 0.0;
310 for (int l61 = 0; (l61 < 2); l61 = (l61 + 1)) fRec4[l61] = 0.0;
311 for (int l62 = 0; (l62 < 2); l62 = (l62 + 1)) fRec3[l62] = 0.0;
312 for (int l63 = 0; (l63 < 3); l63 = (l63 + 1)) fRec2[l63] = 0.0;
313 for (int l64 = 0; (l64 < 2); l64 = (l64 + 1)) fVec11[l64] = 0.0;
314 for (int l65 = 0; (l65 < 2); l65 = (l65 + 1)) fRec55[l65] = 0.0;
315 for (int l66 = 0; (l66 < 2); l66 = (l66 + 1)) fRec1[l66] = 0.0;
316 for (int l67 = 0; (l67 < 2); l67 = (l67 + 1)) fRec0[l67] = 0.0;
317 for (int l68 = 0; (l68 < 2); l68 = (l68 + 1)) fRec56[l68] = 0.0;
318 for (int l69 = 0; (l69 < 2); l69 = (l69 + 1)) fRec57[l69] = 0.0;
319 for (int l70 = 0; (l70 < 2); l70 = (l70 + 1)) fRec67[l70] = 0.0;
320 for (int l71 = 0; (l71 < 3); l71 = (l71 + 1)) fRec66[l71] = 0.0;
321 for (int l72 = 0; (l72 < 2); l72 = (l72 + 1)) fVec12[l72] = 0.0;
322 for (int l73 = 0; (l73 < 2); l73 = (l73 + 1)) fRec68[l73] = 0.0;
323 for (int l74 = 0; (l74 < 2); l74 = (l74 + 1)) fRec65[l74] = 0.0;
324 for (int l75 = 0; (l75 < 2); l75 = (l75 + 1)) fRec64[l75] = 0.0;
325 for (int l76 = 0; (l76 < 2); l76 = (l76 + 1)) fRec69[l76] = 0.0;
326 for (int l77 = 0; (l77 < 2); l77 = (l77 + 1)) fRec79[l77] = 0.0;
327 for (int l78 = 0; (l78 < 3); l78 = (l78 + 1)) fRec78[l78] = 0.0;
328 for (int l79 = 0; (l79 < 2); l79 = (l79 + 1)) fVec13[l79] = 0.0;
329 for (int l80 = 0; (l80 < 2); l80 = (l80 + 1)) fRec80[l80] = 0.0;
330 for (int l81 = 0; (l81 < 2); l81 = (l81 + 1)) fRec77[l81] = 0.0;
331 for (int l82 = 0; (l82 < 2); l82 = (l82 + 1)) fRec76[l82] = 0.0;
332 for (int l83 = 0; (l83 < 2); l83 = (l83 + 1)) fRec81[l83] = 0.0;
333 for (int l84 = 0; (l84 < 2); l84 = (l84 + 1)) fRec86[l84] = 0.0;
334 for (int l85 = 0; (l85 < 32768); l85 = (l85 + 1)) fVec14[l85] = 0.0;
335 for (int l86 = 0; (l86 < 2); l86 = (l86 + 1)) fRec88[l86] = 0.0;
336 for (int l87 = 0; (l87 < 2); l87 = (l87 + 1)) fRec87[l87] = 0.0;
337 for (int l88 = 0; (l88 < 3); l88 = (l88 + 1)) fRec96[l88] = 0.0;
338 for (int l89 = 0; (l89 < 2); l89 = (l89 + 1)) fVec15[l89] = 0.0;
339 for (int l90 = 0; (l90 < 2); l90 = (l90 + 1)) fRec95[l90] = 0.0;
340 for (int l91 = 0; (l91 < 2); l91 = (l91 + 1)) fRec94[l91] = 0.0;
341 for (int l92 = 0; (l92 < 3); l92 = (l92 + 1)) fRec93[l92] = 0.0;
342 for (int l93 = 0; (l93 < 2); l93 = (l93 + 1)) fVec16[l93] = 0.0;
343 for (int l94 = 0; (l94 < 2); l94 = (l94 + 1)) fRec92[l94] = 0.0;
344 for (int l95 = 0; (l95 < 3); l95 = (l95 + 1)) fRec91[l95] = 0.0;
345 for (int l96 = 0; (l96 < 3); l96 = (l96 + 1)) fRec90[l96] = 0.0;
346 for (int l97 = 0; (l97 < 2); l97 = (l97 + 1)) fRec100[l97] = 0.0;
347 for (int l98 = 0; (l98 < 3); l98 = (l98 + 1)) fRec99[l98] = 0.0;
348 for (int l99 = 0; (l99 < 3); l99 = (l99 + 1)) fRec98[l99] = 0.0;
349 for (int l100 = 0; (l100 < 3); l100 = (l100 + 1)) fRec97[l100] = 0.0;
350 for (int l101 = 0; (l101 < 2); l101 = (l101 + 1)) fRec104[l101] = 0.0;
351 for (int l102 = 0; (l102 < 3); l102 = (l102 + 1)) fRec103[l102] = 0.0;
352 for (int l103 = 0; (l103 < 2); l103 = (l103 + 1)) fVec17[l103] = 0.0;
353 for (int l104 = 0; (l104 < 2); l104 = (l104 + 1)) fRec102[l104] = 0.0;
354 for (int l105 = 0; (l105 < 3); l105 = (l105 + 1)) fRec101[l105] = 0.0;
355 for (int l106 = 0; (l106 < 2); l106 = (l106 + 1)) fRec106[l106] = 0.0;
356 for (int l107 = 0; (l107 < 3); l107 = (l107 + 1)) fRec105[l107] = 0.0;
357 for (int l108 = 0; (l108 < 2); l108 = (l108 + 1)) fVec18[l108] = 0.0;
358 for (int l109 = 0; (l109 < 2); l109 = (l109 + 1)) fRec89[l109] = 0.0;
359 for (int l110 = 0; (l110 < 2); l110 = (l110 + 1)) fVec19[l110] = 0.0;
360 for (int l111 = 0; (l111 < 2); l111 = (l111 + 1)) fRec85[l111] = 0.0;
361 for (int l112 = 0; (l112 < 3); l112 = (l112 + 1)) fRec84[l112] = 0.0;
362 for (int l113 = 0; (l113 < 2); l113 = (l113 + 1)) fVec20[l113] = 0.0;
363 for (int l114 = 0; (l114 < 2); l114 = (l114 + 1)) fRec107[l114] = 0.0;
364 for (int l115 = 0; (l115 < 2); l115 = (l115 + 1)) fRec83[l115] = 0.0;
365 for (int l116 = 0; (l116 < 2); l116 = (l116 + 1)) fRec82[l116] = 0.0;
366 for (int l117 = 0; (l117 < 2); l117 = (l117 + 1)) fRec108[l117] = 0.0;
367 for (int l118 = 0; (l118 < 3); l118 = (l118 + 1)) fRec75[l118] = 0.0;
368 for (int l119 = 0; (l119 < 2); l119 = (l119 + 1)) fVec21[l119] = 0.0;
369 for (int l120 = 0; (l120 < 2); l120 = (l120 + 1)) fRec74[l120] = 0.0;
370 for (int l121 = 0; (l121 < 2); l121 = (l121 + 1)) fRec73[l121] = 0.0;
371 for (int l122 = 0; (l122 < 3); l122 = (l122 + 1)) fRec72[l122] = 0.0;
372 for (int l123 = 0; (l123 < 2); l123 = (l123 + 1)) fVec22[l123] = 0.0;
373 for (int l124 = 0; (l124 < 2); l124 = (l124 + 1)) fRec109[l124] = 0.0;
374 for (int l125 = 0; (l125 < 2); l125 = (l125 + 1)) fRec71[l125] = 0.0;
375 for (int l126 = 0; (l126 < 2); l126 = (l126 + 1)) fRec70[l126] = 0.0;
376 for (int l127 = 0; (l127 < 2); l127 = (l127 + 1)) fRec110[l127] = 0.0;
377 for (int l128 = 0; (l128 < 3); l128 = (l128 + 1)) fRec63[l128] = 0.0;
378 for (int l129 = 0; (l129 < 2); l129 = (l129 + 1)) fRec62[l129] = 0.0;
379 for (int l130 = 0; (l130 < 2); l130 = (l130 + 1)) fRec61[l130] = 0.0;
380 for (int l131 = 0; (l131 < 3); l131 = (l131 + 1)) fRec60[l131] = 0.0;
381 for (int l132 = 0; (l132 < 2); l132 = (l132 + 1)) fVec23[l132] = 0.0;
382 for (int l133 = 0; (l133 < 2); l133 = (l133 + 1)) fRec111[l133] = 0.0;
383 for (int l134 = 0; (l134 < 2); l134 = (l134 + 1)) fRec59[l134] = 0.0;
384 for (int l135 = 0; (l135 < 2); l135 = (l135 + 1)) fRec58[l135] = 0.0;
385 for (int l136 = 0; (l136 < 2); l136 = (l136 + 1)) fRec112[l136] = 0.0;
386 }
387
clear_state_f_static(PluginLV2 * p)388 void Dsp::clear_state_f_static(PluginLV2 *p)
389 {
390 static_cast<Dsp*>(p)->clear_state_f();
391 }
392
init(uint32_t sample_rate)393 inline void Dsp::init(uint32_t sample_rate)
394 {
395 fSampleRate = sample_rate;
396 double fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
397 double fConst1 = std::tan((97.389372261283583 / fConst0));
398 double fConst2 = (1.0 / fConst1);
399 double fConst3 = (fConst2 + 1.0);
400 fConst4 = (1.0 / (fConst1 * fConst3));
401 double fConst5 = (1.0 / std::tan((20517.741620594938 / fConst0)));
402 fConst6 = (1.0 / (fConst5 + 1.0));
403 fConst7 = (1.0 - fConst5);
404 double fConst8 = (1.0 / std::tan((609.46897479641984 / fConst0)));
405 fConst9 = (1.0 / (fConst8 + 1.0));
406 fConst10 = (1.0 - fConst8);
407 fConst11 = (0.0 - fConst4);
408 fConst12 = ((1.0 - fConst2) / fConst3);
409 double fConst13 = (3.1415926535897931 / fConst0);
410 fConst14 = (1.0 / (fConst13 + 1.0));
411 fConst15 = (1.0 - fConst13);
412 double fConst16 = (1.0 / std::tan((414.69023027385271 / fConst0)));
413 fConst17 = (1.0 / (fConst16 + 1.0));
414 fConst18 = (1.0 - fConst16);
415 fConst19 = (0.009000000000000008 / fConst0);
416 iConst20 = int(std::min<double>(65536.0, std::max<double>(0.0, (0.1111111111111111 * fConst0))));
417 double fConst21 = std::tan((3769.9111843077517 / fConst0));
418 double fConst22 = (1.0 / fConst21);
419 fConst23 = (1.0 / (((fConst22 + 1.0000000000000004) / fConst21) + 1.0));
420 double fConst24 = mydsp_faustpower2_f(fConst21);
421 fConst25 = (1.0 / fConst24);
422 double fConst26 = std::tan((10053.096491487338 / fConst0));
423 fConst27 = (1.0 / fConst26);
424 fConst28 = (1.0 / (((fConst27 + 1.0000000000000004) / fConst26) + 1.0));
425 double fConst29 = (fConst22 + 1.0);
426 fConst30 = (1.0 / (fConst21 * fConst29));
427 double fConst31 = (fConst27 + 1.0);
428 fConst32 = (1.0 / fConst31);
429 fConst33 = (1.0 - fConst27);
430 double fConst34 = std::tan((47123.889803846898 / fConst0));
431 double fConst35 = (1.0 / fConst34);
432 fConst36 = (1.0 / (((fConst35 + 1.4142135623730949) / fConst34) + 1.0));
433 fConst37 = (((fConst35 + -1.4142135623730949) / fConst34) + 1.0);
434 fConst38 = (2.0 * (1.0 - (1.0 / mydsp_faustpower2_f(fConst34))));
435 fConst39 = (((fConst27 + -1.0000000000000004) / fConst26) + 1.0);
436 double fConst40 = mydsp_faustpower2_f(fConst26);
437 fConst41 = (1.0 / fConst40);
438 fConst42 = (2.0 * (1.0 - fConst41));
439 fConst43 = (0.0 - fConst30);
440 fConst44 = (1.0 - fConst22);
441 fConst45 = (fConst44 / fConst29);
442 fConst46 = (((fConst22 + -1.0000000000000004) / fConst21) + 1.0);
443 fConst47 = (2.0 * (1.0 - fConst25));
444 fConst48 = (0.0 - (2.0 / fConst24));
445 double fConst49 = std::tan((942.47779607693792 / fConst0));
446 double fConst50 = (1.0 / fConst49);
447 double fConst51 = (fConst50 + 1.0);
448 fConst52 = (1.0 / ((fConst51 / fConst49) + 1.0));
449 fConst53 = (1.0 - fConst50);
450 fConst54 = (1.0 - (fConst53 / fConst49));
451 double fConst55 = mydsp_faustpower2_f(fConst49);
452 fConst56 = (1.0 / fConst55);
453 fConst57 = (2.0 * (1.0 - fConst56));
454 fConst58 = (0.0 - (1.0 / (fConst26 * fConst31)));
455 fConst59 = (0.0 - (2.0 / fConst40));
456 fConst60 = (1.0 / ((fConst29 / fConst21) + 1.0));
457 fConst61 = (1.0 - (fConst44 / fConst21));
458 fConst62 = (1.0 / (((fConst50 + 1.0000000000000004) / fConst49) + 1.0));
459 fConst63 = (1.0 / (fConst49 * fConst51));
460 fConst64 = (1.0 / fConst29);
461 fConst65 = (0.0 - fConst63);
462 fConst66 = (fConst53 / fConst51);
463 fConst67 = (((fConst50 + -1.0000000000000004) / fConst49) + 1.0);
464 fConst68 = (0.0 - (2.0 / fConst55));
465 fConst69 = (1.0 / fConst51);
466 double fConst70 = (1.0 / std::tan((270.1769682087222 / fConst0)));
467 fConst71 = (1.0 / (fConst70 + 1.0));
468 fConst72 = (1.0 - fConst70);
469 IOTA = 0;
470 clear_state_f();
471 }
472
init_static(uint32_t sample_rate,PluginLV2 * p)473 void Dsp::init_static(uint32_t sample_rate, PluginLV2 *p)
474 {
475 static_cast<Dsp*>(p)->init(sample_rate);
476 }
477
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * input1,FAUSTFLOAT * output0,FAUSTFLOAT * output1)478 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1)
479 {
480 #define fCheckbox0 (*fCheckbox0_)
481 #define fCheckbox1 (*fCheckbox1_)
482 #define fVslider0 (*fVslider0_)
483 #define fVslider1 (*fVslider1_)
484 #define fVslider2 (*fVslider2_)
485 #define fVslider3 (*fVslider3_)
486 int iSlow0 = int(double(fCheckbox0));
487 int iSlow1 = int(double(fCheckbox1));
488 double fSlow2 = (1.0000000000000009e-05 * double(fVslider0));
489 double fSlow3 = double(fVslider1);
490 double fSlow4 = (1.25 * fSlow3);
491 double fSlow5 = (2.0 * (fSlow3 + -0.5));
492 double fSlow6 = (0.024937655860349125 * (1.0 - std::max<double>(0.0, fSlow5)));
493 double fSlow7 = std::pow(10.0, (2.0 * fSlow3));
494 double fSlow8 = (1.0 - std::max<double>(0.0, (-1.0 * fSlow5)));
495 double fSlow9 = std::pow(10.0, (1.2 * fSlow3));
496 double fSlow10 = std::pow(10.0, (0.80000000000000004 * fSlow3));
497 double fSlow11 = (fConst62 * fSlow7);
498 double fSlow12 = (fConst62 * std::pow(10.0, (0.90000000000000002 * fSlow3)));
499 double fSlow13 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * double(fVslider2))));
500 double fSlow14 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * double(fVslider3))));
501 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
502 fRec9[0] = ((0.93028479253239138 * (fRec5[1] + fRec5[2])) - (0.86056958506478287 * fRec9[1]));
503 fRec8[0] = (fRec9[0] - ((1.8405051250752198 * fRec8[1]) + (0.86129424393186271 * fRec8[2])));
504 double fTemp0 = (0.92544984225177063 * (fRec8[0] + fRec8[2]));
505 double fTemp1 = (1.8508996845035413 * fRec8[1]);
506 double fTemp2 = ((fTemp1 + fTemp0) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec7[1]))) + 100000.0));
507 fVec0[0] = fTemp2;
508 fRec10[0] = (fConst9 * ((820.0 * (fTemp2 + fVec0[1])) - (fConst10 * fRec10[1])));
509 fRec7[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp0 + (fRec10[0] + fTemp1)) + -0.84070199999999995)))) + -147.47536585365856);
510 fRec6[0] = ((0.025000000000000001 * ((fConst4 * fRec7[0]) + (fConst11 * fRec7[1]))) - (fConst12 * fRec6[1]));
511 fRec11[0] = (fConst14 * ((fConst15 * fRec11[1]) + (0.025000000000000001 * (fRec7[0] - fRec7[1]))));
512 fRec21[0] = ((0.93028479253239138 * (fRec17[1] + fRec17[2])) - (0.86056958506478287 * fRec21[1]));
513 fRec20[0] = (fRec21[0] - ((1.8405051250752198 * fRec20[1]) + (0.86129424393186271 * fRec20[2])));
514 double fTemp3 = (0.92544984225177063 * (fRec20[0] + fRec20[2]));
515 double fTemp4 = (1.8508996845035413 * fRec20[1]);
516 double fTemp5 = ((fTemp4 + fTemp3) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec19[1]))) + 100000.0));
517 fVec1[0] = fTemp5;
518 fRec22[0] = (fConst17 * ((1500.0 * (fTemp5 + fVec1[1])) - (fConst18 * fRec22[1])));
519 fRec19[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp3 + (fRec22[0] + fTemp4)) + -1.204285)))) + -169.71433333333334);
520 fRec18[0] = ((0.025000000000000001 * ((fConst4 * fRec19[0]) + (fConst11 * fRec19[1]))) - (fConst12 * fRec18[1]));
521 fRec23[0] = (fConst14 * ((fConst15 * fRec23[1]) + (0.025000000000000001 * (fRec19[0] - fRec19[1]))));
522 double fTemp6 = double(input0[i0]);
523 double fTemp7 = std::fabs(fTemp6);
524 fRec28[0] = ((0.99990000000000001 * fRec28[1]) + (9.9999999999988987e-05 * fTemp7));
525 double fTemp8 = std::max<double>(fRec28[0], fTemp7);
526 fVec2[(IOTA & 32767)] = fTemp8;
527 fRec30[0] = ((fTemp8 + fRec30[1]) - fVec2[((IOTA - iConst20) & 32767)]);
528 fRec29[0] = ((0.999 * fRec29[1]) + (fConst19 * fRec30[0]));
529 double fTemp9 = std::max<double>(-1.0, std::min<double>(-0.01, (fTemp8 + (-1.0 - (1.02 * fRec29[0])))));
530 double fTemp10 = (fTemp6 - fTemp9);
531 double fTemp11 = (40.100000000000001 * fTemp10);
532 double fTemp12 = std::max<double>(-600.0, fTemp11);
533 double fThen2 = (fTemp12 / (1.0 - std::exp((-1.0 * fTemp12))));
534 double fElse2 = (0.0 - (fTemp12 * std::exp(fTemp12)));
535 double fThen3 = ((fTemp10 * ((134.00083333333336 * fTemp10) + 20.050000000000001)) + 1.0);
536 double fElse3 = ((fTemp12 < -50.0) ? fElse2 : fThen2);
537 double fTemp13 = (0.0 - (40.100000000000001 * fTemp9));
538 double fTemp14 = std::max<double>(-600.0, fTemp13);
539 double fThen4 = (fTemp14 / (1.0 - std::exp((-1.0 * fTemp14))));
540 double fElse4 = (0.0 - (fTemp14 * std::exp(fTemp14)));
541 double fThen5 = ((fTemp13 * ((0.083333333333333329 * fTemp13) + 0.5)) + 1.0);
542 double fElse5 = ((fTemp14 < -50.0) ? fElse4 : fThen4);
543 double fTemp15 = (((std::fabs(fTemp11) > 0.0001) ? fElse3 : fThen3) - ((std::fabs(fTemp13) > 0.0001) ? fElse5 : fThen5));
544 fRec31[0] = (fSlow2 + (0.999 * fRec31[1]));
545 double fTemp16 = (1.0 - fRec31[0]);
546 double fTemp17 = (fSlow6 * fRec31[0]);
547 double fTemp18 = (0.024937655860349125 * (fRec31[0] * fTemp15));
548 double fTemp19 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow7 * std::max<double>(-0.69999999999999996, std::min<double>(0.69999999999999996, fTemp18)))));
549 fRec39[0] = (fTemp18 - (fConst36 * ((fConst37 * fRec39[2]) + (fConst38 * fRec39[1]))));
550 double fTemp20 = (fRec39[2] + (fRec39[0] + (2.0 * fRec39[1])));
551 fVec3[0] = fTemp20;
552 fRec38[0] = ((fConst36 * ((fConst4 * fTemp20) + (fConst11 * fVec3[1]))) - (fConst12 * fRec38[1]));
553 fRec37[0] = (0.0 - (fConst32 * ((fConst33 * fRec37[1]) - (fRec38[0] + fRec38[1]))));
554 fRec36[0] = (fRec37[0] - (fConst28 * ((fConst39 * fRec36[2]) + (fConst42 * fRec36[1]))));
555 double fTemp21 = (fRec36[2] + (fRec36[0] + (2.0 * fRec36[1])));
556 fVec4[0] = fTemp21;
557 fRec35[0] = ((fConst28 * ((fConst30 * fTemp21) + (fConst43 * fVec4[1]))) - (fConst45 * fRec35[1]));
558 fRec34[0] = (fRec35[0] - (fConst23 * ((fConst46 * fRec34[2]) + (fConst47 * fRec34[1]))));
559 double fTemp22 = (fConst57 * fRec33[1]);
560 fRec33[0] = ((fConst23 * (((fConst25 * fRec34[0]) + (fConst48 * fRec34[1])) + (fConst25 * fRec34[2]))) - (fConst52 * ((fConst54 * fRec33[2]) + fTemp22)));
561 double fTemp23 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow9 * (fRec33[2] + (fConst52 * (fTemp22 + (fConst54 * fRec33[0])))))));
562 fRec43[0] = ((fConst58 * fRec38[1]) - (fConst32 * ((fConst33 * fRec43[1]) - (fConst27 * fRec38[0]))));
563 fRec42[0] = (fRec43[0] - (fConst28 * ((fConst39 * fRec42[2]) + (fConst42 * fRec42[1]))));
564 double fTemp24 = (fConst47 * fRec41[1]);
565 fRec41[0] = ((fConst28 * (((fConst41 * fRec42[0]) + (fConst59 * fRec42[1])) + (fConst41 * fRec42[2]))) - (fConst60 * ((fConst61 * fRec41[2]) + fTemp24)));
566 double fTemp25 = (fConst57 * fRec40[1]);
567 fRec40[0] = ((fRec41[2] + (fConst60 * (fTemp24 + (fConst61 * fRec41[0])))) - (fConst52 * ((fConst54 * fRec40[2]) + fTemp25)));
568 double fTemp26 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow10 * (fRec40[2] + (fConst52 * (fTemp25 + (fConst54 * fRec40[0])))))));
569 fRec47[0] = (0.0 - (fConst64 * ((fConst44 * fRec47[1]) - (fConst28 * (fTemp21 + fVec4[1])))));
570 fRec46[0] = (fRec47[0] - (fConst23 * ((fConst46 * fRec46[2]) + (fConst47 * fRec46[1]))));
571 double fTemp27 = (fRec46[2] + (fRec46[0] + (2.0 * fRec46[1])));
572 fVec5[0] = fTemp27;
573 fRec45[0] = ((fConst23 * ((fConst63 * fTemp27) + (fConst65 * fVec5[1]))) - (fConst66 * fRec45[1]));
574 fRec44[0] = (fRec45[0] - (fConst62 * ((fConst67 * fRec44[2]) + (fConst57 * fRec44[1]))));
575 double fTemp28 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow11 * (((fConst56 * fRec44[0]) + (fConst68 * fRec44[1])) + (fConst56 * fRec44[2])))));
576 fRec49[0] = (0.0 - (fConst69 * ((fConst53 * fRec49[1]) - (fConst23 * (fTemp27 + fVec5[1])))));
577 fRec48[0] = (fRec49[0] - (fConst62 * ((fConst67 * fRec48[2]) + (fConst57 * fRec48[1]))));
578 double fTemp29 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow12 * (fRec48[2] + (fRec48[0] + (2.0 * fRec48[1]))))));
579 double fTemp30 = (((1.333521432 * (fTemp23 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp23))))) + (1.584893192 * ((fTemp26 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp26)))) + (fTemp28 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp28))))))) + (1.2589412 * (fTemp29 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp29))))));
580 fVec6[0] = fTemp30;
581 fRec32[0] = (0.0 - (fConst6 * ((fConst7 * fRec32[1]) - (fTemp30 + fVec6[1]))));
582 double fTemp31 = ((fTemp15 * ((fTemp16 * ((fSlow4 * ((0.099750623441396499 * (1.0 - std::fabs((0.024937655860349125 * (fTemp16 * fTemp15))))) + -0.024937655860349125)) + 0.024937655860349125)) + fTemp17)) + ((0.5 * (fTemp19 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp19))))) + (fSlow8 * fRec32[0])));
583 fVec7[0] = fTemp31;
584 fRec27[0] = ((0.93028479253239138 * (fTemp31 + fVec7[1])) - (0.86056958506478287 * fRec27[1]));
585 fRec26[0] = (fRec27[0] - ((1.8405051250752198 * fRec26[1]) + (0.86129424393186271 * fRec26[2])));
586 double fTemp32 = (0.92544984225177063 * (fRec26[0] + fRec26[2]));
587 double fTemp33 = (1.8508996845035413 * fRec26[1]);
588 double fTemp34 = ((fTemp33 + fTemp32) / (double(Ranode(int(TUBE_TABLE_12AX7_68k), double(fRec25[1]))) + 100000.0));
589 fVec8[0] = fTemp34;
590 fRec50[0] = (fConst71 * ((2700.0 * (fTemp34 + fVec8[1])) - (fConst72 * fRec50[1])));
591 fRec25[0] = (double(Ftube(int(TUBE_TABLE_12AX7_68k), double(((fTemp32 + (fRec50[0] + fTemp33)) + -1.581656)))) + -191.42014814814814);
592 fRec24[0] = ((0.025000000000000001 * ((fConst4 * fRec25[0]) + (fConst11 * fRec25[1]))) - (fConst12 * fRec24[1]));
593 fRec51[0] = (fConst14 * ((fConst15 * fRec51[1]) + (0.025000000000000001 * (fRec25[0] - fRec25[1]))));
594 fRec17[0] = ((0.59999999999999998 * (iSlow1 ? fRec23[0] : fRec18[0])) - (iSlow1 ? fRec51[0] : fRec24[0]));
595 fRec52[0] = (fSlow13 + (0.999 * fRec52[1]));
596 double fTemp35 = (fRec17[0] * fRec52[0]);
597 fVec9[0] = fTemp35;
598 fRec16[0] = (0.0 - (fConst6 * ((fConst7 * fRec16[1]) - (fTemp35 + fVec9[1]))));
599 fRec15[0] = ((0.93028479253239138 * (fRec16[0] + fRec16[1])) - (0.86056958506478287 * fRec15[1]));
600 fRec14[0] = (fRec15[0] - ((1.8405051250752198 * fRec14[1]) + (0.86129424393186271 * fRec14[2])));
601 double fTemp36 = (0.92544984225177063 * (fRec14[0] + fRec14[2]));
602 double fTemp37 = (1.8508996845035413 * fRec14[1]);
603 double fTemp38 = ((fTemp37 + fTemp36) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec13[1]))) + 100000.0));
604 fVec10[0] = fTemp38;
605 fRec53[0] = (fConst17 * ((1500.0 * (fTemp38 + fVec10[1])) - (fConst18 * fRec53[1])));
606 fRec13[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp36 + (fRec53[0] + fTemp37)) + -1.204285)))) + -169.71433333333334);
607 fRec12[0] = ((0.025000000000000001 * ((fConst4 * fRec13[0]) + (fConst11 * fRec13[1]))) - (fConst12 * fRec12[1]));
608 fRec54[0] = (fConst14 * ((fConst15 * fRec54[1]) + (0.025000000000000001 * (fRec13[0] - fRec13[1]))));
609 fRec5[0] = ((0.59999999999999998 * (iSlow1 ? fRec11[0] : fRec6[0])) + (iSlow1 ? fRec54[0] : fRec12[0]));
610 fRec4[0] = (0.0 - (fConst6 * ((fConst7 * fRec4[1]) - (fRec5[0] + fRec5[1]))));
611 fRec3[0] = ((0.93028479253239138 * (fRec4[0] + fRec4[1])) - (0.86056958506478287 * fRec3[1]));
612 fRec2[0] = (fRec3[0] - ((1.8405051250752198 * fRec2[1]) + (0.86129424393186271 * fRec2[2])));
613 double fTemp39 = (0.92544984225177063 * (fRec2[0] + fRec2[2]));
614 double fTemp40 = (1.8508996845035413 * fRec2[1]);
615 double fTemp41 = ((fTemp40 + fTemp39) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec1[1]))) + 100000.0));
616 fVec11[0] = fTemp41;
617 fRec55[0] = (fConst9 * ((820.0 * (fTemp41 + fVec11[1])) - (fConst10 * fRec55[1])));
618 fRec1[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp39 + (fRec55[0] + fTemp40)) + -0.84070199999999995)))) + -147.47536585365856);
619 fRec0[0] = ((0.025000000000000001 * ((fConst4 * fRec1[0]) + (fConst11 * fRec1[1]))) - (fConst12 * fRec0[1]));
620 fRec56[0] = (fConst14 * ((fConst15 * fRec56[1]) + (0.025000000000000001 * (fRec1[0] - fRec1[1]))));
621 fRec57[0] = (fSlow14 + (0.999 * fRec57[1]));
622 output0[i0] = FAUSTFLOAT(((iSlow0 ? fRec56[0] : fRec0[0]) * fRec57[0]));
623 fRec67[0] = ((0.93028479253239138 * (fRec63[1] + fRec63[2])) - (0.86056958506478287 * fRec67[1]));
624 fRec66[0] = (fRec67[0] - ((1.8405051250752198 * fRec66[1]) + (0.86129424393186271 * fRec66[2])));
625 double fTemp42 = (0.92544984225177063 * (fRec66[0] + fRec66[2]));
626 double fTemp43 = (1.8508996845035413 * fRec66[1]);
627 double fTemp44 = ((fTemp43 + fTemp42) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec65[1]))) + 100000.0));
628 fVec12[0] = fTemp44;
629 fRec68[0] = (fConst9 * ((820.0 * (fTemp44 + fVec12[1])) - (fConst10 * fRec68[1])));
630 fRec65[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp42 + (fRec68[0] + fTemp43)) + -0.84070199999999995)))) + -147.47536585365856);
631 fRec64[0] = ((0.025000000000000001 * ((fConst4 * fRec65[0]) + (fConst11 * fRec65[1]))) - (fConst12 * fRec64[1]));
632 fRec69[0] = (fConst14 * ((fConst15 * fRec69[1]) + (0.025000000000000001 * (fRec65[0] - fRec65[1]))));
633 fRec79[0] = ((0.93028479253239138 * (fRec75[1] + fRec75[2])) - (0.86056958506478287 * fRec79[1]));
634 fRec78[0] = (fRec79[0] - ((1.8405051250752198 * fRec78[1]) + (0.86129424393186271 * fRec78[2])));
635 double fTemp45 = (0.92544984225177063 * (fRec78[0] + fRec78[2]));
636 double fTemp46 = (1.8508996845035413 * fRec78[1]);
637 double fTemp47 = ((fTemp46 + fTemp45) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec77[1]))) + 100000.0));
638 fVec13[0] = fTemp47;
639 fRec80[0] = (fConst17 * ((1500.0 * (fTemp47 + fVec13[1])) - (fConst18 * fRec80[1])));
640 fRec77[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp45 + (fRec80[0] + fTemp46)) + -1.204285)))) + -169.71433333333334);
641 fRec76[0] = ((0.025000000000000001 * ((fConst4 * fRec77[0]) + (fConst11 * fRec77[1]))) - (fConst12 * fRec76[1]));
642 fRec81[0] = (fConst14 * ((fConst15 * fRec81[1]) + (0.025000000000000001 * (fRec77[0] - fRec77[1]))));
643 double fTemp48 = double(input1[i0]);
644 double fTemp49 = std::fabs(fTemp48);
645 fRec86[0] = ((0.99990000000000001 * fRec86[1]) + (9.9999999999988987e-05 * fTemp49));
646 double fTemp50 = std::max<double>(fRec86[0], fTemp49);
647 fVec14[(IOTA & 32767)] = fTemp50;
648 fRec88[0] = ((fTemp50 + fRec88[1]) - fVec14[((IOTA - iConst20) & 32767)]);
649 fRec87[0] = ((0.999 * fRec87[1]) + (fConst19 * fRec88[0]));
650 double fTemp51 = std::max<double>(-1.0, std::min<double>(-0.01, (fTemp50 + (-1.0 - (1.02 * fRec87[0])))));
651 double fTemp52 = (fTemp48 - fTemp51);
652 double fTemp53 = (40.100000000000001 * fTemp52);
653 double fTemp54 = std::max<double>(-600.0, fTemp53);
654 double fThen11 = (fTemp54 / (1.0 - std::exp((-1.0 * fTemp54))));
655 double fElse11 = (0.0 - (fTemp54 * std::exp(fTemp54)));
656 double fThen12 = ((fTemp52 * ((134.00083333333336 * fTemp52) + 20.050000000000001)) + 1.0);
657 double fElse12 = ((fTemp54 < -50.0) ? fElse11 : fThen11);
658 double fTemp55 = (0.0 - (40.100000000000001 * fTemp51));
659 double fTemp56 = std::max<double>(-600.0, fTemp55);
660 double fThen13 = (fTemp56 / (1.0 - std::exp((-1.0 * fTemp56))));
661 double fElse13 = (0.0 - (fTemp56 * std::exp(fTemp56)));
662 double fThen14 = ((fTemp55 * ((0.083333333333333329 * fTemp55) + 0.5)) + 1.0);
663 double fElse14 = ((fTemp56 < -50.0) ? fElse13 : fThen13);
664 double fTemp57 = (((std::fabs(fTemp53) > 0.0001) ? fElse12 : fThen12) - ((std::fabs(fTemp55) > 0.0001) ? fElse14 : fThen14));
665 double fTemp58 = (0.024937655860349125 * (fRec31[0] * fTemp57));
666 double fTemp59 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow7 * std::max<double>(-0.69999999999999996, std::min<double>(0.69999999999999996, fTemp58)))));
667 fRec96[0] = (fTemp58 - (fConst36 * ((fConst37 * fRec96[2]) + (fConst38 * fRec96[1]))));
668 double fTemp60 = (fRec96[2] + (fRec96[0] + (2.0 * fRec96[1])));
669 fVec15[0] = fTemp60;
670 fRec95[0] = ((fConst36 * ((fConst4 * fTemp60) + (fConst11 * fVec15[1]))) - (fConst12 * fRec95[1]));
671 fRec94[0] = (0.0 - (fConst32 * ((fConst33 * fRec94[1]) - (fRec95[0] + fRec95[1]))));
672 fRec93[0] = (fRec94[0] - (fConst28 * ((fConst39 * fRec93[2]) + (fConst42 * fRec93[1]))));
673 double fTemp61 = (fRec93[2] + (fRec93[0] + (2.0 * fRec93[1])));
674 fVec16[0] = fTemp61;
675 fRec92[0] = ((fConst28 * ((fConst30 * fTemp61) + (fConst43 * fVec16[1]))) - (fConst45 * fRec92[1]));
676 fRec91[0] = (fRec92[0] - (fConst23 * ((fConst46 * fRec91[2]) + (fConst47 * fRec91[1]))));
677 double fTemp62 = (fConst57 * fRec90[1]);
678 fRec90[0] = ((fConst23 * (((fConst25 * fRec91[0]) + (fConst48 * fRec91[1])) + (fConst25 * fRec91[2]))) - (fConst52 * ((fConst54 * fRec90[2]) + fTemp62)));
679 double fTemp63 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow9 * (fRec90[2] + (fConst52 * (fTemp62 + (fConst54 * fRec90[0])))))));
680 fRec100[0] = ((fConst58 * fRec95[1]) - (fConst32 * ((fConst33 * fRec100[1]) - (fConst27 * fRec95[0]))));
681 fRec99[0] = (fRec100[0] - (fConst28 * ((fConst39 * fRec99[2]) + (fConst42 * fRec99[1]))));
682 double fTemp64 = (fConst47 * fRec98[1]);
683 fRec98[0] = ((fConst28 * (((fConst41 * fRec99[0]) + (fConst59 * fRec99[1])) + (fConst41 * fRec99[2]))) - (fConst60 * ((fConst61 * fRec98[2]) + fTemp64)));
684 double fTemp65 = (fConst57 * fRec97[1]);
685 fRec97[0] = ((fRec98[2] + (fConst60 * (fTemp64 + (fConst61 * fRec98[0])))) - (fConst52 * ((fConst54 * fRec97[2]) + fTemp65)));
686 double fTemp66 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow10 * (fRec97[2] + (fConst52 * (fTemp65 + (fConst54 * fRec97[0])))))));
687 fRec104[0] = (0.0 - (fConst64 * ((fConst44 * fRec104[1]) - (fConst28 * (fTemp61 + fVec16[1])))));
688 fRec103[0] = (fRec104[0] - (fConst23 * ((fConst46 * fRec103[2]) + (fConst47 * fRec103[1]))));
689 double fTemp67 = (fRec103[2] + (fRec103[0] + (2.0 * fRec103[1])));
690 fVec17[0] = fTemp67;
691 fRec102[0] = ((fConst23 * ((fConst63 * fTemp67) + (fConst65 * fVec17[1]))) - (fConst66 * fRec102[1]));
692 fRec101[0] = (fRec102[0] - (fConst62 * ((fConst67 * fRec101[2]) + (fConst57 * fRec101[1]))));
693 double fTemp68 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow11 * (((fConst56 * fRec101[0]) + (fConst68 * fRec101[1])) + (fConst56 * fRec101[2])))));
694 fRec106[0] = (0.0 - (fConst69 * ((fConst53 * fRec106[1]) - (fConst23 * (fTemp67 + fVec17[1])))));
695 fRec105[0] = (fRec106[0] - (fConst62 * ((fConst67 * fRec105[2]) + (fConst57 * fRec105[1]))));
696 double fTemp69 = std::max<double>(-1.0, std::min<double>(1.0, (fSlow12 * (fRec105[2] + (fRec105[0] + (2.0 * fRec105[1]))))));
697 double fTemp70 = (((1.333521432 * (fTemp63 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp63))))) + (1.584893192 * ((fTemp66 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp66)))) + (fTemp68 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp68))))))) + (1.2589412 * (fTemp69 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp69))))));
698 fVec18[0] = fTemp70;
699 fRec89[0] = (0.0 - (fConst6 * ((fConst7 * fRec89[1]) - (fTemp70 + fVec18[1]))));
700 double fTemp71 = ((fTemp57 * (fTemp17 + (fTemp16 * ((fSlow4 * ((0.099750623441396499 * (1.0 - std::fabs((0.024937655860349125 * (fTemp16 * fTemp57))))) + -0.024937655860349125)) + 0.024937655860349125)))) + ((0.5 * (fTemp59 * (1.0 - (0.33333333333333331 * mydsp_faustpower2_f(fTemp59))))) + (fSlow8 * fRec89[0])));
701 fVec19[0] = fTemp71;
702 fRec85[0] = ((0.93028479253239138 * (fTemp71 + fVec19[1])) - (0.86056958506478287 * fRec85[1]));
703 fRec84[0] = (fRec85[0] - ((1.8405051250752198 * fRec84[1]) + (0.86129424393186271 * fRec84[2])));
704 double fTemp72 = (0.92544984225177063 * (fRec84[0] + fRec84[2]));
705 double fTemp73 = (1.8508996845035413 * fRec84[1]);
706 double fTemp74 = ((fTemp73 + fTemp72) / (double(Ranode(int(TUBE_TABLE_12AX7_68k), double(fRec83[1]))) + 100000.0));
707 fVec20[0] = fTemp74;
708 fRec107[0] = (fConst71 * ((2700.0 * (fTemp74 + fVec20[1])) - (fConst72 * fRec107[1])));
709 fRec83[0] = (double(Ftube(int(TUBE_TABLE_12AX7_68k), double(((fTemp72 + (fRec107[0] + fTemp73)) + -1.581656)))) + -191.42014814814814);
710 fRec82[0] = ((0.025000000000000001 * ((fConst4 * fRec83[0]) + (fConst11 * fRec83[1]))) - (fConst12 * fRec82[1]));
711 fRec108[0] = (fConst14 * ((fConst15 * fRec108[1]) + (0.025000000000000001 * (fRec83[0] - fRec83[1]))));
712 fRec75[0] = ((0.59999999999999998 * (iSlow1 ? fRec81[0] : fRec76[0])) - (iSlow1 ? fRec108[0] : fRec82[0]));
713 double fTemp75 = (fRec52[0] * fRec75[0]);
714 fVec21[0] = fTemp75;
715 fRec74[0] = (0.0 - (fConst6 * ((fConst7 * fRec74[1]) - (fTemp75 + fVec21[1]))));
716 fRec73[0] = ((0.93028479253239138 * (fRec74[0] + fRec74[1])) - (0.86056958506478287 * fRec73[1]));
717 fRec72[0] = (fRec73[0] - ((1.8405051250752198 * fRec72[1]) + (0.86129424393186271 * fRec72[2])));
718 double fTemp76 = (0.92544984225177063 * (fRec72[0] + fRec72[2]));
719 double fTemp77 = (1.8508996845035413 * fRec72[1]);
720 double fTemp78 = ((fTemp77 + fTemp76) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec71[1]))) + 100000.0));
721 fVec22[0] = fTemp78;
722 fRec109[0] = (fConst17 * ((1500.0 * (fTemp78 + fVec22[1])) - (fConst18 * fRec109[1])));
723 fRec71[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp76 + (fRec109[0] + fTemp77)) + -1.204285)))) + -169.71433333333334);
724 fRec70[0] = ((0.025000000000000001 * ((fConst4 * fRec71[0]) + (fConst11 * fRec71[1]))) - (fConst12 * fRec70[1]));
725 fRec110[0] = (fConst14 * ((fConst15 * fRec110[1]) + (0.025000000000000001 * (fRec71[0] - fRec71[1]))));
726 fRec63[0] = ((0.59999999999999998 * (iSlow1 ? fRec69[0] : fRec64[0])) + (iSlow1 ? fRec110[0] : fRec70[0]));
727 fRec62[0] = (0.0 - (fConst6 * ((fConst7 * fRec62[1]) - (fRec63[0] + fRec63[1]))));
728 fRec61[0] = ((0.93028479253239138 * (fRec62[0] + fRec62[1])) - (0.86056958506478287 * fRec61[1]));
729 fRec60[0] = (fRec61[0] - ((1.8405051250752198 * fRec60[1]) + (0.86129424393186271 * fRec60[2])));
730 double fTemp79 = (0.92544984225177063 * (fRec60[0] + fRec60[2]));
731 double fTemp80 = (1.8508996845035413 * fRec60[1]);
732 double fTemp81 = ((fTemp80 + fTemp79) / (double(Ranode(int(TUBE_TABLE_12AX7_250k), double(fRec59[1]))) + 100000.0));
733 fVec23[0] = fTemp81;
734 fRec111[0] = (fConst9 * ((820.0 * (fTemp81 + fVec23[1])) - (fConst10 * fRec111[1])));
735 fRec59[0] = (double(Ftube(int(TUBE_TABLE_12AX7_250k), double(((fTemp79 + (fRec111[0] + fTemp80)) + -0.84070199999999995)))) + -147.47536585365856);
736 fRec58[0] = ((0.025000000000000001 * ((fConst4 * fRec59[0]) + (fConst11 * fRec59[1]))) - (fConst12 * fRec58[1]));
737 fRec112[0] = (fConst14 * ((fConst15 * fRec112[1]) + (0.025000000000000001 * (fRec59[0] - fRec59[1]))));
738 output1[i0] = FAUSTFLOAT((fRec57[0] * (iSlow0 ? fRec112[0] : fRec58[0])));
739 fRec9[1] = fRec9[0];
740 fRec8[2] = fRec8[1];
741 fRec8[1] = fRec8[0];
742 fVec0[1] = fVec0[0];
743 fRec10[1] = fRec10[0];
744 fRec7[1] = fRec7[0];
745 fRec6[1] = fRec6[0];
746 fRec11[1] = fRec11[0];
747 fRec21[1] = fRec21[0];
748 fRec20[2] = fRec20[1];
749 fRec20[1] = fRec20[0];
750 fVec1[1] = fVec1[0];
751 fRec22[1] = fRec22[0];
752 fRec19[1] = fRec19[0];
753 fRec18[1] = fRec18[0];
754 fRec23[1] = fRec23[0];
755 fRec28[1] = fRec28[0];
756 IOTA = (IOTA + 1);
757 fRec30[1] = fRec30[0];
758 fRec29[1] = fRec29[0];
759 fRec31[1] = fRec31[0];
760 fRec39[2] = fRec39[1];
761 fRec39[1] = fRec39[0];
762 fVec3[1] = fVec3[0];
763 fRec38[1] = fRec38[0];
764 fRec37[1] = fRec37[0];
765 fRec36[2] = fRec36[1];
766 fRec36[1] = fRec36[0];
767 fVec4[1] = fVec4[0];
768 fRec35[1] = fRec35[0];
769 fRec34[2] = fRec34[1];
770 fRec34[1] = fRec34[0];
771 fRec33[2] = fRec33[1];
772 fRec33[1] = fRec33[0];
773 fRec43[1] = fRec43[0];
774 fRec42[2] = fRec42[1];
775 fRec42[1] = fRec42[0];
776 fRec41[2] = fRec41[1];
777 fRec41[1] = fRec41[0];
778 fRec40[2] = fRec40[1];
779 fRec40[1] = fRec40[0];
780 fRec47[1] = fRec47[0];
781 fRec46[2] = fRec46[1];
782 fRec46[1] = fRec46[0];
783 fVec5[1] = fVec5[0];
784 fRec45[1] = fRec45[0];
785 fRec44[2] = fRec44[1];
786 fRec44[1] = fRec44[0];
787 fRec49[1] = fRec49[0];
788 fRec48[2] = fRec48[1];
789 fRec48[1] = fRec48[0];
790 fVec6[1] = fVec6[0];
791 fRec32[1] = fRec32[0];
792 fVec7[1] = fVec7[0];
793 fRec27[1] = fRec27[0];
794 fRec26[2] = fRec26[1];
795 fRec26[1] = fRec26[0];
796 fVec8[1] = fVec8[0];
797 fRec50[1] = fRec50[0];
798 fRec25[1] = fRec25[0];
799 fRec24[1] = fRec24[0];
800 fRec51[1] = fRec51[0];
801 fRec17[2] = fRec17[1];
802 fRec17[1] = fRec17[0];
803 fRec52[1] = fRec52[0];
804 fVec9[1] = fVec9[0];
805 fRec16[1] = fRec16[0];
806 fRec15[1] = fRec15[0];
807 fRec14[2] = fRec14[1];
808 fRec14[1] = fRec14[0];
809 fVec10[1] = fVec10[0];
810 fRec53[1] = fRec53[0];
811 fRec13[1] = fRec13[0];
812 fRec12[1] = fRec12[0];
813 fRec54[1] = fRec54[0];
814 fRec5[2] = fRec5[1];
815 fRec5[1] = fRec5[0];
816 fRec4[1] = fRec4[0];
817 fRec3[1] = fRec3[0];
818 fRec2[2] = fRec2[1];
819 fRec2[1] = fRec2[0];
820 fVec11[1] = fVec11[0];
821 fRec55[1] = fRec55[0];
822 fRec1[1] = fRec1[0];
823 fRec0[1] = fRec0[0];
824 fRec56[1] = fRec56[0];
825 fRec57[1] = fRec57[0];
826 fRec67[1] = fRec67[0];
827 fRec66[2] = fRec66[1];
828 fRec66[1] = fRec66[0];
829 fVec12[1] = fVec12[0];
830 fRec68[1] = fRec68[0];
831 fRec65[1] = fRec65[0];
832 fRec64[1] = fRec64[0];
833 fRec69[1] = fRec69[0];
834 fRec79[1] = fRec79[0];
835 fRec78[2] = fRec78[1];
836 fRec78[1] = fRec78[0];
837 fVec13[1] = fVec13[0];
838 fRec80[1] = fRec80[0];
839 fRec77[1] = fRec77[0];
840 fRec76[1] = fRec76[0];
841 fRec81[1] = fRec81[0];
842 fRec86[1] = fRec86[0];
843 fRec88[1] = fRec88[0];
844 fRec87[1] = fRec87[0];
845 fRec96[2] = fRec96[1];
846 fRec96[1] = fRec96[0];
847 fVec15[1] = fVec15[0];
848 fRec95[1] = fRec95[0];
849 fRec94[1] = fRec94[0];
850 fRec93[2] = fRec93[1];
851 fRec93[1] = fRec93[0];
852 fVec16[1] = fVec16[0];
853 fRec92[1] = fRec92[0];
854 fRec91[2] = fRec91[1];
855 fRec91[1] = fRec91[0];
856 fRec90[2] = fRec90[1];
857 fRec90[1] = fRec90[0];
858 fRec100[1] = fRec100[0];
859 fRec99[2] = fRec99[1];
860 fRec99[1] = fRec99[0];
861 fRec98[2] = fRec98[1];
862 fRec98[1] = fRec98[0];
863 fRec97[2] = fRec97[1];
864 fRec97[1] = fRec97[0];
865 fRec104[1] = fRec104[0];
866 fRec103[2] = fRec103[1];
867 fRec103[1] = fRec103[0];
868 fVec17[1] = fVec17[0];
869 fRec102[1] = fRec102[0];
870 fRec101[2] = fRec101[1];
871 fRec101[1] = fRec101[0];
872 fRec106[1] = fRec106[0];
873 fRec105[2] = fRec105[1];
874 fRec105[1] = fRec105[0];
875 fVec18[1] = fVec18[0];
876 fRec89[1] = fRec89[0];
877 fVec19[1] = fVec19[0];
878 fRec85[1] = fRec85[0];
879 fRec84[2] = fRec84[1];
880 fRec84[1] = fRec84[0];
881 fVec20[1] = fVec20[0];
882 fRec107[1] = fRec107[0];
883 fRec83[1] = fRec83[0];
884 fRec82[1] = fRec82[0];
885 fRec108[1] = fRec108[0];
886 fRec75[2] = fRec75[1];
887 fRec75[1] = fRec75[0];
888 fVec21[1] = fVec21[0];
889 fRec74[1] = fRec74[0];
890 fRec73[1] = fRec73[0];
891 fRec72[2] = fRec72[1];
892 fRec72[1] = fRec72[0];
893 fVec22[1] = fVec22[0];
894 fRec109[1] = fRec109[0];
895 fRec71[1] = fRec71[0];
896 fRec70[1] = fRec70[0];
897 fRec110[1] = fRec110[0];
898 fRec63[2] = fRec63[1];
899 fRec63[1] = fRec63[0];
900 fRec62[1] = fRec62[0];
901 fRec61[1] = fRec61[0];
902 fRec60[2] = fRec60[1];
903 fRec60[1] = fRec60[0];
904 fVec23[1] = fVec23[0];
905 fRec111[1] = fRec111[0];
906 fRec59[1] = fRec59[0];
907 fRec58[1] = fRec58[0];
908 fRec112[1] = fRec112[0];
909 }
910 #undef fCheckbox0
911 #undef fCheckbox1
912 #undef fVslider0
913 #undef fVslider1
914 #undef fVslider2
915 #undef fVslider3
916 }
917
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * input1,FAUSTFLOAT * output0,FAUSTFLOAT * output1,PluginLV2 * p)918 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1, PluginLV2 *p)
919 {
920 static_cast<Dsp*>(p)->compute(count, input0, input1, output0, output1);
921 }
922
923
connect(uint32_t port,void * data)924 void Dsp::connect(uint32_t port,void* data)
925 {
926 switch ((PortIndex)port)
927 {
928 case HIGHGAIN:
929 fCheckbox1_ = (float*)data; // , 0.0, 0.0, 1.0, 1.0
930 fCheckbox0_ = (float*)data; // , 0.0, 0.0, 1.0, 1.0
931 break;
932 case DRIVE:
933 fVslider1_ = (float*)data; // , 0.34999999999999998, 0.0, 1.0, 0.01
934 break;
935 case WET_DRY:
936 fVslider0_ = (float*)data; // , 100.0, 0.0, 100.0, 1.0
937 break;
938 case PREGAIN:
939 fVslider2_ = (float*)data; // , -6.0, -20.0, 20.0, 0.10000000000000001
940 break;
941 case GAIN1:
942 fVslider3_ = (float*)data; // , -6.0, -20.0, 20.0, 0.10000000000000001
943 break;
944 default:
945 break;
946 }
947 }
948
connect_static(uint32_t port,void * data,PluginLV2 * p)949 void Dsp::connect_static(uint32_t port,void* data, PluginLV2 *p)
950 {
951 static_cast<Dsp*>(p)->connect(port, data);
952 }
953
954
plugin()955 PluginLV2 *plugin() {
956 return new Dsp();
957 }
958
del_instance(PluginLV2 * p)959 void Dsp::del_instance(PluginLV2 *p)
960 {
961 delete static_cast<Dsp*>(p);
962 }
963
964 /*
965 typedef enum
966 {
967 DRIVE,
968 WET_DRY,
969 HIGHGAIN,
970 PREGAIN,
971 GAIN1,
972 } PortIndex;
973 */
974
975 } // end namespace gxamp9_stereo
976