1 // generated from file '../src/plugins/ffreak.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 <string.h>
7
8 namespace pluginlib {
9 namespace ffreak {
10
11 class Dsp: public PluginDef {
12 private:
13 int fSampleRate;
14 double fConst0;
15 double fConst1;
16 FAUSTFLOAT fVslider0;
17 double fRec0[2];
18 FAUSTFLOAT fVslider1;
19 double fRec2[2];
20 double fConst3;
21 FAUSTFLOAT fVslider2;
22 double fRec3[2];
23 double fConst4;
24 double fConst6;
25 double fConst8;
26 FAUSTFLOAT fVslider3;
27 double fRec4[2];
28 double fConst10;
29 double fConst11;
30 double fConst13;
31 double fConst14;
32 double fConst16;
33 double fConst18;
34 double fConst20;
35 double fConst21;
36 double fConst23;
37 double fConst24;
38 double fConst26;
39 double fConst28;
40 double fConst30;
41 double fConst31;
42 double fConst33;
43 double fConst34;
44 double fConst36;
45 double fConst38;
46 double fConst40;
47 double fConst41;
48 double fConst42;
49 double fConst43;
50 double fConst44;
51 double fConst45;
52 double fConst46;
53 double fConst47;
54 double fConst48;
55 double fConst49;
56 double fConst50;
57 double fConst51;
58 double fConst52;
59 double fConst53;
60 double fConst54;
61 double fConst55;
62 double fConst56;
63 double fConst57;
64 double fConst58;
65 double fConst59;
66 double fConst60;
67 double fConst61;
68 double fConst62;
69 double fConst63;
70 double fConst64;
71 double fConst65;
72 double fConst67;
73 double fConst68;
74 double fConst70;
75 double fConst72;
76 double fConst74;
77 double fConst75;
78 double fConst77;
79 double fConst78;
80 double fConst80;
81 double fConst82;
82 double fConst84;
83 double fConst85;
84 double fConst86;
85 double fConst87;
86 double fConst88;
87 double fConst89;
88 double fConst90;
89 double fConst91;
90 double fConst92;
91 double fConst93;
92 double fConst94;
93 double fConst95;
94 double fConst96;
95 double fConst97;
96 double fRec1[6];
97 double fConst99;
98 double fConst101;
99 double fConst103;
100 double fConst105;
101 double fConst107;
102 double fConst109;
103 double fConst111;
104 double fConst113;
105 double fConst115;
106 double fConst117;
107 double fConst119;
108 double fConst121;
109 double fConst123;
110 double fConst125;
111 double fConst127;
112 double fConst129;
113 double fConst131;
114 double fConst133;
115 double fConst135;
116 double fConst137;
117 double fConst139;
118 double fConst141;
119 double fConst143;
120 double fConst145;
121 double fConst146;
122 double fConst147;
123 double fConst148;
124 double fConst149;
125 double fConst150;
126 double fConst151;
127 double fConst152;
128 double fConst153;
129 double fConst154;
130 double fConst155;
131 double fConst156;
132 double fConst157;
133 double fConst158;
134 double fConst159;
135 double fConst160;
136 double fConst161;
137 double fConst162;
138 double fConst163;
139 double fConst164;
140 double fConst165;
141 double fConst166;
142 double fConst167;
143 double fConst168;
144 double fConst169;
145
146 FAUSTFLOAT fsliderdw0;
147 void clear_state_f();
148 int load_ui_f(const UiBuilder& b, int form);
149 static const char *glade_def;
150 void init(unsigned int sample_rate);
151 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
152 int register_par(const ParamReg& reg);
153
154 static void clear_state_f_static(PluginDef*);
155 static int load_ui_f_static(const UiBuilder& b, int form);
156 static void init_static(unsigned int sample_rate, PluginDef*);
157 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef*);
158 static int register_params_static(const ParamReg& reg);
159 static void del_instance(PluginDef *p);
160 public:
161 Dsp();
162 ~Dsp();
163 };
164
165
166
Dsp()167 Dsp::Dsp()
168 : PluginDef() {
169 version = PLUGINDEF_VERSION;
170 flags = 0;
171 id = "ffreak";
172 name = N_("Fat Furry Freak");
173 groups = 0;
174 description = N_("Extreme Bass Fuzz Monster"); // description (tooltip)
175 category = N_("Fuzz"); // category
176 shortname = N_("Fat FFreak"); // shortname
177 mono_audio = compute_static;
178 stereo_audio = 0;
179 set_samplerate = init_static;
180 activate_plugin = 0;
181 register_params = register_params_static;
182 load_ui = load_ui_f_static;
183 clear_state = clear_state_f_static;
184 delete_instance = del_instance;
185 }
186
~Dsp()187 Dsp::~Dsp() {
188 }
189
clear_state_f()190 inline void Dsp::clear_state_f()
191 {
192 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) fRec0[l0] = 0.0;
193 for (int l1 = 0; (l1 < 2); l1 = (l1 + 1)) fRec2[l1] = 0.0;
194 for (int l2 = 0; (l2 < 2); l2 = (l2 + 1)) fRec3[l2] = 0.0;
195 for (int l3 = 0; (l3 < 2); l3 = (l3 + 1)) fRec4[l3] = 0.0;
196 for (int l4 = 0; (l4 < 6); l4 = (l4 + 1)) fRec1[l4] = 0.0;
197 }
198
clear_state_f_static(PluginDef * p)199 void Dsp::clear_state_f_static(PluginDef *p)
200 {
201 static_cast<Dsp*>(p)->clear_state_f();
202 }
203
init(unsigned int sample_rate)204 inline void Dsp::init(unsigned int sample_rate)
205 {
206 fSampleRate = sample_rate;
207 fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
208 fConst1 = mydsp_faustpower2_f(fConst0);
209 double fConst2 = (3.3502661673929698e-23 * fConst0);
210 fConst3 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst2 + 1.7873480648156699e-19)) + 1.90595008624394e-17)) + -1.88638248347695e-16)) + -6.5201876680611895e-16);
211 fConst4 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst2 + 1.72846172283149e-19)) + 3.8072571713818497e-18)) + -3.2477077720450097e-17)) + -8.4419470762099498e-17);
212 double fConst5 = (2.3822005892794199e-23 * fConst0);
213 fConst6 = ((fConst0 * ((fConst0 * ((fConst0 * (-7.2922594272322706e-20 - fConst5)) + -2.4071143573057499e-18)) + 2.16097599157672e-17)) + 5.6493276205652504e-17);
214 double fConst7 = (2.3264772378957199e-23 * fConst0);
215 fConst8 = (fConst0 * ((fConst0 * ((fConst0 * (fConst7 + 7.1203189810367999e-20)) + 2.3276290219993299e-18)) + -1.8831092068550801e-17));
216 double fConst9 = (3.2718982668413897e-23 * fConst0);
217 fConst10 = (fConst0 * ((fConst0 * ((fConst0 * (-1.6878386115029699e-19 - fConst9)) + -3.66325429672487e-18)) + 2.8139823587366501e-17));
218 fConst11 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.74534751099098e-19 - fConst9)) + -1.8556852326307699e-17)) + 1.66102929456909e-16)) + 1.50114464615909e-16);
219 double fConst12 = (4.0211030798770698e-23 * fConst0);
220 fConst13 = ((fConst0 * ((fConst0 * ((fConst0 * (-2.3867993953651901e-19 - fConst12)) + -9.4400434462260698e-17)) + 2.24958749395835e-14)) + 8.8135235912485604e-14);
221 fConst14 = ((fConst0 * ((fConst0 * ((fConst0 * (-2.31612201055921e-19 - fConst12)) + -7.3735356988903701e-17)) + 4.0005445034622704e-15)) + 1.1777572946099699e-14);
222 double fConst15 = (2.8591979406491397e-23 * fConst0);
223 fConst16 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst15 + 1.0470050822638701e-19)) + 3.2048993155084302e-17)) + -2.6598801796002799e-15)) + -7.8815192214512497e-15);
224 double fConst17 = (2.7923299189887e-23 * fConst0);
225 fConst18 = (fConst0 * ((fConst0 * ((fConst0 * (-1.0263576587599599e-19 - fConst17)) + -3.1945412756842203e-17)) + 2.6271730738170801e-15));
226 double fConst19 = (3.9270615992151898e-23 * fConst0);
227 fConst20 = (fConst0 * ((fConst0 * ((fConst0 * (fConst19 + 2.2673537861440999e-19)) + 7.3548635730191699e-17)) + -3.9258576486998901e-15));
228 fConst21 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst19 + 2.33637823995467e-19)) + 9.3783138321284205e-17)) + -2.2395439003671001e-14)) + -2.09428469678622e-14);
229 double fConst22 = (6.7005323347859302e-23 * fConst0);
230 fConst23 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.1915653765437799e-19 - fConst22)) + 3.8119001724878801e-17)) + 3.7727649669539001e-16)) + -4.3467917787074598e-16);
231 fConst24 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.1523078152209901e-19 - fConst22)) + 7.6145143427636994e-18)) + 6.4954155440900194e-17)) + -5.6279647174733002e-17);
232 double fConst25 = (4.7644011785588299e-23 * fConst0);
233 fConst26 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst25 + 4.8615062848215099e-20)) + -4.8142287146114999e-18)) + -4.3219519831534399e-17)) + 3.76621841371017e-17);
234 double fConst27 = (4.6529544757914398e-23 * fConst0);
235 fConst28 = (fConst0 * ((fConst0 * ((fConst0 * (-4.7468793206911998e-20 - fConst27)) + 4.6552580439986699e-18)) + 3.76621841371017e-17));
236 double fConst29 = (6.54379653368279e-23 * fConst0);
237 fConst30 = (fConst0 * ((fConst0 * ((fConst0 * (fConst29 + 1.1252257410019799e-19)) + -7.3265085934497401e-18)) + -5.6279647174733002e-17));
238 fConst31 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst29 + 1.16356500732732e-19)) + -3.71137046526153e-17)) + -3.32205858913818e-16)) + 1.0007630974393899e-16);
239 double fConst32 = (8.0422061597541502e-23 * fConst0);
240 fConst33 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst32 + 1.59119959691012e-19)) + -1.88800868924521e-16)) + -4.49917498791669e-14)) + 5.8756823941657095e-14);
241 fConst34 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst32 + 1.54408134037281e-19)) + -1.4747071397780701e-16)) + -8.0010890069245297e-15)) + 7.8517152973997801e-15);
242 double fConst35 = (5.7183958812982795e-23 * fConst0);
243 fConst36 = ((fConst0 * ((fConst0 * ((fConst0 * (-6.9800338817591501e-20 - fConst35)) + 6.4097986310168506e-17)) + 5.3197603592005599e-15)) + -5.2543461476341696e-15);
244 double fConst37 = (5.5846598379774001e-23 * fConst0);
245 fConst38 = (fConst0 * ((fConst0 * ((fConst0 * (fConst37 + 6.8423843917330603e-20)) + -6.3890825513684405e-17)) + -5.2543461476341696e-15));
246 double fConst39 = (7.8541231984303702e-23 * fConst0);
247 fConst40 = (fConst0 * ((fConst0 * ((fConst0 * (-1.51156919076274e-19 - fConst39)) + 1.47097271460383e-16)) + 7.8517152973997801e-15));
248 fConst41 = ((fConst0 * ((fConst0 * ((fConst0 * (-1.5575854933031099e-19 - fConst39)) + 1.8756627664256799e-16)) + 4.4790878007342002e-14)) + -1.39618979785748e-14);
249 fConst42 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst22 + -1.1915653765437799e-19)) + -3.8119001724878801e-17)) + 3.7727649669539001e-16)) + 4.3467917787074598e-16);
250 fConst43 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst22 + -1.1523078152209901e-19)) + -7.6145143427636994e-18)) + 6.4954155440900194e-17)) + 5.6279647174733002e-17);
251 fConst44 = ((fConst0 * ((fConst0 * ((fConst0 * (4.8615062848215099e-20 - fConst25)) + 4.8142287146114999e-18)) + -4.3219519831534399e-17)) + -3.76621841371017e-17);
252 fConst45 = (fConst0 * ((fConst0 * ((fConst0 * (fConst27 + -4.7468793206911998e-20)) + -4.6552580439986699e-18)) + 3.76621841371017e-17));
253 fConst46 = (fConst0 * ((fConst0 * ((fConst0 * (1.1252257410019799e-19 - fConst29)) + 7.3265085934497401e-18)) + -5.6279647174733002e-17));
254 fConst47 = ((fConst0 * ((fConst0 * ((fConst0 * (1.16356500732732e-19 - fConst29)) + 3.71137046526153e-17)) + -3.32205858913818e-16)) + -1.0007630974393899e-16);
255 fConst48 = ((fConst0 * ((fConst0 * ((fConst0 * (1.59119959691012e-19 - fConst32)) + 1.88800868924521e-16)) + -4.49917498791669e-14)) + -5.8756823941657095e-14);
256 fConst49 = ((fConst0 * ((fConst0 * ((fConst0 * (1.54408134037281e-19 - fConst32)) + 1.4747071397780701e-16)) + -8.0010890069245297e-15)) + -7.8517152973997801e-15);
257 fConst50 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst35 + -6.9800338817591501e-20)) + -6.4097986310168506e-17)) + 5.3197603592005599e-15)) + 5.2543461476341696e-15);
258 fConst51 = (fConst0 * ((fConst0 * ((fConst0 * (6.8423843917330603e-20 - fConst37)) + 6.3890825513684405e-17)) + -5.2543461476341696e-15));
259 fConst52 = (fConst0 * ((fConst0 * ((fConst0 * (fConst39 + -1.51156919076274e-19)) + -1.47097271460383e-16)) + 7.8517152973997801e-15));
260 fConst53 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst39 + -1.5575854933031099e-19)) + -1.8756627664256799e-16)) + 4.4790878007342002e-14)) + 1.39618979785748e-14);
261 fConst54 = ((fConst0 * ((fConst0 * ((fConst0 * (1.7873480648156699e-19 - fConst2)) + -1.90595008624394e-17)) + -1.88638248347695e-16)) + 6.5201876680611895e-16);
262 fConst55 = ((fConst0 * ((fConst0 * ((fConst0 * (1.72846172283149e-19 - fConst2)) + -3.8072571713818497e-18)) + -3.2477077720450097e-17)) + 8.4419470762099498e-17);
263 fConst56 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst5 + -7.2922594272322706e-20)) + 2.4071143573057499e-18)) + 2.16097599157672e-17)) + -5.6493276205652504e-17);
264 fConst57 = (fConst0 * ((fConst0 * ((fConst0 * (7.1203189810367999e-20 - fConst7)) + -2.3276290219993299e-18)) + -1.8831092068550801e-17));
265 fConst58 = (fConst0 * ((fConst0 * ((fConst0 * (fConst9 + -1.6878386115029699e-19)) + 3.66325429672487e-18)) + 2.8139823587366501e-17));
266 fConst59 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst9 + -1.74534751099098e-19)) + 1.8556852326307699e-17)) + 1.66102929456909e-16)) + -1.50114464615909e-16);
267 fConst60 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst12 + -2.3867993953651901e-19)) + 9.4400434462260698e-17)) + 2.24958749395835e-14)) + -8.8135235912485604e-14);
268 fConst61 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst12 + -2.31612201055921e-19)) + 7.3735356988903701e-17)) + 4.0005445034622704e-15)) + -1.1777572946099699e-14);
269 fConst62 = ((fConst0 * ((fConst0 * ((fConst0 * (1.0470050822638701e-19 - fConst15)) + -3.2048993155084302e-17)) + -2.6598801796002799e-15)) + 7.8815192214512497e-15);
270 fConst63 = (fConst0 * ((fConst0 * ((fConst0 * (fConst17 + -1.0263576587599599e-19)) + 3.1945412756842203e-17)) + 2.6271730738170801e-15));
271 fConst64 = (fConst0 * ((fConst0 * ((fConst0 * (2.2673537861440999e-19 - fConst19)) + -7.3548635730191699e-17)) + -3.9258576486998901e-15));
272 fConst65 = ((fConst0 * ((fConst0 * ((fConst0 * (2.33637823995467e-19 - fConst19)) + -9.3783138321284205e-17)) + -2.2395439003671001e-14)) + 2.09428469678622e-14);
273 double fConst66 = (6.7005323347859305e-24 * fConst0);
274 fConst67 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst66 + -5.9578268827189105e-20)) + 1.90595008624394e-17)) + -1.88638248347695e-16)) + 2.1733958893537299e-16);
275 fConst68 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst66 + -5.7615390761049697e-20)) + 3.8072571713818497e-18)) + -3.2477077720450097e-17)) + 2.8139823587366501e-17);
276 double fConst69 = (4.7644011785588302e-24 * fConst0);
277 fConst70 = ((fConst0 * ((fConst0 * ((fConst0 * (2.4307531424107601e-20 - fConst69)) + -2.4071143573057499e-18)) + 2.16097599157672e-17)) + -1.8831092068550801e-17);
278 double fConst71 = (4.6529544757914402e-24 * fConst0);
279 fConst72 = (fConst0 * ((fConst0 * ((fConst0 * (fConst71 + -2.3734396603455999e-20)) + 2.3276290219993299e-18)) + -1.8831092068550801e-17));
280 double fConst73 = (6.5437965336827903e-24 * fConst0);
281 fConst74 = (fConst0 * ((fConst0 * ((fConst0 * (5.6261287050099103e-20 - fConst73)) + -3.66325429672487e-18)) + 2.8139823587366501e-17));
282 fConst75 = ((fConst0 * ((fConst0 * ((fConst0 * (5.8178250366366002e-20 - fConst73)) + -1.8556852326307699e-17)) + 1.66102929456909e-16)) + -5.0038154871969701e-17);
283 double fConst76 = (8.0422061597541496e-24 * fConst0);
284 fConst77 = ((fConst0 * ((fConst0 * ((fConst0 * (7.9559979845506204e-20 - fConst76)) + -9.4400434462260698e-17)) + 2.24958749395835e-14)) + -2.9378411970828497e-14);
285 fConst78 = ((fConst0 * ((fConst0 * ((fConst0 * (7.7204067018640298e-20 - fConst76)) + -7.3735356988903701e-17)) + 4.0005445034622704e-15)) + -3.9258576486998901e-15);
286 double fConst79 = (5.7183958812982797e-24 * fConst0);
287 fConst80 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst79 + -3.4900169408795799e-20)) + 3.2048993155084302e-17)) + -2.6598801796002799e-15)) + 2.6271730738170801e-15);
288 double fConst81 = (5.5846598379774004e-24 * fConst0);
289 fConst82 = (fConst0 * ((fConst0 * ((fConst0 * (3.4211921958665301e-20 - fConst81)) + -3.1945412756842203e-17)) + 2.6271730738170801e-15));
290 double fConst83 = (7.8541231984303702e-24 * fConst0);
291 fConst84 = (fConst0 * ((fConst0 * ((fConst0 * (fConst83 + -7.5578459538136805e-20)) + 7.3548635730191699e-17)) + -3.9258576486998901e-15));
292 fConst85 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst83 + -7.7879274665155701e-20)) + 9.3783138321284205e-17)) + -2.2395439003671001e-14)) + 6.9809489892874e-15);
293 fConst86 = ((fConst0 * ((fConst0 * ((fConst0 * (-5.9578268827189105e-20 - fConst66)) + -1.90595008624394e-17)) + -1.88638248347695e-16)) + -2.1733958893537299e-16);
294 fConst87 = ((fConst0 * ((fConst0 * ((fConst0 * (-5.7615390761049697e-20 - fConst66)) + -3.8072571713818497e-18)) + -3.2477077720450097e-17)) + -2.8139823587366501e-17);
295 fConst88 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst69 + 2.4307531424107601e-20)) + 2.4071143573057499e-18)) + 2.16097599157672e-17)) + 1.8831092068550801e-17);
296 fConst89 = (fConst0 * ((fConst0 * ((fConst0 * (-2.3734396603455999e-20 - fConst71)) + -2.3276290219993299e-18)) + -1.8831092068550801e-17));
297 fConst90 = (fConst0 * ((fConst0 * ((fConst0 * (fConst73 + 5.6261287050099103e-20)) + 3.66325429672487e-18)) + 2.8139823587366501e-17));
298 fConst91 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst73 + 5.8178250366366002e-20)) + 1.8556852326307699e-17)) + 1.66102929456909e-16)) + 5.0038154871969701e-17);
299 fConst92 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst76 + 7.9559979845506204e-20)) + 9.4400434462260698e-17)) + 2.24958749395835e-14)) + 2.9378411970828497e-14);
300 fConst93 = ((fConst0 * ((fConst0 * ((fConst0 * (fConst76 + 7.7204067018640298e-20)) + 7.3735356988903701e-17)) + 4.0005445034622704e-15)) + 3.9258576486998901e-15);
301 fConst94 = ((fConst0 * ((fConst0 * ((fConst0 * (-3.4900169408795799e-20 - fConst79)) + -3.2048993155084302e-17)) + -2.6598801796002799e-15)) + -2.6271730738170801e-15);
302 fConst95 = (fConst0 * ((fConst0 * ((fConst0 * (fConst81 + 3.4211921958665301e-20)) + 3.1945412756842203e-17)) + 2.6271730738170801e-15));
303 fConst96 = (fConst0 * ((fConst0 * ((fConst0 * (-7.5578459538136805e-20 - fConst83)) + -7.3548635730191699e-17)) + -3.9258576486998901e-15));
304 fConst97 = ((fConst0 * ((fConst0 * ((fConst0 * (-7.7879274665155701e-20 - fConst83)) + -9.3783138321284205e-17)) + -2.2395439003671001e-14)) + -6.9809489892874e-15);
305 double fConst98 = (2.24478316881583e-18 * fConst0);
306 fConst99 = ((fConst0 * (-1.8662501140321701e-14 - fConst98)) + -1.2958987682722301e-14);
307 double fConst100 = (1.5588772005664601e-18 * fConst0);
308 fConst101 = (fConst0 * (fConst100 + 1.2958987682722301e-14));
309 double fConst102 = (3.3359559144521401e-21 * fConst0);
310 fConst103 = ((fConst0 * (-1.6692603703996201e-17 - fConst102)) + -1.1590477130516399e-17);
311 double fConst104 = (2.3166360517027401e-21 * fConst0);
312 fConst105 = (fConst0 * (fConst104 + 1.1590477130516399e-17));
313 double fConst106 = (4.01337447559094e-21 * fConst0);
314 fConst107 = ((fConst0 * (fConst106 + 2.0082303777310401e-17)) + 1.39597416617563e-17);
315 double fConst108 = (2.7901906402916699e-21 * fConst0);
316 fConst109 = (fConst0 * (-1.39597416617563e-17 - fConst108));
317 double fConst110 = (2.70062186191725e-18 * fConst0);
318 fConst111 = ((fConst0 * (fConst110 + 2.24522189930002e-14)) + 1.5607995961821499e-14);
319 double fConst112 = (1.8775347000180101e-18 * fConst0);
320 fConst113 = (fConst0 * (-1.5607995961821499e-14 - fConst112));
321 double fConst114 = (6.7343495064474998e-18 * fConst0);
322 fConst115 = ((fConst0 * (fConst114 + 1.8662501140321701e-14)) + -1.2958987682722301e-14);
323 double fConst116 = (4.6766316016993804e-18 * fConst0);
324 fConst117 = (fConst0 * (-1.2958987682722301e-14 - fConst116));
325 double fConst118 = (1.66797795722607e-20 * fConst0);
326 fConst119 = ((fConst0 * (fConst118 + 5.0077811111988598e-17)) + 1.1590477130516399e-17);
327 double fConst120 = (1.1583180258513701e-20 * fConst0);
328 fConst121 = (fConst0 * (-3.47714313915491e-17 - fConst120));
329 double fConst122 = (2.0066872377954701e-20 * fConst0);
330 fConst123 = ((fConst0 * (-6.02469113319311e-17 - fConst122)) + -1.39597416617563e-17);
331 double fConst124 = (1.39509532014583e-20 * fConst0);
332 fConst125 = (fConst0 * (fConst124 + 4.1879224985268799e-17));
333 double fConst126 = (8.1018655857517603e-18 * fConst0);
334 fConst127 = ((fConst0 * (-2.24522189930002e-14 - fConst126)) + 1.5607995961821499e-14);
335 double fConst128 = (5.6326041000540296e-18 * fConst0);
336 fConst129 = (fConst0 * (fConst128 + 1.5607995961821499e-14));
337 double fConst130 = (4.4895663376316601e-18 * fConst0);
338 fConst131 = ((fConst0 * (3.7325002280643301e-14 - fConst130)) + 2.59179753654445e-14);
339 double fConst132 = (3.1177544011329201e-18 * fConst0);
340 fConst133 = (fConst0 * (fConst132 + -2.59179753654445e-14));
341 double fConst134 = (3.3359559144521401e-20 * fConst0);
342 fConst135 = ((fConst0 * (-3.3385207407992403e-17 - fConst134)) + 2.31809542610327e-17);
343 double fConst136 = (2.3166360517027401e-20 * fConst0);
344 fConst137 = (fConst0 * (fConst136 + 2.31809542610327e-17));
345 double fConst138 = (4.0133744755909402e-20 * fConst0);
346 fConst139 = ((fConst0 * (fConst138 + 4.0164607554620703e-17)) + -2.79194833235126e-17);
347 double fConst140 = (2.7901906402916703e-20 * fConst0);
348 fConst141 = (fConst0 * (-2.79194833235126e-17 - fConst140));
349 double fConst142 = (5.4012437238345099e-18 * fConst0);
350 fConst143 = ((fConst0 * (fConst142 + -4.49044379860004e-14)) + -3.1215991923643099e-14);
351 double fConst144 = (3.7550694000360203e-18 * fConst0);
352 fConst145 = (fConst0 * (3.1215991923643099e-14 - fConst144));
353 fConst146 = ((fConst0 * (-3.7325002280643301e-14 - fConst130)) + 2.59179753654445e-14);
354 fConst147 = (fConst0 * (fConst132 + 2.59179753654445e-14));
355 fConst148 = ((fConst0 * (fConst134 + -3.3385207407992403e-17)) + -2.31809542610327e-17);
356 fConst149 = (fConst0 * (2.31809542610327e-17 - fConst136));
357 fConst150 = ((fConst0 * (4.0164607554620703e-17 - fConst138)) + 2.79194833235126e-17);
358 fConst151 = (fConst0 * (fConst140 + -2.79194833235126e-17));
359 fConst152 = ((fConst0 * (fConst142 + 4.49044379860004e-14)) + -3.1215991923643099e-14);
360 fConst153 = (fConst0 * (-3.1215991923643099e-14 - fConst144));
361 fConst154 = ((fConst0 * (fConst114 + -1.8662501140321701e-14)) + -1.2958987682722301e-14);
362 fConst155 = (fConst0 * (1.2958987682722301e-14 - fConst116));
363 fConst156 = ((fConst0 * (5.0077811111988598e-17 - fConst118)) + -1.1590477130516399e-17);
364 fConst157 = (fConst0 * (fConst120 + -3.47714313915491e-17));
365 fConst158 = ((fConst0 * (fConst122 + -6.02469113319311e-17)) + 1.39597416617563e-17);
366 fConst159 = (fConst0 * (4.1879224985268799e-17 - fConst124));
367 fConst160 = ((fConst0 * (2.24522189930002e-14 - fConst126)) + 1.5607995961821499e-14);
368 fConst161 = (fConst0 * (fConst128 + -1.5607995961821499e-14));
369 fConst162 = ((fConst0 * (1.8662501140321701e-14 - fConst98)) + -1.2958987682722301e-14);
370 fConst163 = (fConst0 * (fConst100 + -1.2958987682722301e-14));
371 fConst164 = ((fConst0 * (fConst102 + -1.6692603703996201e-17)) + 1.1590477130516399e-17);
372 fConst165 = (fConst0 * (1.1590477130516399e-17 - fConst104));
373 fConst166 = ((fConst0 * (2.0082303777310401e-17 - fConst106)) + -1.39597416617563e-17);
374 fConst167 = (fConst0 * (fConst108 + -1.39597416617563e-17));
375 fConst168 = ((fConst0 * (fConst110 + -2.24522189930002e-14)) + 1.5607995961821499e-14);
376 fConst169 = (fConst0 * (1.5607995961821499e-14 - fConst112));
377 clear_state_f();
378 }
379
init_static(unsigned int sample_rate,PluginDef * p)380 void Dsp::init_static(unsigned int sample_rate, PluginDef *p)
381 {
382 static_cast<Dsp*>(p)->init(sample_rate);
383 }
384
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)385 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
386 {
387 double fSlowdw0 = (0.01 * fsliderdw0);
388 double fSlowdw1 = (1 - fSlowdw0);
389 FAUSTFLOAT dryinput[count];
390 memcpy(&dryinput, input0, count * sizeof(float));
391
392 double fSlow0 = (0.00035000000000000032 * (double(fVslider0) + 0.01));
393 double fSlow1 = (0.0070000000000000062 * double(fVslider1));
394 double fSlow2 = (0.0070000000000000062 * double(fVslider2));
395 double fSlow3 = (0.0070000000000000062 * double(fVslider3));
396 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
397 fRec0[0] = (fSlow0 + (0.99299999999999999 * fRec0[1]));
398 fRec2[0] = (fSlow1 + (0.99299999999999999 * fRec2[1]));
399 fRec3[0] = (fSlow2 + (0.99299999999999999 * fRec3[1]));
400 fRec4[0] = (fSlow3 + (0.99299999999999999 * fRec4[1]));
401 double fTemp0 = (((fRec2[0] * ((fConst0 * (fConst86 + ((fRec3[0] * (fConst87 + ((fRec3[0] * (fConst88 + (fConst89 * fRec4[0]))) + (fConst90 * fRec4[0])))) + (fConst91 * fRec4[0])))) + -5.0038154871969701e-17)) + (fConst0 * (fConst92 + ((fRec3[0] * (fConst93 + ((fRec3[0] * (fConst94 + (fConst95 * fRec4[0]))) + (fConst96 * fRec4[0])))) + (fConst97 * fRec4[0]))))) + 6.9809489892874e-15);
402 fRec1[0] = (double(input0[i0]) - ((((((fRec1[1] * (((fRec2[0] * ((fConst0 * (fConst3 + ((fRec3[0] * (fConst4 + ((fRec3[0] * (fConst6 + (fConst8 * fRec4[0]))) + (fConst10 * fRec4[0])))) + (fConst11 * fRec4[0])))) + -2.5019077435984898e-16)) + (fConst0 * (fConst13 + ((fRec3[0] * (fConst14 + ((fRec3[0] * (fConst16 + (fConst18 * fRec4[0]))) + (fConst20 * fRec4[0])))) + (fConst21 * fRec4[0]))))) + 3.4904744946437e-14)) + (fRec1[2] * (((fRec2[0] * ((fConst0 * (fConst23 + ((fRec3[0] * (fConst24 + ((fRec3[0] * (fConst26 + (fConst28 * fRec4[0]))) + (fConst30 * fRec4[0])))) + (fConst31 * fRec4[0])))) + -5.0038154871969697e-16)) + (fConst0 * (fConst33 + ((fRec3[0] * (fConst34 + ((fRec3[0] * (fConst36 + (fConst38 * fRec4[0]))) + (fConst40 * fRec4[0])))) + (fConst41 * fRec4[0]))))) + 6.9809489892874e-14))) + (fRec1[3] * (((fRec2[0] * ((fConst0 * (fConst42 + ((fRec3[0] * (fConst43 + ((fRec3[0] * (fConst44 + (fConst45 * fRec4[0]))) + (fConst46 * fRec4[0])))) + (fConst47 * fRec4[0])))) + -5.0038154871969697e-16)) + (fConst0 * (fConst48 + ((fRec3[0] * (fConst49 + ((fRec3[0] * (fConst50 + (fConst51 * fRec4[0]))) + (fConst52 * fRec4[0])))) + (fConst53 * fRec4[0]))))) + 6.9809489892874e-14))) + (fRec1[4] * (((fRec2[0] * ((fConst0 * (fConst54 + ((fRec3[0] * (fConst55 + ((fRec3[0] * (fConst56 + (fConst57 * fRec4[0]))) + (fConst58 * fRec4[0])))) + (fConst59 * fRec4[0])))) + -2.5019077435984898e-16)) + (fConst0 * (fConst60 + ((fRec3[0] * (fConst61 + ((fRec3[0] * (fConst62 + (fConst63 * fRec4[0]))) + (fConst64 * fRec4[0])))) + (fConst65 * fRec4[0]))))) + 3.4904744946437e-14))) + (fRec1[5] * (((fRec2[0] * ((fConst0 * (fConst67 + ((fRec3[0] * (fConst68 + ((fRec3[0] * (fConst70 + (fConst72 * fRec4[0]))) + (fConst74 * fRec4[0])))) + (fConst75 * fRec4[0])))) + -5.0038154871969701e-17)) + (fConst0 * (fConst77 + ((fRec3[0] * (fConst78 + ((fRec3[0] * (fConst80 + (fConst82 * fRec4[0]))) + (fConst84 * fRec4[0])))) + (fConst85 * fRec4[0]))))) + 6.9809489892874e-15))) / fTemp0));
403 output0[i0] = FAUSTFLOAT((0.31830988618379069 * std::atan((fConst1 * ((fRec0[0] * ((((((fRec1[0] * (((fRec2[0] * ((fConst99 + (fConst101 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst103 + (fConst105 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst107 + (fConst109 * fRec4[0]))))) + (fConst111 + (fConst113 * fRec4[0])))) + (fRec1[1] * (((fRec2[0] * ((fConst115 + (fConst117 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst119 + (fConst121 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst123 + (fConst125 * fRec4[0]))))) + (fConst127 + (fConst129 * fRec4[0]))))) + (fRec1[2] * (((fRec2[0] * ((fConst131 + (fConst133 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst135 + (fConst137 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst139 + (fConst141 * fRec4[0]))))) + (fConst143 + (fConst145 * fRec4[0]))))) + (fRec1[3] * (((fRec2[0] * ((fConst146 + (fConst147 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst148 + (fConst149 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst150 + (fConst151 * fRec4[0]))))) + (fConst152 + (fConst153 * fRec4[0]))))) + (fRec1[4] * (((fRec2[0] * ((fConst154 + (fConst155 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst156 + (fConst157 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst158 + (fConst159 * fRec4[0]))))) + (fConst160 + (fConst161 * fRec4[0]))))) + (fRec1[5] * (((fRec2[0] * ((fConst162 + (fConst163 * fRec4[0])) + (fConst0 * (fRec3[0] * (fConst164 + (fConst165 * fRec4[0])))))) + (fConst0 * (fRec3[0] * (fConst166 + (fConst167 * fRec4[0]))))) + (fConst168 + (fConst169 * fRec4[0])))))) / fTemp0)))));
404 fRec0[1] = fRec0[0];
405 fRec2[1] = fRec2[0];
406 fRec3[1] = fRec3[0];
407 fRec4[1] = fRec4[0];
408 for (int j0 = 5; (j0 > 0); j0 = (j0 - 1)) {
409 fRec1[j0] = fRec1[(j0 - 1)];
410 }
411 }
412 for (int i=0; i<count; i++) {
413 output0[i] = ((fSlowdw1 * (double)dryinput[i]) + (fSlowdw0 * (double)output0[i]));
414 }
415
416 }
417
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginDef * p)418 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef *p)
419 {
420 static_cast<Dsp*>(p)->compute(count, input0, output0);
421 }
422
register_par(const ParamReg & reg)423 int Dsp::register_par(const ParamReg& reg)
424 {
425 reg.registerFloatVar("ffreak.wet_dry",N_("Dry/Wet"),"S",N_("percentage of processed signal in output signal"),&fsliderdw0, 1e+02, 0.0, 1e+02, 1.0, 0);
426 reg.registerFloatVar("ffreak.Fuzz",N_("Fuzz"),"S","",&fVslider3, 0.5, 0.0, 1.0, 0.01, 0);
427 reg.registerFloatVar("ffreak.Gate",N_("Gate"),"S","",&fVslider1, 0.5, 0.0, 1.0, 0.01, 0);
428 reg.registerFloatVar("ffreak.Level",N_("Level"),"S","",&fVslider0, 0.5, 0.0, 1.0, 0.01, 0);
429 reg.registerFloatVar("ffreak.Tone",N_("Tone"),"S","",&fVslider2, 0.5, 0.0, 1.0, 0.01, 0);
430 return 0;
431 }
432
register_params_static(const ParamReg & reg)433 int Dsp::register_params_static(const ParamReg& reg)
434 {
435 return static_cast<Dsp*>(reg.plugin)->register_par(reg);
436 }
437
438 const char *Dsp::glade_def = "\
439 <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
440 <!-- Generated with glade 3.22.1 -->\n\
441 <interface>\n\
442 <requires lib=\"gtk+\" version=\"3.20\"/>\n\
443 <requires lib=\"gxwidgets\" version=\"0.0\"/>\n\
444 <object class=\"GtkWindow\" id=\"window1\">\n\
445 <property name=\"can_focus\">False</property>\n\
446 <child>\n\
447 <placeholder/>\n\
448 </child>\n\
449 <child>\n\
450 <object class=\"GtkBox\" id=\"vbox1\">\n\
451 <property name=\"visible\">True</property>\n\
452 <property name=\"can_focus\">False</property>\n\
453 <property name=\"orientation\">vertical</property>\n\
454 <child>\n\
455 <object class=\"GtkBox\" id=\"rackbox\">\n\
456 <property name=\"visible\">True</property>\n\
457 <property name=\"can_focus\">False</property>\n\
458 <property name=\"spacing\">4</property>\n\
459 <child>\n\
460 <object class=\"GtkBox\" id=\"hbox1\">\n\
461 <property name=\"visible\">True</property>\n\
462 <property name=\"can_focus\">False</property>\n\
463 <property name=\"spacing\">10</property>\n\
464 <child>\n\
465 <object class=\"GtkBox\" id=\"vbox2\">\n\
466 <property name=\"visible\">True</property>\n\
467 <property name=\"can_focus\">False</property>\n\
468 <property name=\"orientation\">vertical</property>\n\
469 <child>\n\
470 <object class=\"GtkLabel\" id=\"label1:rack_label\">\n\
471 <property name=\"visible\">True</property>\n\
472 <property name=\"can_focus\">False</property>\n\
473 <property name=\"label\" translatable=\"yes\">label</property>\n\
474 </object>\n\
475 <packing>\n\
476 <property name=\"expand\">False</property>\n\
477 <property name=\"fill\">False</property>\n\
478 <property name=\"position\">0</property>\n\
479 </packing>\n\
480 </child>\n\
481 <child>\n\
482 <object class=\"GxSmallKnobR\" id=\"gxbigknob1\">\n\
483 <property name=\"visible\">True</property>\n\
484 <property name=\"can_focus\">True</property>\n\
485 <property name=\"receives_default\">True</property>\n\
486 <property name=\"var_id\">ffreak.Gate</property>\n\
487 <property name=\"label_ref\">label1:rack_label</property>\n\
488 </object>\n\
489 <packing>\n\
490 <property name=\"expand\">False</property>\n\
491 <property name=\"fill\">False</property>\n\
492 <property name=\"position\">1</property>\n\
493 </packing>\n\
494 </child>\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\">0</property>\n\
500 </packing>\n\
501 </child>\n\
502 <child>\n\
503 <object class=\"GtkBox\" id=\"vbox3\">\n\
504 <property name=\"visible\">True</property>\n\
505 <property name=\"can_focus\">False</property>\n\
506 <property name=\"orientation\">vertical</property>\n\
507 <child>\n\
508 <object class=\"GtkLabel\" id=\"label2:rack_label\">\n\
509 <property name=\"visible\">True</property>\n\
510 <property name=\"can_focus\">False</property>\n\
511 <property name=\"label\" translatable=\"yes\">label</property>\n\
512 </object>\n\
513 <packing>\n\
514 <property name=\"expand\">False</property>\n\
515 <property name=\"fill\">False</property>\n\
516 <property name=\"position\">0</property>\n\
517 </packing>\n\
518 </child>\n\
519 <child>\n\
520 <object class=\"GxSmallKnobR\" id=\"gxbigknob2\">\n\
521 <property name=\"visible\">True</property>\n\
522 <property name=\"can_focus\">True</property>\n\
523 <property name=\"receives_default\">True</property>\n\
524 <property name=\"var_id\">ffreak.Fuzz</property>\n\
525 <property name=\"label_ref\">label2:rack_label</property>\n\
526 </object>\n\
527 <packing>\n\
528 <property name=\"expand\">False</property>\n\
529 <property name=\"fill\">False</property>\n\
530 <property name=\"position\">1</property>\n\
531 </packing>\n\
532 </child>\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 <child>\n\
541 <object class=\"GtkBox\" id=\"vbox4\">\n\
542 <property name=\"visible\">True</property>\n\
543 <property name=\"can_focus\">False</property>\n\
544 <property name=\"orientation\">vertical</property>\n\
545 <child>\n\
546 <object class=\"GtkLabel\" id=\"label3:rack_label\">\n\
547 <property name=\"visible\">True</property>\n\
548 <property name=\"can_focus\">False</property>\n\
549 <property name=\"label\" translatable=\"yes\">label</property>\n\
550 </object>\n\
551 <packing>\n\
552 <property name=\"expand\">False</property>\n\
553 <property name=\"fill\">False</property>\n\
554 <property name=\"position\">0</property>\n\
555 </packing>\n\
556 </child>\n\
557 <child>\n\
558 <object class=\"GxSmallKnobR\" id=\"gxbigknob3\">\n\
559 <property name=\"visible\">True</property>\n\
560 <property name=\"can_focus\">True</property>\n\
561 <property name=\"receives_default\">True</property>\n\
562 <property name=\"var_id\">ffreak.Tone</property>\n\
563 <property name=\"label_ref\">label3:rack_label</property>\n\
564 </object>\n\
565 <packing>\n\
566 <property name=\"expand\">False</property>\n\
567 <property name=\"fill\">False</property>\n\
568 <property name=\"position\">1</property>\n\
569 </packing>\n\
570 </child>\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\">2</property>\n\
576 </packing>\n\
577 </child>\n\
578 <child>\n\
579 <object class=\"GtkBox\" id=\"vbox5\">\n\
580 <property name=\"visible\">True</property>\n\
581 <property name=\"can_focus\">False</property>\n\
582 <property name=\"orientation\">vertical</property>\n\
583 <child>\n\
584 <object class=\"GtkLabel\" id=\"label4:rack_label\">\n\
585 <property name=\"visible\">True</property>\n\
586 <property name=\"can_focus\">False</property>\n\
587 <property name=\"label\" translatable=\"yes\">label</property>\n\
588 </object>\n\
589 <packing>\n\
590 <property name=\"expand\">False</property>\n\
591 <property name=\"fill\">False</property>\n\
592 <property name=\"position\">0</property>\n\
593 </packing>\n\
594 </child>\n\
595 <child>\n\
596 <object class=\"GxMidKnob\" id=\"gxbigknob4\">\n\
597 <property name=\"visible\">True</property>\n\
598 <property name=\"can_focus\">True</property>\n\
599 <property name=\"receives_default\">True</property>\n\
600 <property name=\"var_id\">ffreak.Level</property>\n\
601 <property name=\"label_ref\">label4:rack_label</property>\n\
602 </object>\n\
603 <packing>\n\
604 <property name=\"expand\">False</property>\n\
605 <property name=\"fill\">False</property>\n\
606 <property name=\"position\">1</property>\n\
607 </packing>\n\
608 </child>\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\">3</property>\n\
614 </packing>\n\
615 </child>\n\
616 <child>\n\
617 <object class=\"GtkBox\" id=\"vbox6\">\n\
618 <property name=\"visible\">True</property>\n\
619 <property name=\"can_focus\">False</property>\n\
620 <property name=\"orientation\">vertical</property>\n\
621 <child>\n\
622 <object class=\"GtkLabel\" id=\"label5:rack_label\">\n\
623 <property name=\"visible\">True</property>\n\
624 <property name=\"can_focus\">False</property>\n\
625 <property name=\"label\" translatable=\"yes\">label</property>\n\
626 </object>\n\
627 <packing>\n\
628 <property name=\"expand\">False</property>\n\
629 <property name=\"fill\">False</property>\n\
630 <property name=\"position\">0</property>\n\
631 </packing>\n\
632 </child>\n\
633 <child>\n\
634 <object class=\"GxSmallKnobR\" id=\"gxbigknob5\">\n\
635 <property name=\"visible\">True</property>\n\
636 <property name=\"can_focus\">True</property>\n\
637 <property name=\"receives_default\">True</property>\n\
638 <property name=\"var_id\">ffreak.wet_dry</property>\n\
639 <property name=\"label_ref\">label5:rack_label</property>\n\
640 </object>\n\
641 <packing>\n\
642 <property name=\"expand\">False</property>\n\
643 <property name=\"fill\">False</property>\n\
644 <property name=\"position\">1</property>\n\
645 </packing>\n\
646 </child>\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\">4</property>\n\
652 </packing>\n\
653 </child>\n\
654 </object>\n\
655 <packing>\n\
656 <property name=\"expand\">True</property>\n\
657 <property name=\"fill\">False</property>\n\
658 <property name=\"pack_type\">end</property>\n\
659 <property name=\"position\">0</property>\n\
660 </packing>\n\
661 </child>\n\
662 </object>\n\
663 <packing>\n\
664 <property name=\"expand\">True</property>\n\
665 <property name=\"fill\">False</property>\n\
666 <property name=\"position\">0</property>\n\
667 </packing>\n\
668 </child>\n\
669 <child>\n\
670 <object class=\"GtkBox\" id=\"minibox\">\n\
671 <property name=\"visible\">True</property>\n\
672 <property name=\"can_focus\">False</property>\n\
673 <property name=\"spacing\">4</property>\n\
674 <child>\n\
675 <object class=\"GxHSlider\" id=\"gxhslider1\">\n\
676 <property name=\"visible\">True</property>\n\
677 <property name=\"can_focus\">True</property>\n\
678 <property name=\"receives_default\">True</property>\n\
679 <property name=\"round_digits\">0</property>\n\
680 <property name=\"var_id\">ffreak.Level</property>\n\
681 <property name=\"show_value\">False</property>\n\
682 <property name=\"value_position\">right</property>\n\
683 <property name=\"value_xalign\">0.52000000000000002</property>\n\
684 <property name=\"label_ref\">label0:rack_label</property>\n\
685 </object>\n\
686 <packing>\n\
687 <property name=\"expand\">False</property>\n\
688 <property name=\"fill\">False</property>\n\
689 <property name=\"position\">0</property>\n\
690 </packing>\n\
691 </child>\n\
692 <child>\n\
693 <object class=\"GtkLabel\" id=\"label0:rack_label\">\n\
694 <property name=\"visible\">True</property>\n\
695 <property name=\"can_focus\">False</property>\n\
696 <property name=\"label\" translatable=\"yes\">Level</property>\n\
697 <property name=\"xalign\">0</property>\n\
698 </object>\n\
699 <packing>\n\
700 <property name=\"expand\">False</property>\n\
701 <property name=\"fill\">False</property>\n\
702 <property name=\"position\">1</property>\n\
703 </packing>\n\
704 </child>\n\
705 </object>\n\
706 <packing>\n\
707 <property name=\"expand\">True</property>\n\
708 <property name=\"fill\">True</property>\n\
709 <property name=\"position\">1</property>\n\
710 </packing>\n\
711 </child>\n\
712 </object>\n\
713 </child>\n\
714 </object>\n\
715 </interface>\n\
716 ";
717
load_ui_f(const UiBuilder & b,int form)718 inline int Dsp::load_ui_f(const UiBuilder& b, int form)
719 {
720 if (form & UI_FORM_GLADE) {
721 b.load_glade(glade_def);
722 return 0;
723 }
724 if (form & UI_FORM_STACK) {
725 #define PARAM(p) ("ffreak" "." p)
726
727 b.openHorizontalhideBox("");
728 b.create_master_slider(PARAM("Fuzz"), "Fuzz");
729 b.closeBox();
730 b.openHorizontalBox("");
731
732 b.create_small_rackknobr(PARAM("Fuzz"), "Fuzz");
733
734 b.create_small_rackknobr(PARAM("Tone"), "Tone");
735
736 b.create_small_rackknobr(PARAM("Gate"), "Gate");
737
738 b.create_small_rackknobr(PARAM("Level"), "Level");
739 b.create_small_rackknobr(PARAM("wet_dry"), "dry/wet");
740 b.closeBox();
741
742 #undef PARAM
743 return 0;
744 }
745 return -1;
746 }
747
load_ui_f_static(const UiBuilder & b,int form)748 int Dsp::load_ui_f_static(const UiBuilder& b, int form)
749 {
750 return static_cast<Dsp*>(b.plugin)->load_ui_f(b, form);
751 }
plugin()752 PluginDef *plugin() {
753 return new Dsp();
754 }
755
del_instance(PluginDef * p)756 void Dsp::del_instance(PluginDef *p)
757 {
758 delete static_cast<Dsp*>(p);
759 }
760
761 } // end namespace ffreak
762 } // end namespace pluginlib
763