1 // generated from file '../src/plugins/rolandwah.dsp' by dsp2cc:
2 // Code generated with Faust (https://faust.grame.fr)
3
4 #include "gx_faust_support.h"
5 #include "gx_plugin.h"
6 #include "trany.h"
7
8 namespace pluginlib {
9 namespace rolandwah {
10
11 class Dsp: public PluginDef {
12 private:
13 int fSampleRate;
14 double fConst0;
15 double fConst4;
16 double fConst5;
17 double fConst6;
18 double fConst7;
19 FAUSTFLOAT fVslider0;
20 int iVec0[2];
21 double fConst9;
22 double fConst11;
23 FAUSTFLOAT fVslider1;
24 double fRec10[2];
25 double fConst13;
26 double fConst15;
27 double fConst17;
28 double fConst19;
29 double fConst20;
30 double fConst21;
31 double fConst22;
32 double fConst23;
33 double fConst24;
34 double fConst25;
35 double fConst26;
36 double fConst27;
37 double fConst29;
38 double fConst31;
39 double fConst32;
40 double fConst33;
41 double fRec9[9];
42 double fConst35;
43 double fConst37;
44 double fConst39;
45 double fConst41;
46 double fConst44;
47 double fConst47;
48 double fConst49;
49 double fConst51;
50 double fConst52;
51 double fConst53;
52 double fConst54;
53 double fConst55;
54 double fConst56;
55 double fConst57;
56 double fConst58;
57 double fConst59;
58 double fConst60;
59 double fConst61;
60 double fConst63;
61 FAUSTFLOAT fCheckbox0;
62 double fConst64;
63 FAUSTFLOAT fVslider2;
64 double fRec13[2];
65 double fRec12[2];
66 double fRec11[2];
67 double fConst65;
68 double fConst66;
69 double fConst67;
70 double fConst68;
71 double fRec15[2];
72 double fRec14[2];
73 FAUSTFLOAT fVslider3;
74 double fRec16[2];
75 double fConst70;
76 double fConst72;
77 double fConst74;
78 double fConst76;
79 double fConst78;
80 double fConst79;
81 double fConst80;
82 double fConst81;
83 double fConst82;
84 double fConst83;
85 double fConst84;
86 double fConst85;
87 double fConst86;
88 double fConst87;
89 double fConst89;
90 double fConst91;
91 double fConst93;
92 double fConst94;
93 double fConst95;
94 double fConst96;
95 double fRec8[7];
96 double fConst98;
97 double fConst100;
98 double fConst102;
99 double fConst104;
100 double fConst106;
101 double fConst108;
102 double fConst110;
103 double fConst112;
104 double fConst114;
105 double fConst115;
106 double fConst116;
107 double fConst117;
108 double fConst118;
109 double fConst119;
110 double fConst120;
111 double fConst121;
112 double fConst122;
113 double fConst123;
114 double fConst124;
115 double fConst125;
116 double fConst126;
117 double fVec1[2];
118 double fRec7[2];
119 double fRec6[3];
120 double fConst128;
121 double fConst129;
122 double fRec17[2];
123 double fRec5[3];
124 double fConst130;
125 double fConst131;
126 double fRec4[2];
127 double fRec3[2];
128 double fRec2[3];
129 double fRec18[2];
130 double fRec1[3];
131 double fRec0[2];
132
133 void clear_state_f();
134 int load_ui_f(const UiBuilder& b, int form);
135 static const char *glade_def;
136 void init(unsigned int sample_rate);
137 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
138 int register_par(const ParamReg& reg);
139
140 static void clear_state_f_static(PluginDef*);
141 static int load_ui_f_static(const UiBuilder& b, int form);
142 static void init_static(unsigned int sample_rate, PluginDef*);
143 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef*);
144 static int register_params_static(const ParamReg& reg);
145 static void del_instance(PluginDef *p);
146 public:
147 Dsp();
148 ~Dsp();
149 };
150
151
152
Dsp()153 Dsp::Dsp()
154 : PluginDef() {
155 version = PLUGINDEF_VERSION;
156 flags = 0;
157 id = "rolandwah";
158 name = N_("Roland Double Beat");
159 groups = 0;
160 description = N_("Roland Double Beat"); // description (tooltip)
161 category = N_("Guitar Effects"); // category
162 shortname = N_("Double Beat"); // shortname
163 mono_audio = compute_static;
164 stereo_audio = 0;
165 set_samplerate = init_static;
166 activate_plugin = 0;
167 register_params = register_params_static;
168 load_ui = load_ui_f_static;
169 clear_state = clear_state_f_static;
170 delete_instance = del_instance;
171 }
172
~Dsp()173 Dsp::~Dsp() {
174 }
175
clear_state_f()176 inline void Dsp::clear_state_f()
177 {
178 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) iVec0[l0] = 0;
179 for (int l1 = 0; (l1 < 2); l1 = (l1 + 1)) fRec10[l1] = 0.0;
180 for (int l2 = 0; (l2 < 9); l2 = (l2 + 1)) fRec9[l2] = 0.0;
181 for (int l3 = 0; (l3 < 2); l3 = (l3 + 1)) fRec13[l3] = 0.0;
182 for (int l4 = 0; (l4 < 2); l4 = (l4 + 1)) fRec12[l4] = 0.0;
183 for (int l5 = 0; (l5 < 2); l5 = (l5 + 1)) fRec11[l5] = 0.0;
184 for (int l6 = 0; (l6 < 2); l6 = (l6 + 1)) fRec15[l6] = 0.0;
185 for (int l7 = 0; (l7 < 2); l7 = (l7 + 1)) fRec14[l7] = 0.0;
186 for (int l8 = 0; (l8 < 2); l8 = (l8 + 1)) fRec16[l8] = 0.0;
187 for (int l9 = 0; (l9 < 7); l9 = (l9 + 1)) fRec8[l9] = 0.0;
188 for (int l10 = 0; (l10 < 2); l10 = (l10 + 1)) fVec1[l10] = 0.0;
189 for (int l11 = 0; (l11 < 2); l11 = (l11 + 1)) fRec7[l11] = 0.0;
190 for (int l12 = 0; (l12 < 3); l12 = (l12 + 1)) fRec6[l12] = 0.0;
191 for (int l13 = 0; (l13 < 2); l13 = (l13 + 1)) fRec17[l13] = 0.0;
192 for (int l14 = 0; (l14 < 3); l14 = (l14 + 1)) fRec5[l14] = 0.0;
193 for (int l15 = 0; (l15 < 2); l15 = (l15 + 1)) fRec4[l15] = 0.0;
194 for (int l16 = 0; (l16 < 2); l16 = (l16 + 1)) fRec3[l16] = 0.0;
195 for (int l17 = 0; (l17 < 3); l17 = (l17 + 1)) fRec2[l17] = 0.0;
196 for (int l18 = 0; (l18 < 2); l18 = (l18 + 1)) fRec18[l18] = 0.0;
197 for (int l19 = 0; (l19 < 3); l19 = (l19 + 1)) fRec1[l19] = 0.0;
198 for (int l20 = 0; (l20 < 2); l20 = (l20 + 1)) fRec0[l20] = 0.0;
199 }
200
clear_state_f_static(PluginDef * p)201 void Dsp::clear_state_f_static(PluginDef *p)
202 {
203 static_cast<Dsp*>(p)->clear_state_f();
204 }
205
init(unsigned int sample_rate)206 inline void Dsp::init(unsigned int sample_rate)
207 {
208 fSampleRate = sample_rate;
209 fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
210 double fConst1 = std::tan((97.389372261283583 / fConst0));
211 double fConst2 = (1.0 / fConst1);
212 double fConst3 = (fConst2 + 1.0);
213 fConst4 = (1.0 / (fConst1 * fConst3));
214 fConst5 = mydsp_faustpower2_f(fConst0);
215 fConst6 = (0.93028479253239138 * fConst5);
216 fConst7 = mydsp_faustpower3_f(fConst0);
217 double fConst8 = (8.6453768554099601e-54 * fConst0);
218 fConst9 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (fConst8 + -1.01507284191684e-32)) + -9.1925129482745801e-29)) + -1.14668174326105e-25)) + 1.7131119450777e-20)) + 2.0004598723027898e-18)) + 5.17754054952568e-17);
219 double fConst10 = (7.7135875124018505e-54 * fConst0);
220 fConst11 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (3.4617148379147101e-33 - fConst10)) + 7.3851826335984701e-29)) + 1.0562321161133599e-25)) + -1.35506989727438e-20)) + -6.4187190694828203e-19)) + -3.6184466339169999e-18);
221 double fConst12 = (3.02588189939348e-53 * fConst0);
222 fConst13 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (2.3685032978059599e-32 - fConst12)) + 9.1925129482745801e-29)) + -1.14668174326105e-25)) + -1.52318075159202e-22)) + -1.7131119450777e-20)) + 2.0004598723027898e-18)) + 1.20809279488933e-16);
223 double fConst14 = (2.6997556293406501e-53 * fConst0);
224 fConst15 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst14 + -8.0773346218009802e-33)) + -7.3851826335984701e-29)) + 1.0562321161133599e-25)) + 1.3795366937074801e-22)) + 1.35506989727438e-20)) + -6.4187190694828203e-19)) + -8.4430421458063305e-18);
225 double fConst16 = (6.0517637987869703e-53 * fConst0);
226 fConst17 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (fConst16 + -2.3685032978059599e-32)) + 9.1925129482745801e-29)) + 3.44004522978315e-25)) + -5.13933583523309e-20)) + -2.0004598723027898e-18)) + 1.20809279488933e-16);
227 double fConst18 = (5.3995112586813002e-53 * fConst0);
228 fConst19 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (8.0773346218009802e-33 - fConst18)) + -7.3851826335984701e-29)) + -3.1686963483400899e-25)) + 4.0652096918231401e-20)) + 6.4187190694828203e-19)) + -8.4430421458063305e-18);
229 fConst20 = ((fConst5 * ((fConst5 * (-2.29812823706864e-28 - (7.5647047484837103e-53 * fConst5))) + 2.2847711273880299e-22)) + -5.0011496807569701e-18);
230 fConst21 = ((fConst5 * ((fConst5 * ((6.7493890733516199e-53 * fConst5) + 1.8462956583996199e-28)) + -2.0693050405612199e-22)) + 1.6046797673707001e-18);
231 fConst22 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (fConst16 + 2.3685032978059599e-32)) + 9.1925129482745801e-29)) + -3.44004522978315e-25)) + 5.13933583523309e-20)) + -2.0004598723027898e-18)) + -1.20809279488933e-16);
232 fConst23 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (-8.0773346218009802e-33 - fConst18)) + -7.3851826335984701e-29)) + 3.1686963483400899e-25)) + -4.0652096918231401e-20)) + 6.4187190694828203e-19)) + 8.4430421458063305e-18);
233 fConst24 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (-2.3685032978059599e-32 - fConst12)) + 9.1925129482745801e-29)) + 1.14668174326105e-25)) + -1.52318075159202e-22)) + 1.7131119450777e-20)) + 2.0004598723027898e-18)) + -1.20809279488933e-16);
234 fConst25 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst14 + 8.0773346218009802e-33)) + -7.3851826335984701e-29)) + -1.0562321161133599e-25)) + 1.3795366937074801e-22)) + -1.35506989727438e-20)) + -6.4187190694828203e-19)) + 8.4430421458063305e-18);
235 fConst26 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (fConst8 + 1.01507284191684e-32)) + -9.1925129482745801e-29)) + 1.14668174326105e-25)) + -1.7131119450777e-20)) + 2.0004598723027898e-18)) + -5.17754054952568e-17);
236 fConst27 = ((fConst0 * ((fConst0 * ((fConst5 * ((fConst0 * ((fConst0 * (-3.4617148379147101e-33 - fConst10)) + 7.3851826335984701e-29)) + -1.0562321161133599e-25)) + 1.35506989727438e-20)) + -6.4187190694828203e-19)) + 3.6184466339169999e-18);
237 double fConst28 = (1.0806721069262399e-54 * fConst0);
238 fConst29 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (-1.6917880698614e-33 - fConst28)) + 2.29812823706864e-29)) + -5.7334087163052396e-26)) + 3.8079518789800499e-23)) + -8.5655597253884803e-21)) + 5.0011496807569601e-19)) + -8.6292342492094698e-18);
239 double fConst30 = (9.6419843905023102e-55 * fConst0);
240 fConst31 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst30 + 5.7695247298578402e-34)) + -1.8462956583996201e-29)) + 5.2811605805668203e-26)) + -3.4488417342687002e-23)) + 6.7753494863719001e-21)) + -1.6046797673707e-19)) + 6.0307443898616604e-19);
241 fConst32 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (1.6917880698614e-33 - fConst28)) + 2.29812823706864e-29)) + 5.7334087163052396e-26)) + 3.8079518789800499e-23)) + 8.5655597253884803e-21)) + 5.0011496807569601e-19)) + 8.6292342492094698e-18);
242 fConst33 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst30 + -5.7695247298578402e-34)) + -1.8462956583996201e-29)) + -5.2811605805668203e-26)) + -3.4488417342687002e-23)) + -6.7753494863719001e-21)) + -1.6046797673707e-19)) + -6.0307443898616604e-19);
243 double fConst34 = (2.6226779359819302e-32 * fConst0);
244 fConst35 = ((fConst0 * ((fConst0 * ((fConst0 * (-2.30252524666021e-25 - fConst34)) + -1.21809214941527e-22)) + -4.4700687878866801e-21)) + -4.1404252109699403e-20);
245 double fConst36 = (8.60349117319693e-33 * fConst0);
246 fConst37 = (fConst0 * ((fConst0 * ((fConst0 * (fConst36 + 7.4247065053322598e-26)) + 3.8082846258472101e-23)) + 8.2808504219398703e-22));
247 double fConst38 = (1.5736067615891601e-31 * fConst0);
248 fConst39 = ((fConst5 * ((fConst0 * (fConst38 + 9.2101009866408307e-25)) + 2.4361842988305401e-22)) + -8.2808504219398697e-20);
249 double fConst40 = (5.1620947039181596e-32 * fConst0);
250 fConst41 = (fConst5 * ((fConst0 * (-2.9698826021328998e-25 - fConst40)) + -7.6165692516944296e-23));
251 double fConst42 = (3.6717491103746999e-31 * fConst0);
252 double fConst43 = (fConst0 * (-9.2101009866408307e-25 - fConst42));
253 fConst44 = ((fConst0 * ((fConst0 * (fConst43 + 2.4361842988305401e-22)) + 1.7880275151546699e-20)) + 8.2808504219398697e-20);
254 double fConst45 = (1.20448876424757e-31 * fConst0);
255 double fConst46 = (fConst0 * (fConst45 + 2.9698826021328998e-25));
256 fConst47 = (fConst0 * ((fConst0 * (fConst46 + -7.6165692516944296e-23)) + -3.31234016877595e-21));
257 double fConst48 = (fConst0 * (fConst42 + -9.2101009866408307e-25));
258 fConst49 = ((fConst5 * (fConst48 + -7.3085528964916198e-22)) + 2.4842551265819602e-19);
259 double fConst50 = (fConst0 * (2.9698826021328998e-25 - fConst45));
260 fConst51 = (fConst5 * (fConst50 + 2.2849707755083301e-22));
261 fConst52 = ((2.3025252466602099e-24 * fConst5) + -2.6820412727320099e-20);
262 fConst53 = (4.9685102531639197e-21 - (7.4247065053322603e-25 * fConst5));
263 fConst54 = ((fConst5 * (fConst43 + 7.3085528964916198e-22)) + -2.4842551265819602e-19);
264 fConst55 = (fConst5 * (fConst46 + -2.2849707755083301e-22));
265 fConst56 = ((fConst0 * ((fConst0 * (fConst48 + -2.4361842988305401e-22)) + 1.7880275151546699e-20)) + -8.2808504219398697e-20);
266 fConst57 = (fConst0 * ((fConst0 * (fConst50 + 7.6165692516944296e-23)) + -3.31234016877595e-21));
267 fConst58 = ((fConst5 * ((fConst0 * (9.2101009866408307e-25 - fConst38)) + -2.4361842988305401e-22)) + 8.2808504219398697e-20);
268 fConst59 = (fConst5 * ((fConst0 * (fConst40 + -2.9698826021328998e-25)) + 7.6165692516944296e-23));
269 fConst60 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst34 + -2.30252524666021e-25)) + 1.21809214941527e-22)) + -4.4700687878866801e-21)) + 4.1404252109699403e-20);
270 fConst61 = (fConst0 * ((fConst0 * ((fConst0 * (7.4247065053322598e-26 - fConst36)) + -3.8082846258472101e-23)) + 8.2808504219398703e-22));
271 double fConst62 = (3.0207049650607199e-29 * fConst0);
272 fConst63 = ((fConst0 * ((fConst5 * ((fConst0 * (-4.2224699126538501e-26 - fConst62)) + -5.1028451720445405e-22)) + 7.5236423320258805e-18)) + 1.2367938041498899e-16);
273 fConst64 = (0.10471975511965977 / fConst0);
274 fConst65 = std::exp((0.0 - (100.0 / fConst0)));
275 fConst66 = (1.0 - fConst65);
276 fConst67 = std::exp((0.0 - (10.0 / fConst0)));
277 fConst68 = (1.0 - fConst67);
278 double fConst69 = (1.0332413167573e-27 * fConst0);
279 fConst70 = ((fConst0 * ((fConst5 * ((fConst0 * (-4.5813559411368004e-25 - fConst69)) + -1.9536713520122399e-22)) + 2.1593959722292799e-18)) + 2.1255337677114601e-17);
280 double fConst71 = (2.5790740534914202e-28 * fConst0);
281 fConst72 = (fConst0 * ((fConst5 * ((fConst0 * (fConst71 + 1.2774942666629701e-25)) + 1.7800778559222001e-22)) + -7.0142614334478301e-19));
282 double fConst73 = (7.5517624126518095e-29 * fConst0);
283 fConst74 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst73 + 5.27808739081731e-26)) + -2.5514225860222702e-22)) + -4.4594494030519004e-19)) + -3.7618211660129403e-18)) + 1.54599225518736e-16);
284 double fConst75 = (2.5831032918932499e-27 * fConst0);
285 fConst76 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst75 + 5.7266949264210002e-25)) + -9.7683567600611997e-23)) + -1.5643246402074301e-19)) + -1.07969798611464e-18)) + 2.6569172096393299e-17);
286 double fConst77 = (6.4476851337285599e-28 * fConst0);
287 fConst78 = (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (-1.59686783332872e-25 - fConst77)) + 8.9003892796110098e-23)) + 1.46112676135974e-19)) + 3.5071307167239199e-19));
288 fConst79 = ((fConst5 * (1.02056903440891e-21 - (1.00690165502024e-28 * fConst5))) + -1.5047284664051801e-17);
289 fConst80 = ((fConst5 * (3.9073427040244799e-22 - (3.4441377225243296e-27 * fConst5))) + -4.3187919444585699e-18);
290 fConst81 = ((fConst5 * ((8.5969135116380804e-28 * fConst5) + -3.5601557118444002e-22)) + 1.4028522866895701e-18);
291 fConst82 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst73 + -5.27808739081731e-26)) + -2.5514225860222702e-22)) + 4.4594494030519004e-19)) + -3.7618211660129403e-18)) + -1.54599225518736e-16);
292 fConst83 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst75 + -5.7266949264210002e-25)) + -9.7683567600611997e-23)) + 1.5643246402074301e-19)) + -1.07969798611464e-18)) + -2.6569172096393299e-17);
293 fConst84 = (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (1.59686783332872e-25 - fConst77)) + 8.9003892796110098e-23)) + -1.46112676135974e-19)) + 3.5071307167239199e-19));
294 fConst85 = ((fConst0 * ((fConst5 * ((fConst0 * (4.2224699126538501e-26 - fConst62)) + -5.1028451720445405e-22)) + 7.5236423320258805e-18)) + -1.2367938041498899e-16);
295 fConst86 = ((fConst0 * ((fConst5 * ((fConst0 * (4.5813559411368004e-25 - fConst69)) + -1.9536713520122399e-22)) + 2.1593959722292799e-18)) + -2.1255337677114601e-17);
296 fConst87 = (fConst0 * ((fConst5 * ((fConst0 * (fConst71 + -1.2774942666629701e-25)) + 1.7800778559222001e-22)) + -7.0142614334478301e-19));
297 double fConst88 = (5.0345082751012003e-30 * fConst0);
298 fConst89 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst88 + -1.0556174781634599e-26)) + 2.5514225860222702e-22)) + -1.4864831343506299e-19)) + 3.7618211660129403e-18)) + -3.0919845103747099e-17);
299 double fConst90 = (1.72206886126217e-28 * fConst0);
300 fConst91 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst90 + -1.1453389852842001e-25)) + 9.7683567600611997e-23)) + -5.2144154673581001e-20)) + 1.07969798611464e-18)) + -5.3138344192786603e-18);
301 double fConst92 = (4.29845675581904e-29 * fConst0);
302 fConst93 = (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (3.1937356666574297e-26 - fConst92)) + -8.9003892796110098e-23)) + 4.8704225378657897e-20)) + -3.5071307167239199e-19));
303 fConst94 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst88 + 1.0556174781634599e-26)) + 2.5514225860222702e-22)) + 1.4864831343506299e-19)) + 3.7618211660129403e-18)) + 3.0919845103747099e-17);
304 fConst95 = ((fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (fConst90 + 1.1453389852842001e-25)) + 9.7683567600611997e-23)) + 5.2144154673581001e-20)) + 1.07969798611464e-18)) + 5.3138344192786603e-18);
305 fConst96 = (fConst0 * ((fConst0 * ((fConst0 * ((fConst0 * (-3.1937356666574297e-26 - fConst92)) + -8.9003892796110098e-23)) + -4.8704225378657897e-20)) + -3.5071307167239199e-19));
306 double fConst97 = (9.6574497270343303e-31 * fConst0);
307 fConst98 = ((fConst0 * ((fConst0 * ((fConst0 * (-3.0882218864428199e-26 - fConst97)) + -4.8262471952169603e-23)) + -2.8826460531036599e-21)) + -1.4900785581079499e-20);
308 double fConst99 = (7.1663335121242097e-31 * fConst0);
309 fConst100 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.2201212507437399e-26 - fConst99)) + -1.8312671176616301e-23)) + -1.2159222901252701e-21)) + -1.2608516331659e-20);
310 double fConst101 = (7.1808255629623197e-31 * fConst0);
311 fConst102 = (fConst0 * ((fConst0 * ((fConst0 * (fConst101 + 1.2196809675606999e-26)) + 1.8163521797294801e-23)) + 9.8345184835124996e-22));
312 double fConst103 = (5.7944698362206003e-30 * fConst0);
313 fConst104 = ((fConst5 * ((fConst0 * (fConst103 + 1.23528875457713e-25)) + 9.6524943904339299e-23)) + -2.9801571162159101e-20);
314 double fConst105 = (4.2998001072745197e-30 * fConst0);
315 fConst106 = ((fConst5 * ((fConst0 * (fConst105 + 4.8804850029749597e-26)) + 3.6625342353232602e-23)) + -2.5217032663318e-20);
316 double fConst107 = (4.3084953377773899e-30 * fConst0);
317 fConst108 = (fConst5 * ((fConst0 * (-4.8787238702428101e-26 - fConst107)) + -3.6327043594589501e-23));
318 double fConst109 = (1.44861745905515e-29 * fConst0);
319 fConst110 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.54411094322141e-25 - fConst109)) + 4.8262471952169603e-23)) + 8.6479381593109902e-21)) + 1.4900785581079499e-20);
320 double fConst111 = (1.07495002681863e-29 * fConst0);
321 fConst112 = ((fConst0 * ((fConst0 * ((fConst0 * (-6.1006062537187001e-26 - fConst111)) + 1.8312671176616301e-23)) + 3.6477668703758198e-21)) + 1.2608516331659e-20);
322 double fConst113 = (1.07712383444435e-29 * fConst0);
323 fConst114 = (fConst0 * ((fConst0 * ((fConst0 * (fConst113 + 6.0984048378035096e-26)) + -1.8163521797294801e-23)) + -2.9503555450537499e-21));
324 fConst115 = ((fConst5 * ((1.93148994540687e-29 * fConst5) + -1.93049887808679e-22)) + 5.9603142324318202e-20);
325 fConst116 = ((fConst5 * ((1.4332667024248399e-29 * fConst5) + -7.3250684706465204e-23)) + 5.0434065326635999e-20);
326 fConst117 = (fConst5 * (7.2654087189179003e-23 - (1.43616511259246e-29 * fConst5)));
327 fConst118 = ((fConst0 * ((fConst0 * ((fConst0 * (1.54411094322141e-25 - fConst109)) + 4.8262471952169603e-23)) + -8.6479381593109902e-21)) + 1.4900785581079499e-20);
328 fConst119 = ((fConst0 * ((fConst0 * ((fConst0 * (6.1006062537187001e-26 - fConst111)) + 1.8312671176616301e-23)) + -3.6477668703758198e-21)) + 1.2608516331659e-20);
329 fConst120 = (fConst0 * ((fConst0 * ((fConst0 * (fConst113 + -6.0984048378035096e-26)) + -1.8163521797294801e-23)) + 2.9503555450537499e-21));
330 fConst121 = ((fConst5 * ((fConst0 * (fConst103 + -1.23528875457713e-25)) + 9.6524943904339299e-23)) + -2.9801571162159101e-20);
331 fConst122 = ((fConst5 * ((fConst0 * (fConst105 + -4.8804850029749597e-26)) + 3.6625342353232602e-23)) + -2.5217032663318e-20);
332 fConst123 = (fConst5 * ((fConst0 * (4.8787238702428101e-26 - fConst107)) + -3.6327043594589501e-23));
333 fConst124 = ((fConst0 * ((fConst0 * ((fConst0 * (3.0882218864428199e-26 - fConst97)) + -4.8262471952169603e-23)) + 2.8826460531036599e-21)) + -1.4900785581079499e-20);
334 fConst125 = ((fConst0 * ((fConst0 * ((fConst0 * (1.2201212507437399e-26 - fConst99)) + -1.8312671176616301e-23)) + 1.2159222901252701e-21)) + -1.2608516331659e-20);
335 fConst126 = (fConst0 * ((fConst0 * ((fConst0 * (fConst101 + -1.2196809675606999e-26)) + 1.8163521797294801e-23)) + -9.8345184835124996e-22));
336 double fConst127 = (1.0 / std::tan((270.1769682087222 / fConst0)));
337 fConst128 = (1.0 / (fConst127 + 1.0));
338 fConst129 = (1.0 - fConst127);
339 fConst130 = (0.0 - fConst4);
340 fConst131 = ((1.0 - fConst2) / fConst3);
341 clear_state_f();
342 }
343
init_static(unsigned int sample_rate,PluginDef * p)344 void Dsp::init_static(unsigned int sample_rate, PluginDef *p)
345 {
346 static_cast<Dsp*>(p)->init(sample_rate);
347 }
348
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)349 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
350 {
351 double fSlow0 = (0.01 * double(fVslider0));
352 double fSlow1 = (0.0070000000000000062 * double(fVslider1));
353 int iSlow2 = int(double(fCheckbox0));
354 int iSlow3 = (iSlow2 == 0);
355 int iSlow4 = (iSlow2 == 1);
356 double fSlow5 = (fConst64 * double(fVslider2));
357 double fSlow6 = (0.004073836948085289 * (std::exp((1.0 - double(fVslider3))) + -1.0));
358 double fSlow7 = (1.0 - fSlow0);
359 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
360 double fTemp0 = double(input0[i0]);
361 iVec0[0] = 1;
362 fRec10[0] = (fSlow1 + (0.99299999999999999 * fRec10[1]));
363 double fTemp1 = ((fConst0 * (fConst32 + (fConst33 * fRec10[0]))) + 3.0153721949308302e-17);
364 fRec9[0] = ((fSlow0 * fTemp0) - (((((((((fRec9[1] * ((fConst0 * (fConst9 + (fConst11 * fRec10[0]))) + 2.4122977559446701e-16)) + (fRec9[2] * ((fConst0 * (fConst13 + (fConst15 * fRec10[0]))) + 8.4430421458063303e-16))) + (fRec9[3] * ((fConst0 * (fConst17 + (fConst19 * fRec10[0]))) + 1.68860842916127e-15))) + (fRec9[4] * ((fConst5 * (fConst20 + (fConst21 * fRec10[0]))) + 2.1107605364515801e-15))) + (fRec9[5] * ((fConst0 * (fConst22 + (fConst23 * fRec10[0]))) + 1.68860842916127e-15))) + (fRec9[6] * ((fConst0 * (fConst24 + (fConst25 * fRec10[0]))) + 8.4430421458063303e-16))) + (fRec9[7] * ((fConst0 * (fConst26 + (fConst27 * fRec10[0]))) + 2.4122977559446701e-16))) + (fRec9[8] * ((fConst0 * (fConst29 + (fConst31 * fRec10[0]))) + 3.0153721949308302e-17))) / fTemp1));
365 double fTemp2 = (fConst7 * ((((((((((fRec9[0] * (fConst35 + (fConst37 * fRec10[0]))) + (fRec9[1] * (fConst39 + (fConst41 * fRec10[0])))) + (fRec9[2] * (fConst44 + (fConst47 * fRec10[0])))) + (fRec9[3] * (fConst49 + (fConst51 * fRec10[0])))) + (fConst0 * (fRec9[4] * (fConst52 + (fConst53 * fRec10[0]))))) + (fRec9[5] * (fConst54 + (fConst55 * fRec10[0])))) + (fRec9[6] * (fConst56 + (fConst57 * fRec10[0])))) + (fRec9[7] * (fConst58 + (fConst59 * fRec10[0])))) + (fRec9[8] * (fConst60 + (fConst61 * fRec10[0])))) / fTemp1));
366 fRec13[0] = (fRec13[1] + (fSlow5 * (0.0 - fRec11[1])));
367 fRec12[0] = ((fSlow5 * fRec13[0]) + (double((1 - iVec0[1])) + fRec12[1]));
368 fRec11[0] = fRec12[0];
369 double fTemp3 = std::fabs(fTemp2);
370 fRec15[0] = std::max<double>(fTemp3, ((fConst67 * fRec15[1]) + (fConst68 * fTemp3)));
371 fRec14[0] = ((fConst65 * fRec14[1]) + (fConst66 * fRec15[0]));
372 double fThen0 = (1.0 - std::max<double>(0.089999999999999997, std::min<double>(0.90000000000000002, (0.5 * (fRec11[0] + 1.0)))));
373 double fElse0 = std::max<double>(0.089999999999999997, std::min<double>(0.90000000000000002, fRec14[0]));
374 fRec16[0] = (fSlow6 + (0.99299999999999999 * fRec16[1]));
375 double fThen1 = (iSlow4 ? fElse0 : fThen0);
376 double fTemp4 = (iSlow3 ? fRec16[0] : fThen1);
377 double fTemp5 = ((fConst0 * (fConst94 + (fTemp4 * (fConst95 + (fConst96 * fTemp4))))) + 8.0512642716343297e-17);
378 fRec8[0] = (fTemp2 - (((((((fRec8[1] * ((fConst0 * (fConst63 + (fTemp4 * (fConst70 + (fConst72 * fTemp4))))) + 4.8307585629805998e-16)) + (fRec8[2] * ((fConst0 * (fConst74 + (fTemp4 * (fConst76 + (fConst78 * fTemp4))))) + 1.2076896407451501e-15))) + (fRec8[3] * ((fConst5 * (fConst79 + (fTemp4 * (fConst80 + (fConst81 * fTemp4))))) + 1.6102528543268701e-15))) + (fRec8[4] * ((fConst0 * (fConst82 + (fTemp4 * (fConst83 + (fConst84 * fTemp4))))) + 1.2076896407451501e-15))) + (fRec8[5] * ((fConst0 * (fConst85 + (fTemp4 * (fConst86 + (fConst87 * fTemp4))))) + 4.8307585629805998e-16))) + (fRec8[6] * ((fConst0 * (fConst89 + (fTemp4 * (fConst91 + (fConst93 * fTemp4))))) + 8.0512642716343297e-17))) / fTemp5));
379 double fTemp6 = ((((((((fRec8[0] * (fConst98 + (fTemp4 * (fConst100 + (fConst102 * fTemp4))))) + (fRec8[1] * (fConst104 + (fTemp4 * (fConst106 + (fConst108 * fTemp4)))))) + (fRec8[2] * (fConst110 + (fTemp4 * (fConst112 + (fConst114 * fTemp4)))))) + (fRec8[3] * (fConst115 + (fTemp4 * (fConst116 + (fConst117 * fTemp4)))))) + (fRec8[4] * (fConst118 + (fTemp4 * (fConst119 + (fConst120 * fTemp4)))))) + (fRec8[5] * (fConst121 + (fTemp4 * (fConst122 + (fConst123 * fTemp4)))))) + (fRec8[6] * (fConst124 + (fTemp4 * (fConst125 + (fConst126 * fTemp4)))))) / fTemp5);
380 fVec1[0] = fTemp6;
381 fRec7[0] = ((fConst6 * (fTemp6 + fVec1[1])) - (0.86056958506478287 * fRec7[1]));
382 fRec6[0] = (fRec7[0] - ((1.8405051250752198 * fRec6[1]) + (0.86129424393186271 * fRec6[2])));
383 fRec17[0] = (fConst128 * ((0.027 * (fRec5[1] + fRec5[2])) - (fConst129 * fRec17[1])));
384 fRec5[0] = (double(Ftrany(int(TRANY_TABLE_KT88_68k), double((((0.92544984225177063 * (fRec6[0] + fRec6[2])) + (fRec17[0] + (1.8508996845035413 * fRec6[1]))) + -5.5628950000000001)))) + -43.966851851851828);
385 fRec4[0] = ((0.025000000000000001 * ((fConst4 * fRec5[0]) + (fConst130 * fRec5[1]))) - (fConst131 * fRec4[1]));
386 fRec3[0] = ((0.93028479253239138 * (fRec4[0] + fRec4[1])) - (0.86056958506478287 * fRec3[1]));
387 fRec2[0] = (fRec3[0] - ((1.8405051250752198 * fRec2[1]) + (0.86129424393186271 * fRec2[2])));
388 fRec18[0] = (fConst128 * ((0.027 * (fRec1[1] + fRec1[2])) - (fConst129 * fRec18[1])));
389 fRec1[0] = (double(Ftrany(int(TRANY_TABLE_KT88_68k), double((((0.92544984225177063 * (fRec2[0] + fRec2[2])) + (fRec18[0] + (1.8508996845035413 * fRec2[1]))) + -5.5628950000000001)))) + -43.966851851851828);
390 fRec0[0] = ((0.025000000000000001 * ((fConst4 * fRec1[0]) + (fConst130 * fRec1[1]))) - (fConst131 * fRec0[1]));
391 output0[i0] = FAUSTFLOAT((fRec0[0] + (fSlow7 * fTemp0)));
392 iVec0[1] = iVec0[0];
393 fRec10[1] = fRec10[0];
394 for (int j0 = 8; (j0 > 0); j0 = (j0 - 1)) {
395 fRec9[j0] = fRec9[(j0 - 1)];
396 }
397 fRec13[1] = fRec13[0];
398 fRec12[1] = fRec12[0];
399 fRec11[1] = fRec11[0];
400 fRec15[1] = fRec15[0];
401 fRec14[1] = fRec14[0];
402 fRec16[1] = fRec16[0];
403 for (int j1 = 6; (j1 > 0); j1 = (j1 - 1)) {
404 fRec8[j1] = fRec8[(j1 - 1)];
405 }
406 fVec1[1] = fVec1[0];
407 fRec7[1] = fRec7[0];
408 fRec6[2] = fRec6[1];
409 fRec6[1] = fRec6[0];
410 fRec17[1] = fRec17[0];
411 fRec5[2] = fRec5[1];
412 fRec5[1] = fRec5[0];
413 fRec4[1] = fRec4[0];
414 fRec3[1] = fRec3[0];
415 fRec2[2] = fRec2[1];
416 fRec2[1] = fRec2[0];
417 fRec18[1] = fRec18[0];
418 fRec1[2] = fRec1[1];
419 fRec1[1] = fRec1[0];
420 fRec0[1] = fRec0[0];
421 }
422 }
423
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginDef * p)424 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef *p)
425 {
426 static_cast<Dsp*>(p)->compute(count, input0, output0);
427 }
428
register_par(const ParamReg & reg)429 int Dsp::register_par(const ParamReg& reg)
430 {
431 reg.registerFloatVar("rolandwah.Fuzz",N_("Fuzz"),"S","",&fVslider1, 0.5, 0.0, 1.0, 0.01, 0);
432 reg.registerFloatVar("rolandwah.Wah",N_("Wah"),"S","",&fVslider3, 0.5, 0.02, 1.0, 0.01, 0);
433 reg.registerFloatVar("rolandwah.lfobpm",N_("Alien Freq"),"S",N_("LFO in Beats per Minute"),&fVslider2, 24.0, 24.0, 360.0, 1.0, 0);
434 static const value_pair fCheckbox0_values[] = {{"manual"},{"auto"},{"alien"},{0}};
435 reg.registerFloatVar("rolandwah.mode","","B","",&fCheckbox0, 0.0, 0.0, 1.0, 1.0, fCheckbox0_values);
436 reg.registerFloatVar("rolandwah.wet_dry",N_("Dry/Wet"),"S",N_("percentage of processed signal in output signal"),&fVslider0, 100.0, 0.0, 100.0, 1.0, 0);
437 return 0;
438 }
439
register_params_static(const ParamReg & reg)440 int Dsp::register_params_static(const ParamReg& reg)
441 {
442 return static_cast<Dsp*>(reg.plugin)->register_par(reg);
443 }
444
445 const char *Dsp::glade_def = "\
446 <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
447 <!-- Generated with glade 3.22.1 -->\n\
448 <interface>\n\
449 <requires lib=\"gtk+\" version=\"3.20\"/>\n\
450 <requires lib=\"gxwidgets\" version=\"0.0\"/>\n\
451 <object class=\"GtkWindow\" id=\"window1\">\n\
452 <property name=\"can_focus\">False</property>\n\
453 <child>\n\
454 <placeholder/>\n\
455 </child>\n\
456 <child>\n\
457 <object class=\"GtkBox\" id=\"vbox1\">\n\
458 <property name=\"visible\">True</property>\n\
459 <property name=\"can_focus\">False</property>\n\
460 <property name=\"orientation\">vertical</property>\n\
461 <child>\n\
462 <object class=\"GtkBox\" id=\"rackbox\">\n\
463 <property name=\"visible\">True</property>\n\
464 <property name=\"can_focus\">False</property>\n\
465 <property name=\"spacing\">4</property>\n\
466 <child>\n\
467 <object class=\"GtkBox\" id=\"hbox1\">\n\
468 <property name=\"visible\">True</property>\n\
469 <property name=\"can_focus\">False</property>\n\
470 <property name=\"spacing\">10</property>\n\
471 <child>\n\
472 <object class=\"GtkBox\" id=\"vbox6\">\n\
473 <property name=\"visible\">True</property>\n\
474 <property name=\"can_focus\">False</property>\n\
475 <property name=\"orientation\">vertical</property>\n\
476 <property name=\"spacing\">23</property>\n\
477 <child>\n\
478 <object class=\"GtkLabel\" id=\"label01:rack_label\">\n\
479 <property name=\"visible\">True</property>\n\
480 <property name=\"can_focus\">False</property>\n\
481 <property name=\"label\" translatable=\"yes\">Mode</property>\n\
482 </object>\n\
483 <packing>\n\
484 <property name=\"expand\">False</property>\n\
485 <property name=\"fill\">False</property>\n\
486 <property name=\"position\">0</property>\n\
487 </packing>\n\
488 </child>\n\
489 <child>\n\
490 <object class=\"GxSelector\" id=\"gxselector1\">\n\
491 <property name=\"visible\">True</property>\n\
492 <property name=\"can_focus\">True</property>\n\
493 <property name=\"receives_default\">True</property>\n\
494 <property name=\"var_id\">rolandwah.mode</property>\n\
495 </object>\n\
496 <packing>\n\
497 <property name=\"expand\">False</property>\n\
498 <property name=\"fill\">False</property>\n\
499 <property name=\"position\">1</property>\n\
500 </packing>\n\
501 </child>\n\
502 </object>\n\
503 <packing>\n\
504 <property name=\"expand\">False</property>\n\
505 <property name=\"fill\">False</property>\n\
506 <property name=\"position\">0</property>\n\
507 </packing>\n\
508 </child>\n\
509 <child>\n\
510 <object class=\"GtkBox\" id=\"vbox2\">\n\
511 <property name=\"visible\">True</property>\n\
512 <property name=\"can_focus\">False</property>\n\
513 <property name=\"orientation\">vertical</property>\n\
514 <child>\n\
515 <object class=\"GtkLabel\" id=\"label1:rack_label\">\n\
516 <property name=\"visible\">True</property>\n\
517 <property name=\"can_focus\">False</property>\n\
518 <property name=\"label\" translatable=\"yes\">label</property>\n\
519 </object>\n\
520 <packing>\n\
521 <property name=\"expand\">False</property>\n\
522 <property name=\"fill\">False</property>\n\
523 <property name=\"position\">0</property>\n\
524 </packing>\n\
525 </child>\n\
526 <child>\n\
527 <object class=\"GxSmallKnobR\" id=\"gxbigknob1\">\n\
528 <property name=\"visible\">True</property>\n\
529 <property name=\"can_focus\">True</property>\n\
530 <property name=\"receives_default\">True</property>\n\
531 <property name=\"var_id\">rolandwah.lfobpm</property>\n\
532 <property name=\"label_ref\">label1:rack_label</property>\n\
533 </object>\n\
534 <packing>\n\
535 <property name=\"expand\">False</property>\n\
536 <property name=\"fill\">False</property>\n\
537 <property name=\"position\">1</property>\n\
538 </packing>\n\
539 </child>\n\
540 </object>\n\
541 <packing>\n\
542 <property name=\"expand\">False</property>\n\
543 <property name=\"fill\">False</property>\n\
544 <property name=\"position\">1</property>\n\
545 </packing>\n\
546 </child>\n\
547 <child>\n\
548 <object class=\"GtkBox\" id=\"vbox3\">\n\
549 <property name=\"visible\">True</property>\n\
550 <property name=\"can_focus\">False</property>\n\
551 <property name=\"orientation\">vertical</property>\n\
552 <child>\n\
553 <object class=\"GtkLabel\" id=\"label2:rack_label\">\n\
554 <property name=\"visible\">True</property>\n\
555 <property name=\"can_focus\">False</property>\n\
556 <property name=\"label\" translatable=\"yes\">label</property>\n\
557 </object>\n\
558 <packing>\n\
559 <property name=\"expand\">False</property>\n\
560 <property name=\"fill\">False</property>\n\
561 <property name=\"position\">0</property>\n\
562 </packing>\n\
563 </child>\n\
564 <child>\n\
565 <object class=\"GxSmallKnobR\" id=\"gxbigknob2\">\n\
566 <property name=\"visible\">True</property>\n\
567 <property name=\"can_focus\">True</property>\n\
568 <property name=\"receives_default\">True</property>\n\
569 <property name=\"var_id\">rolandwah.Fuzz</property>\n\
570 <property name=\"label_ref\">label2:rack_label</property>\n\
571 </object>\n\
572 <packing>\n\
573 <property name=\"expand\">False</property>\n\
574 <property name=\"fill\">False</property>\n\
575 <property name=\"position\">1</property>\n\
576 </packing>\n\
577 </child>\n\
578 </object>\n\
579 <packing>\n\
580 <property name=\"expand\">False</property>\n\
581 <property name=\"fill\">False</property>\n\
582 <property name=\"position\">2</property>\n\
583 </packing>\n\
584 </child>\n\
585 <child>\n\
586 <object class=\"GtkBox\" id=\"vbox4\">\n\
587 <property name=\"visible\">True</property>\n\
588 <property name=\"can_focus\">False</property>\n\
589 <property name=\"orientation\">vertical</property>\n\
590 <child>\n\
591 <object class=\"GtkLabel\" id=\"label3:rack_label\">\n\
592 <property name=\"visible\">True</property>\n\
593 <property name=\"can_focus\">False</property>\n\
594 <property name=\"label\" translatable=\"yes\">label</property>\n\
595 </object>\n\
596 <packing>\n\
597 <property name=\"expand\">False</property>\n\
598 <property name=\"fill\">False</property>\n\
599 <property name=\"position\">0</property>\n\
600 </packing>\n\
601 </child>\n\
602 <child>\n\
603 <object class=\"GxMidKnob\" id=\"gxbigknob3\">\n\
604 <property name=\"visible\">True</property>\n\
605 <property name=\"can_focus\">True</property>\n\
606 <property name=\"receives_default\">True</property>\n\
607 <property name=\"var_id\">rolandwah.Wah</property>\n\
608 <property name=\"label_ref\">label3:rack_label</property>\n\
609 </object>\n\
610 <packing>\n\
611 <property name=\"expand\">False</property>\n\
612 <property name=\"fill\">False</property>\n\
613 <property name=\"position\">1</property>\n\
614 </packing>\n\
615 </child>\n\
616 </object>\n\
617 <packing>\n\
618 <property name=\"expand\">False</property>\n\
619 <property name=\"fill\">False</property>\n\
620 <property name=\"position\">3</property>\n\
621 </packing>\n\
622 </child>\n\
623 <child>\n\
624 <object class=\"GtkBox\" id=\"vbox5\">\n\
625 <property name=\"visible\">True</property>\n\
626 <property name=\"can_focus\">False</property>\n\
627 <property name=\"orientation\">vertical</property>\n\
628 <child>\n\
629 <object class=\"GtkLabel\" id=\"label4:rack_label\">\n\
630 <property name=\"visible\">True</property>\n\
631 <property name=\"can_focus\">False</property>\n\
632 <property name=\"label\" translatable=\"yes\">label</property>\n\
633 </object>\n\
634 <packing>\n\
635 <property name=\"expand\">False</property>\n\
636 <property name=\"fill\">False</property>\n\
637 <property name=\"position\">0</property>\n\
638 </packing>\n\
639 </child>\n\
640 <child>\n\
641 <object class=\"GxSmallKnobR\" id=\"gxbigknob4\">\n\
642 <property name=\"visible\">True</property>\n\
643 <property name=\"can_focus\">True</property>\n\
644 <property name=\"receives_default\">True</property>\n\
645 <property name=\"var_id\">rolandwah.wet_dry</property>\n\
646 <property name=\"label_ref\">label4:rack_label</property>\n\
647 </object>\n\
648 <packing>\n\
649 <property name=\"expand\">False</property>\n\
650 <property name=\"fill\">False</property>\n\
651 <property name=\"position\">1</property>\n\
652 </packing>\n\
653 </child>\n\
654 </object>\n\
655 <packing>\n\
656 <property name=\"expand\">False</property>\n\
657 <property name=\"fill\">False</property>\n\
658 <property name=\"position\">4</property>\n\
659 </packing>\n\
660 </child>\n\
661 </object>\n\
662 <packing>\n\
663 <property name=\"expand\">True</property>\n\
664 <property name=\"fill\">False</property>\n\
665 <property name=\"pack_type\">end</property>\n\
666 <property name=\"position\">0</property>\n\
667 </packing>\n\
668 </child>\n\
669 </object>\n\
670 <packing>\n\
671 <property name=\"expand\">True</property>\n\
672 <property name=\"fill\">False</property>\n\
673 <property name=\"position\">0</property>\n\
674 </packing>\n\
675 </child>\n\
676 <child>\n\
677 <object class=\"GtkBox\" id=\"minibox\">\n\
678 <property name=\"visible\">True</property>\n\
679 <property name=\"can_focus\">False</property>\n\
680 <property name=\"spacing\">4</property>\n\
681 <child>\n\
682 <object class=\"GxHSlider\" id=\"gxhslider1\">\n\
683 <property name=\"visible\">True</property>\n\
684 <property name=\"can_focus\">True</property>\n\
685 <property name=\"receives_default\">True</property>\n\
686 <property name=\"round_digits\">0</property>\n\
687 <property name=\"var_id\">rolandwah.Wah</property>\n\
688 <property name=\"show_value\">False</property>\n\
689 <property name=\"value_position\">right</property>\n\
690 <property name=\"value_xalign\">0.52000000000000002</property>\n\
691 <property name=\"label_ref\">label0:rack_label</property>\n\
692 </object>\n\
693 <packing>\n\
694 <property name=\"expand\">False</property>\n\
695 <property name=\"fill\">False</property>\n\
696 <property name=\"position\">0</property>\n\
697 </packing>\n\
698 </child>\n\
699 <child>\n\
700 <object class=\"GtkLabel\" id=\"label0:rack_label\">\n\
701 <property name=\"visible\">True</property>\n\
702 <property name=\"can_focus\">False</property>\n\
703 <property name=\"label\" translatable=\"yes\">Wah</property>\n\
704 <property name=\"xalign\">0</property>\n\
705 </object>\n\
706 <packing>\n\
707 <property name=\"expand\">False</property>\n\
708 <property name=\"fill\">False</property>\n\
709 <property name=\"position\">1</property>\n\
710 </packing>\n\
711 </child>\n\
712 </object>\n\
713 <packing>\n\
714 <property name=\"expand\">True</property>\n\
715 <property name=\"fill\">True</property>\n\
716 <property name=\"position\">1</property>\n\
717 </packing>\n\
718 </child>\n\
719 </object>\n\
720 </child>\n\
721 </object>\n\
722 </interface>\n\
723 ";
724
load_ui_f(const UiBuilder & b,int form)725 inline int Dsp::load_ui_f(const UiBuilder& b, int form)
726 {
727 if (form & UI_FORM_GLADE) {
728 b.load_glade(glade_def);
729 return 0;
730 }
731 if (form & UI_FORM_STACK) {
732 #define PARAM(p) ("rolandwah" "." p)
733
734 b.openHorizontalhideBox("");
735 b.create_master_slider(PARAM("Wah"), "Wah");
736 b.closeBox();
737 b.openHorizontalBox("");
738
739 b.create_selector(PARAM("mode"), "Mode");
740 b.create_small_rackknobr(PARAM("lfobpm"), "Alien Freq");
741 b.create_small_rackknobr(PARAM("Fuzz"), "Fuzz");
742 // b.create_small_rackknobr(PARAM("Gain"), "Gain");
743 b.create_small_rackknobr(PARAM("Wah"), "Wah");
744 b.create_small_rackknobr(PARAM("wet_dry"), "dry/wet");
745 b.closeBox();
746
747 #undef PARAM
748 return 0;
749 }
750 return -1;
751 }
752
load_ui_f_static(const UiBuilder & b,int form)753 int Dsp::load_ui_f_static(const UiBuilder& b, int form)
754 {
755 return static_cast<Dsp*>(b.plugin)->load_ui_f(b, form);
756 }
plugin()757 PluginDef *plugin() {
758 return new Dsp();
759 }
760
del_instance(PluginDef * p)761 void Dsp::del_instance(PluginDef *p)
762 {
763 delete static_cast<Dsp*>(p);
764 }
765
766 } // end namespace rolandwah
767 } // end namespace pluginlib
768