1 // generated from file '../src/plugins/mbcs.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
7 namespace pluginlib {
8 namespace mbcs {
9
10 class Dsp: public PluginDef {
11 private:
12 int fSampleRate;
13 double fConst1;
14 FAUSTFLOAT fHslider0;
15 FAUSTFLOAT fHslider1;
16 FAUSTFLOAT fHslider2;
17 double fRec3[2];
18 double fConst2;
19 FAUSTFLOAT fHslider3;
20 double fVec0[2];
21 double fRec8[2];
22 double fRec7[3];
23 FAUSTFLOAT fHslider4;
24 double fRec6[3];
25 FAUSTFLOAT fHslider5;
26 double fRec5[3];
27 FAUSTFLOAT fHslider6;
28 double fRec4[3];
29 FAUSTFLOAT fHslider7;
30 FAUSTFLOAT fHslider8;
31 double fVec1[2];
32 double fRec16[2];
33 double fRec15[3];
34 double fRec14[3];
35 double fRec13[3];
36 double fRec12[3];
37 FAUSTFLOAT fHslider9;
38 double fRec11[2];
39 double fRec10[2];
40 double fRec9[2];
41 double fRec0[2];
42 int iRec1[2];
43 double fRec2[2];
44 FAUSTFLOAT fVbargraph0;
45 FAUSTFLOAT fHslider10;
46 FAUSTFLOAT fHslider11;
47 FAUSTFLOAT fHslider12;
48 double fRec20[2];
49 double fRec26[2];
50 double fRec25[3];
51 double fVec2[2];
52 double fRec24[2];
53 double fRec23[3];
54 double fRec22[3];
55 double fRec21[3];
56 FAUSTFLOAT fHslider13;
57 FAUSTFLOAT fHslider14;
58 double fRec35[2];
59 double fRec34[3];
60 double fVec3[2];
61 double fRec33[2];
62 double fRec32[3];
63 double fRec31[3];
64 double fRec30[3];
65 FAUSTFLOAT fHslider15;
66 double fRec29[2];
67 double fRec28[2];
68 double fRec27[2];
69 double fRec17[2];
70 int iRec18[2];
71 double fRec19[2];
72 FAUSTFLOAT fVbargraph1;
73 FAUSTFLOAT fHslider16;
74 FAUSTFLOAT fHslider17;
75 FAUSTFLOAT fHslider18;
76 double fRec39[2];
77 double fRec44[2];
78 double fRec43[3];
79 double fVec4[2];
80 double fRec42[2];
81 double fRec41[3];
82 double fRec40[3];
83 FAUSTFLOAT fHslider19;
84 FAUSTFLOAT fHslider20;
85 double fRec52[2];
86 double fRec51[3];
87 double fVec5[2];
88 double fRec50[2];
89 double fRec49[3];
90 double fRec48[3];
91 FAUSTFLOAT fHslider21;
92 double fRec47[2];
93 double fRec46[2];
94 double fRec45[2];
95 double fRec36[2];
96 int iRec37[2];
97 double fRec38[2];
98 FAUSTFLOAT fVbargraph2;
99 FAUSTFLOAT fHslider22;
100 FAUSTFLOAT fHslider23;
101 FAUSTFLOAT fHslider24;
102 double fRec56[2];
103 double fRec60[2];
104 double fRec59[3];
105 double fVec6[2];
106 double fRec58[2];
107 double fRec57[3];
108 FAUSTFLOAT fHslider25;
109 FAUSTFLOAT fHslider26;
110 double fRec67[2];
111 double fRec66[3];
112 double fVec7[2];
113 double fRec65[2];
114 double fRec64[3];
115 FAUSTFLOAT fHslider27;
116 double fRec63[2];
117 double fRec62[2];
118 double fRec61[2];
119 double fRec53[2];
120 int iRec54[2];
121 double fRec55[2];
122 FAUSTFLOAT fVbargraph3;
123 FAUSTFLOAT fHslider28;
124 FAUSTFLOAT fHslider29;
125 FAUSTFLOAT fHslider30;
126 double fRec71[2];
127 double fRec73[2];
128 double fRec72[3];
129 FAUSTFLOAT fHslider31;
130 FAUSTFLOAT fHslider32;
131 double fRec78[2];
132 double fRec77[3];
133 FAUSTFLOAT fHslider33;
134 double fRec76[2];
135 double fRec75[2];
136 double fRec74[2];
137 double fRec68[2];
138 int iRec69[2];
139 double fRec70[2];
140 FAUSTFLOAT fVbargraph4;
141
142 void clear_state_f();
143 int load_ui_f(const UiBuilder& b, int form);
144 static const char *glade_def;
145 void init(unsigned int sample_rate);
146 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1);
147 int register_par(const ParamReg& reg);
148
149 static void clear_state_f_static(PluginDef*);
150 static int load_ui_f_static(const UiBuilder& b, int form);
151 static void init_static(unsigned int sample_rate, PluginDef*);
152 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1, PluginDef*);
153 static int register_params_static(const ParamReg& reg);
154 static void del_instance(PluginDef *p);
155 public:
156 Dsp();
157 ~Dsp();
158 };
159
160
161
Dsp()162 Dsp::Dsp()
163 : PluginDef() {
164 version = PLUGINDEF_VERSION;
165 flags = 0;
166 id = "mbcs";
167 name = N_("Multi Band Compressor Stereo");
168 groups = 0;
169 description = N_("Multi Band Compressor contributed by kokoko3k"); // description (tooltip)
170 category = N_("Guitar Effects"); // category
171 shortname = N_("MB Comp St"); // shortname
172 mono_audio = 0;
173 stereo_audio = compute_static;
174 set_samplerate = init_static;
175 activate_plugin = 0;
176 register_params = register_params_static;
177 load_ui = load_ui_f_static;
178 clear_state = clear_state_f_static;
179 delete_instance = del_instance;
180 }
181
~Dsp()182 Dsp::~Dsp() {
183 }
184
clear_state_f()185 inline void Dsp::clear_state_f()
186 {
187 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) fRec3[l0] = 0.0;
188 for (int l1 = 0; (l1 < 2); l1 = (l1 + 1)) fVec0[l1] = 0.0;
189 for (int l2 = 0; (l2 < 2); l2 = (l2 + 1)) fRec8[l2] = 0.0;
190 for (int l3 = 0; (l3 < 3); l3 = (l3 + 1)) fRec7[l3] = 0.0;
191 for (int l4 = 0; (l4 < 3); l4 = (l4 + 1)) fRec6[l4] = 0.0;
192 for (int l5 = 0; (l5 < 3); l5 = (l5 + 1)) fRec5[l5] = 0.0;
193 for (int l6 = 0; (l6 < 3); l6 = (l6 + 1)) fRec4[l6] = 0.0;
194 for (int l7 = 0; (l7 < 2); l7 = (l7 + 1)) fVec1[l7] = 0.0;
195 for (int l8 = 0; (l8 < 2); l8 = (l8 + 1)) fRec16[l8] = 0.0;
196 for (int l9 = 0; (l9 < 3); l9 = (l9 + 1)) fRec15[l9] = 0.0;
197 for (int l10 = 0; (l10 < 3); l10 = (l10 + 1)) fRec14[l10] = 0.0;
198 for (int l11 = 0; (l11 < 3); l11 = (l11 + 1)) fRec13[l11] = 0.0;
199 for (int l12 = 0; (l12 < 3); l12 = (l12 + 1)) fRec12[l12] = 0.0;
200 for (int l13 = 0; (l13 < 2); l13 = (l13 + 1)) fRec11[l13] = 0.0;
201 for (int l14 = 0; (l14 < 2); l14 = (l14 + 1)) fRec10[l14] = 0.0;
202 for (int l15 = 0; (l15 < 2); l15 = (l15 + 1)) fRec9[l15] = 0.0;
203 for (int l16 = 0; (l16 < 2); l16 = (l16 + 1)) fRec0[l16] = 0.0;
204 for (int l17 = 0; (l17 < 2); l17 = (l17 + 1)) iRec1[l17] = 0;
205 for (int l18 = 0; (l18 < 2); l18 = (l18 + 1)) fRec2[l18] = 0.0;
206 for (int l19 = 0; (l19 < 2); l19 = (l19 + 1)) fRec20[l19] = 0.0;
207 for (int l20 = 0; (l20 < 2); l20 = (l20 + 1)) fRec26[l20] = 0.0;
208 for (int l21 = 0; (l21 < 3); l21 = (l21 + 1)) fRec25[l21] = 0.0;
209 for (int l22 = 0; (l22 < 2); l22 = (l22 + 1)) fVec2[l22] = 0.0;
210 for (int l23 = 0; (l23 < 2); l23 = (l23 + 1)) fRec24[l23] = 0.0;
211 for (int l24 = 0; (l24 < 3); l24 = (l24 + 1)) fRec23[l24] = 0.0;
212 for (int l25 = 0; (l25 < 3); l25 = (l25 + 1)) fRec22[l25] = 0.0;
213 for (int l26 = 0; (l26 < 3); l26 = (l26 + 1)) fRec21[l26] = 0.0;
214 for (int l27 = 0; (l27 < 2); l27 = (l27 + 1)) fRec35[l27] = 0.0;
215 for (int l28 = 0; (l28 < 3); l28 = (l28 + 1)) fRec34[l28] = 0.0;
216 for (int l29 = 0; (l29 < 2); l29 = (l29 + 1)) fVec3[l29] = 0.0;
217 for (int l30 = 0; (l30 < 2); l30 = (l30 + 1)) fRec33[l30] = 0.0;
218 for (int l31 = 0; (l31 < 3); l31 = (l31 + 1)) fRec32[l31] = 0.0;
219 for (int l32 = 0; (l32 < 3); l32 = (l32 + 1)) fRec31[l32] = 0.0;
220 for (int l33 = 0; (l33 < 3); l33 = (l33 + 1)) fRec30[l33] = 0.0;
221 for (int l34 = 0; (l34 < 2); l34 = (l34 + 1)) fRec29[l34] = 0.0;
222 for (int l35 = 0; (l35 < 2); l35 = (l35 + 1)) fRec28[l35] = 0.0;
223 for (int l36 = 0; (l36 < 2); l36 = (l36 + 1)) fRec27[l36] = 0.0;
224 for (int l37 = 0; (l37 < 2); l37 = (l37 + 1)) fRec17[l37] = 0.0;
225 for (int l38 = 0; (l38 < 2); l38 = (l38 + 1)) iRec18[l38] = 0;
226 for (int l39 = 0; (l39 < 2); l39 = (l39 + 1)) fRec19[l39] = 0.0;
227 for (int l40 = 0; (l40 < 2); l40 = (l40 + 1)) fRec39[l40] = 0.0;
228 for (int l41 = 0; (l41 < 2); l41 = (l41 + 1)) fRec44[l41] = 0.0;
229 for (int l42 = 0; (l42 < 3); l42 = (l42 + 1)) fRec43[l42] = 0.0;
230 for (int l43 = 0; (l43 < 2); l43 = (l43 + 1)) fVec4[l43] = 0.0;
231 for (int l44 = 0; (l44 < 2); l44 = (l44 + 1)) fRec42[l44] = 0.0;
232 for (int l45 = 0; (l45 < 3); l45 = (l45 + 1)) fRec41[l45] = 0.0;
233 for (int l46 = 0; (l46 < 3); l46 = (l46 + 1)) fRec40[l46] = 0.0;
234 for (int l47 = 0; (l47 < 2); l47 = (l47 + 1)) fRec52[l47] = 0.0;
235 for (int l48 = 0; (l48 < 3); l48 = (l48 + 1)) fRec51[l48] = 0.0;
236 for (int l49 = 0; (l49 < 2); l49 = (l49 + 1)) fVec5[l49] = 0.0;
237 for (int l50 = 0; (l50 < 2); l50 = (l50 + 1)) fRec50[l50] = 0.0;
238 for (int l51 = 0; (l51 < 3); l51 = (l51 + 1)) fRec49[l51] = 0.0;
239 for (int l52 = 0; (l52 < 3); l52 = (l52 + 1)) fRec48[l52] = 0.0;
240 for (int l53 = 0; (l53 < 2); l53 = (l53 + 1)) fRec47[l53] = 0.0;
241 for (int l54 = 0; (l54 < 2); l54 = (l54 + 1)) fRec46[l54] = 0.0;
242 for (int l55 = 0; (l55 < 2); l55 = (l55 + 1)) fRec45[l55] = 0.0;
243 for (int l56 = 0; (l56 < 2); l56 = (l56 + 1)) fRec36[l56] = 0.0;
244 for (int l57 = 0; (l57 < 2); l57 = (l57 + 1)) iRec37[l57] = 0;
245 for (int l58 = 0; (l58 < 2); l58 = (l58 + 1)) fRec38[l58] = 0.0;
246 for (int l59 = 0; (l59 < 2); l59 = (l59 + 1)) fRec56[l59] = 0.0;
247 for (int l60 = 0; (l60 < 2); l60 = (l60 + 1)) fRec60[l60] = 0.0;
248 for (int l61 = 0; (l61 < 3); l61 = (l61 + 1)) fRec59[l61] = 0.0;
249 for (int l62 = 0; (l62 < 2); l62 = (l62 + 1)) fVec6[l62] = 0.0;
250 for (int l63 = 0; (l63 < 2); l63 = (l63 + 1)) fRec58[l63] = 0.0;
251 for (int l64 = 0; (l64 < 3); l64 = (l64 + 1)) fRec57[l64] = 0.0;
252 for (int l65 = 0; (l65 < 2); l65 = (l65 + 1)) fRec67[l65] = 0.0;
253 for (int l66 = 0; (l66 < 3); l66 = (l66 + 1)) fRec66[l66] = 0.0;
254 for (int l67 = 0; (l67 < 2); l67 = (l67 + 1)) fVec7[l67] = 0.0;
255 for (int l68 = 0; (l68 < 2); l68 = (l68 + 1)) fRec65[l68] = 0.0;
256 for (int l69 = 0; (l69 < 3); l69 = (l69 + 1)) fRec64[l69] = 0.0;
257 for (int l70 = 0; (l70 < 2); l70 = (l70 + 1)) fRec63[l70] = 0.0;
258 for (int l71 = 0; (l71 < 2); l71 = (l71 + 1)) fRec62[l71] = 0.0;
259 for (int l72 = 0; (l72 < 2); l72 = (l72 + 1)) fRec61[l72] = 0.0;
260 for (int l73 = 0; (l73 < 2); l73 = (l73 + 1)) fRec53[l73] = 0.0;
261 for (int l74 = 0; (l74 < 2); l74 = (l74 + 1)) iRec54[l74] = 0;
262 for (int l75 = 0; (l75 < 2); l75 = (l75 + 1)) fRec55[l75] = 0.0;
263 for (int l76 = 0; (l76 < 2); l76 = (l76 + 1)) fRec71[l76] = 0.0;
264 for (int l77 = 0; (l77 < 2); l77 = (l77 + 1)) fRec73[l77] = 0.0;
265 for (int l78 = 0; (l78 < 3); l78 = (l78 + 1)) fRec72[l78] = 0.0;
266 for (int l79 = 0; (l79 < 2); l79 = (l79 + 1)) fRec78[l79] = 0.0;
267 for (int l80 = 0; (l80 < 3); l80 = (l80 + 1)) fRec77[l80] = 0.0;
268 for (int l81 = 0; (l81 < 2); l81 = (l81 + 1)) fRec76[l81] = 0.0;
269 for (int l82 = 0; (l82 < 2); l82 = (l82 + 1)) fRec75[l82] = 0.0;
270 for (int l83 = 0; (l83 < 2); l83 = (l83 + 1)) fRec74[l83] = 0.0;
271 for (int l84 = 0; (l84 < 2); l84 = (l84 + 1)) fRec68[l84] = 0.0;
272 for (int l85 = 0; (l85 < 2); l85 = (l85 + 1)) iRec69[l85] = 0;
273 for (int l86 = 0; (l86 < 2); l86 = (l86 + 1)) fRec70[l86] = 0.0;
274 }
275
clear_state_f_static(PluginDef * p)276 void Dsp::clear_state_f_static(PluginDef *p)
277 {
278 static_cast<Dsp*>(p)->clear_state_f();
279 }
280
init(unsigned int sample_rate)281 inline void Dsp::init(unsigned int sample_rate)
282 {
283 fSampleRate = sample_rate;
284 double fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
285 fConst1 = (1.0 / fConst0);
286 fConst2 = (3.1415926535897931 / fConst0);
287 clear_state_f();
288 }
289
init_static(unsigned int sample_rate,PluginDef * p)290 void Dsp::init_static(unsigned int sample_rate, PluginDef *p)
291 {
292 static_cast<Dsp*>(p)->init(sample_rate);
293 }
294
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * input1,FAUSTFLOAT * output0,FAUSTFLOAT * output1)295 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1)
296 {
297 double fSlow0 = double(fHslider0);
298 double fSlow1 = std::fabs((std::max<double>(0.0, (fSlow0 + -2.0)) + -1.0));
299 double fSlow2 = double(fHslider1);
300 double fSlow3 = std::max<double>(0.0, (fSlow0 + -1.0));
301 double fSlow4 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * ((fSlow2 - double(fHslider2)) * std::fabs((fSlow3 + -1.0))))));
302 int iSlow5 = int(fSlow3);
303 double fSlow6 = std::tan((fConst2 * double(fHslider3)));
304 double fSlow7 = (1.0 / fSlow6);
305 double fSlow8 = (((fSlow7 + 1.0000000000000004) / fSlow6) + 1.0);
306 double fSlow9 = (1.0 / fSlow8);
307 double fSlow10 = mydsp_faustpower2_f(fSlow6);
308 double fSlow11 = (1.0 / fSlow10);
309 double fSlow12 = (fSlow7 + 1.0);
310 double fSlow13 = (0.0 - (1.0 / (fSlow6 * fSlow12)));
311 double fSlow14 = (1.0 / fSlow12);
312 double fSlow15 = (1.0 - fSlow7);
313 double fSlow16 = (((fSlow7 + -1.0000000000000004) / fSlow6) + 1.0);
314 double fSlow17 = (2.0 * (1.0 - fSlow11));
315 double fSlow18 = (0.0 - (2.0 / fSlow10));
316 double fSlow19 = std::tan((fConst2 * double(fHslider4)));
317 double fSlow20 = (1.0 / fSlow19);
318 double fSlow21 = (fSlow20 + 1.0);
319 double fSlow22 = (1.0 / ((fSlow21 / fSlow19) + 1.0));
320 double fSlow23 = (1.0 - fSlow20);
321 double fSlow24 = (1.0 - (fSlow23 / fSlow19));
322 double fSlow25 = mydsp_faustpower2_f(fSlow19);
323 double fSlow26 = (1.0 / fSlow25);
324 double fSlow27 = (2.0 * (1.0 - fSlow26));
325 double fSlow28 = std::tan((fConst2 * double(fHslider5)));
326 double fSlow29 = (1.0 / fSlow28);
327 double fSlow30 = (fSlow29 + 1.0);
328 double fSlow31 = (1.0 / ((fSlow30 / fSlow28) + 1.0));
329 double fSlow32 = (1.0 - fSlow29);
330 double fSlow33 = (1.0 - (fSlow32 / fSlow28));
331 double fSlow34 = mydsp_faustpower2_f(fSlow28);
332 double fSlow35 = (1.0 / fSlow34);
333 double fSlow36 = (2.0 * (1.0 - fSlow35));
334 double fSlow37 = std::tan((fConst2 * double(fHslider6)));
335 double fSlow38 = (1.0 / fSlow37);
336 double fSlow39 = (fSlow38 + 1.0);
337 double fSlow40 = (1.0 / ((fSlow39 / fSlow37) + 1.0));
338 double fSlow41 = (1.0 - fSlow38);
339 double fSlow42 = (1.0 - (fSlow41 / fSlow37));
340 double fSlow43 = mydsp_faustpower2_f(fSlow37);
341 double fSlow44 = (1.0 / fSlow43);
342 double fSlow45 = (2.0 * (1.0 - fSlow44));
343 double fSlow46 = double(fHslider7);
344 double fSlow47 = (0.5 * fSlow46);
345 int iSlow48 = (std::fabs(fSlow47) < 2.2204460492503131e-16);
346 double fThen2 = std::exp((0.0 - (fConst1 / (iSlow48 ? 1.0 : fSlow47))));
347 double fSlow49 = (iSlow48 ? 0.0 : fThen2);
348 double fSlow50 = ((1.0 / std::max<double>(2.2204460492503131e-16, double(fHslider8))) + -1.0);
349 int iSlow51 = (std::fabs(fSlow46) < 2.2204460492503131e-16);
350 double fThen5 = std::exp((0.0 - (fConst1 / (iSlow51 ? 1.0 : fSlow46))));
351 double fSlow52 = (iSlow51 ? 0.0 : fThen5);
352 double fSlow53 = double(fHslider9);
353 int iSlow54 = (std::fabs(fSlow53) < 2.2204460492503131e-16);
354 double fThen7 = std::exp((0.0 - (fConst1 / (iSlow54 ? 1.0 : fSlow53))));
355 double fSlow55 = (iSlow54 ? 0.0 : fThen7);
356 double fSlow56 = (1.0 - fSlow49);
357 double fSlow57 = double(fHslider10);
358 double fSlow58 = std::fabs((std::max<double>(0.0, (fSlow57 + -2.0)) + -1.0));
359 double fSlow59 = double(fHslider11);
360 double fSlow60 = std::max<double>(0.0, (fSlow57 + -1.0));
361 double fSlow61 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * ((fSlow59 - double(fHslider12)) * std::fabs((fSlow60 + -1.0))))));
362 int iSlow62 = int(fSlow60);
363 double fSlow63 = (((fSlow20 + 1.0000000000000004) / fSlow19) + 1.0);
364 double fSlow64 = (1.0 / fSlow63);
365 double fSlow65 = (0.0 - (1.0 / (fSlow19 * fSlow21)));
366 double fSlow66 = (1.0 / fSlow21);
367 double fSlow67 = (1.0 / (fSlow19 * fSlow8));
368 double fSlow68 = (((fSlow20 + -1.0000000000000004) / fSlow19) + 1.0);
369 double fSlow69 = (0.0 - (2.0 / fSlow25));
370 double fSlow70 = double(fHslider13);
371 double fSlow71 = (0.5 * fSlow70);
372 int iSlow72 = (std::fabs(fSlow71) < 2.2204460492503131e-16);
373 double fThen16 = std::exp((0.0 - (fConst1 / (iSlow72 ? 1.0 : fSlow71))));
374 double fSlow73 = (iSlow72 ? 0.0 : fThen16);
375 double fSlow74 = ((1.0 / std::max<double>(2.2204460492503131e-16, double(fHslider14))) + -1.0);
376 int iSlow75 = (std::fabs(fSlow70) < 2.2204460492503131e-16);
377 double fThen19 = std::exp((0.0 - (fConst1 / (iSlow75 ? 1.0 : fSlow70))));
378 double fSlow76 = (iSlow75 ? 0.0 : fThen19);
379 double fSlow77 = double(fHslider15);
380 int iSlow78 = (std::fabs(fSlow77) < 2.2204460492503131e-16);
381 double fThen21 = std::exp((0.0 - (fConst1 / (iSlow78 ? 1.0 : fSlow77))));
382 double fSlow79 = (iSlow78 ? 0.0 : fThen21);
383 double fSlow80 = (1.0 - fSlow73);
384 double fSlow81 = double(fHslider16);
385 double fSlow82 = std::fabs((std::max<double>(0.0, (fSlow81 + -2.0)) + -1.0));
386 double fSlow83 = double(fHslider17);
387 double fSlow84 = std::max<double>(0.0, (fSlow81 + -1.0));
388 double fSlow85 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * ((fSlow83 - double(fHslider18)) * std::fabs((fSlow84 + -1.0))))));
389 int iSlow86 = int(fSlow84);
390 double fSlow87 = (((fSlow29 + 1.0000000000000004) / fSlow28) + 1.0);
391 double fSlow88 = (1.0 / fSlow87);
392 double fSlow89 = (0.0 - (1.0 / (fSlow28 * fSlow30)));
393 double fSlow90 = (1.0 / fSlow30);
394 double fSlow91 = (1.0 / (fSlow28 * fSlow63));
395 double fSlow92 = (((fSlow29 + -1.0000000000000004) / fSlow28) + 1.0);
396 double fSlow93 = (0.0 - (2.0 / fSlow34));
397 double fSlow94 = double(fHslider19);
398 double fSlow95 = (0.5 * fSlow94);
399 int iSlow96 = (std::fabs(fSlow95) < 2.2204460492503131e-16);
400 double fThen30 = std::exp((0.0 - (fConst1 / (iSlow96 ? 1.0 : fSlow95))));
401 double fSlow97 = (iSlow96 ? 0.0 : fThen30);
402 double fSlow98 = ((1.0 / std::max<double>(2.2204460492503131e-16, double(fHslider20))) + -1.0);
403 int iSlow99 = (std::fabs(fSlow94) < 2.2204460492503131e-16);
404 double fThen33 = std::exp((0.0 - (fConst1 / (iSlow99 ? 1.0 : fSlow94))));
405 double fSlow100 = (iSlow99 ? 0.0 : fThen33);
406 double fSlow101 = double(fHslider21);
407 int iSlow102 = (std::fabs(fSlow101) < 2.2204460492503131e-16);
408 double fThen35 = std::exp((0.0 - (fConst1 / (iSlow102 ? 1.0 : fSlow101))));
409 double fSlow103 = (iSlow102 ? 0.0 : fThen35);
410 double fSlow104 = (1.0 - fSlow97);
411 double fSlow105 = double(fHslider22);
412 double fSlow106 = std::fabs((std::max<double>(0.0, (fSlow105 + -2.0)) + -1.0));
413 double fSlow107 = double(fHslider23);
414 double fSlow108 = std::max<double>(0.0, (fSlow105 + -1.0));
415 double fSlow109 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * ((fSlow107 - double(fHslider24)) * std::fabs((fSlow108 + -1.0))))));
416 int iSlow110 = int(fSlow108);
417 double fSlow111 = (1.0 / (((fSlow38 + 1.0000000000000004) / fSlow37) + 1.0));
418 double fSlow112 = (0.0 - (1.0 / (fSlow37 * fSlow39)));
419 double fSlow113 = (1.0 / fSlow39);
420 double fSlow114 = (1.0 / (fSlow37 * fSlow87));
421 double fSlow115 = (((fSlow38 + -1.0000000000000004) / fSlow37) + 1.0);
422 double fSlow116 = (0.0 - (2.0 / fSlow43));
423 double fSlow117 = double(fHslider25);
424 double fSlow118 = (0.5 * fSlow117);
425 int iSlow119 = (std::fabs(fSlow118) < 2.2204460492503131e-16);
426 double fThen44 = std::exp((0.0 - (fConst1 / (iSlow119 ? 1.0 : fSlow118))));
427 double fSlow120 = (iSlow119 ? 0.0 : fThen44);
428 double fSlow121 = ((1.0 / std::max<double>(2.2204460492503131e-16, double(fHslider26))) + -1.0);
429 int iSlow122 = (std::fabs(fSlow117) < 2.2204460492503131e-16);
430 double fThen47 = std::exp((0.0 - (fConst1 / (iSlow122 ? 1.0 : fSlow117))));
431 double fSlow123 = (iSlow122 ? 0.0 : fThen47);
432 double fSlow124 = double(fHslider27);
433 int iSlow125 = (std::fabs(fSlow124) < 2.2204460492503131e-16);
434 double fThen49 = std::exp((0.0 - (fConst1 / (iSlow125 ? 1.0 : fSlow124))));
435 double fSlow126 = (iSlow125 ? 0.0 : fThen49);
436 double fSlow127 = (1.0 - fSlow120);
437 double fSlow128 = double(fHslider28);
438 double fSlow129 = std::fabs((std::max<double>(0.0, (fSlow128 + -2.0)) + -1.0));
439 double fSlow130 = double(fHslider29);
440 double fSlow131 = std::max<double>(0.0, (fSlow128 + -1.0));
441 double fSlow132 = (0.0010000000000000009 * std::pow(10.0, (0.050000000000000003 * ((fSlow130 - double(fHslider30)) * std::fabs((fSlow131 + -1.0))))));
442 int iSlow133 = int(fSlow131);
443 double fSlow134 = double(fHslider31);
444 double fSlow135 = (0.5 * fSlow134);
445 int iSlow136 = (std::fabs(fSlow135) < 2.2204460492503131e-16);
446 double fThen58 = std::exp((0.0 - (fConst1 / (iSlow136 ? 1.0 : fSlow135))));
447 double fSlow137 = (iSlow136 ? 0.0 : fThen58);
448 double fSlow138 = ((1.0 / std::max<double>(2.2204460492503131e-16, double(fHslider32))) + -1.0);
449 int iSlow139 = (std::fabs(fSlow134) < 2.2204460492503131e-16);
450 double fThen61 = std::exp((0.0 - (fConst1 / (iSlow139 ? 1.0 : fSlow134))));
451 double fSlow140 = (iSlow139 ? 0.0 : fThen61);
452 double fSlow141 = double(fHslider33);
453 int iSlow142 = (std::fabs(fSlow141) < 2.2204460492503131e-16);
454 double fThen63 = std::exp((0.0 - (fConst1 / (iSlow142 ? 1.0 : fSlow141))));
455 double fSlow143 = (iSlow142 ? 0.0 : fThen63);
456 double fSlow144 = (1.0 - fSlow137);
457 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
458 int iTemp0 = (iRec1[1] < 4096);
459 fRec3[0] = (fSlow4 + (0.999 * fRec3[1]));
460 double fTemp1 = double(input0[i0]);
461 fVec0[0] = fTemp1;
462 fRec8[0] = ((fSlow13 * fVec0[1]) - (fSlow14 * ((fSlow15 * fRec8[1]) - (fSlow7 * fTemp1))));
463 fRec7[0] = (fRec8[0] - (fSlow9 * ((fSlow16 * fRec7[2]) + (fSlow17 * fRec7[1]))));
464 double fTemp2 = (fSlow27 * fRec6[1]);
465 fRec6[0] = ((fSlow9 * (((fSlow11 * fRec7[0]) + (fSlow18 * fRec7[1])) + (fSlow11 * fRec7[2]))) - (fSlow22 * ((fSlow24 * fRec6[2]) + fTemp2)));
466 double fTemp3 = (fSlow36 * fRec5[1]);
467 fRec5[0] = ((fRec6[2] + (fSlow22 * (fTemp2 + (fSlow24 * fRec6[0])))) - (fSlow31 * ((fSlow33 * fRec5[2]) + fTemp3)));
468 double fTemp4 = (fSlow45 * fRec4[1]);
469 fRec4[0] = ((fRec5[2] + (fSlow31 * (fTemp3 + (fSlow33 * fRec5[0])))) - (fSlow40 * ((fSlow42 * fRec4[2]) + fTemp4)));
470 double fTemp5 = (fRec4[2] + (fSlow40 * (fTemp4 + (fSlow42 * fRec4[0]))));
471 double fTemp6 = (iSlow5 ? 0.0 : fTemp5);
472 double fTemp7 = double(input1[i0]);
473 fVec1[0] = fTemp7;
474 fRec16[0] = ((fSlow13 * fVec1[1]) - (fSlow14 * ((fSlow15 * fRec16[1]) - (fSlow7 * fTemp7))));
475 fRec15[0] = (fRec16[0] - (fSlow9 * ((fSlow16 * fRec15[2]) + (fSlow17 * fRec15[1]))));
476 double fTemp8 = (fSlow27 * fRec14[1]);
477 fRec14[0] = ((fSlow9 * (((fSlow11 * fRec15[0]) + (fSlow18 * fRec15[1])) + (fSlow11 * fRec15[2]))) - (fSlow22 * ((fSlow24 * fRec14[2]) + fTemp8)));
478 double fTemp9 = (fSlow36 * fRec13[1]);
479 fRec13[0] = ((fRec14[2] + (fSlow22 * (fTemp8 + (fSlow24 * fRec14[0])))) - (fSlow31 * ((fSlow33 * fRec13[2]) + fTemp9)));
480 double fTemp10 = (fSlow45 * fRec12[1]);
481 fRec12[0] = ((fRec13[2] + (fSlow31 * (fTemp9 + (fSlow33 * fRec13[0])))) - (fSlow40 * ((fSlow42 * fRec12[2]) + fTemp10)));
482 double fTemp11 = (fRec12[2] + (fSlow40 * (fTemp10 + (fSlow42 * fRec12[0]))));
483 double fTemp12 = (iSlow5 ? 0.0 : fTemp11);
484 double fTemp13 = std::fabs((std::fabs(fTemp6) + std::fabs(fTemp12)));
485 double fTemp14 = ((fRec10[1] > fTemp13) ? fSlow55 : fSlow52);
486 fRec11[0] = ((fRec11[1] * fTemp14) + (fTemp13 * (1.0 - fTemp14)));
487 fRec10[0] = fRec11[0];
488 fRec9[0] = ((fRec9[1] * fSlow49) + (fSlow50 * (std::max<double>((fSlow2 + (20.0 * std::log10(std::max<double>(2.2250738585072014e-308, fRec10[0])))), 0.0) * fSlow56)));
489 double fTemp15 = std::pow(10.0, (0.050000000000000003 * fRec9[0]));
490 double fThen9 = (fTemp6 * fTemp15);
491 double fTemp16 = (fSlow1 * (fRec3[0] * (iSlow5 ? fTemp5 : fThen9)));
492 double fThen10 = (fTemp12 * fTemp15);
493 double fTemp17 = (fSlow1 * (fRec3[0] * (iSlow5 ? fTemp11 : fThen10)));
494 double fTemp18 = std::max<double>(fConst1, (std::fabs(fTemp16) + std::fabs(fTemp17)));
495 double fElse11 = (fTemp18 + fRec0[1]);
496 fRec0[0] = (iTemp0 ? fElse11 : fTemp18);
497 int iElse12 = (iRec1[1] + 1);
498 iRec1[0] = (iTemp0 ? iElse12 : 1);
499 double fThen13 = (0.000244140625 * fRec0[1]);
500 fRec2[0] = (iTemp0 ? fRec2[1] : fThen13);
501 fVbargraph0 = FAUSTFLOAT((0.5 * fRec2[0]));
502 int iTemp19 = (iRec18[1] < 4096);
503 fRec20[0] = (fSlow61 + (0.999 * fRec20[1]));
504 fRec26[0] = (0.0 - (fSlow14 * ((fSlow15 * fRec26[1]) - (fTemp1 + fVec0[1]))));
505 fRec25[0] = (fRec26[0] - (fSlow9 * ((fSlow16 * fRec25[2]) + (fSlow17 * fRec25[1]))));
506 double fTemp20 = (fRec25[2] + (fRec25[0] + (2.0 * fRec25[1])));
507 double fTemp21 = (fSlow9 * fTemp20);
508 fVec2[0] = fTemp21;
509 fRec24[0] = ((fSlow65 * fVec2[1]) - (fSlow66 * ((fSlow23 * fRec24[1]) - (fSlow67 * fTemp20))));
510 fRec23[0] = (fRec24[0] - (fSlow64 * ((fSlow68 * fRec23[2]) + (fSlow27 * fRec23[1]))));
511 double fTemp22 = (fSlow36 * fRec22[1]);
512 fRec22[0] = ((fSlow64 * (((fSlow26 * fRec23[0]) + (fSlow69 * fRec23[1])) + (fSlow26 * fRec23[2]))) - (fSlow31 * ((fSlow33 * fRec22[2]) + fTemp22)));
513 double fTemp23 = (fSlow45 * fRec21[1]);
514 fRec21[0] = ((fRec22[2] + (fSlow31 * (fTemp22 + (fSlow33 * fRec22[0])))) - (fSlow40 * ((fSlow42 * fRec21[2]) + fTemp23)));
515 double fTemp24 = (fRec21[2] + (fSlow40 * (fTemp23 + (fSlow42 * fRec21[0]))));
516 double fTemp25 = (iSlow62 ? 0.0 : fTemp24);
517 fRec35[0] = (0.0 - (fSlow14 * ((fSlow15 * fRec35[1]) - (fTemp7 + fVec1[1]))));
518 fRec34[0] = (fRec35[0] - (fSlow9 * ((fSlow16 * fRec34[2]) + (fSlow17 * fRec34[1]))));
519 double fTemp26 = (fRec34[2] + (fRec34[0] + (2.0 * fRec34[1])));
520 double fTemp27 = (fSlow9 * fTemp26);
521 fVec3[0] = fTemp27;
522 fRec33[0] = ((fSlow65 * fVec3[1]) - (fSlow66 * ((fSlow23 * fRec33[1]) - (fSlow67 * fTemp26))));
523 fRec32[0] = (fRec33[0] - (fSlow64 * ((fSlow68 * fRec32[2]) + (fSlow27 * fRec32[1]))));
524 double fTemp28 = (fSlow36 * fRec31[1]);
525 fRec31[0] = ((fSlow64 * (((fSlow26 * fRec32[0]) + (fSlow69 * fRec32[1])) + (fSlow26 * fRec32[2]))) - (fSlow31 * ((fSlow33 * fRec31[2]) + fTemp28)));
526 double fTemp29 = (fSlow45 * fRec30[1]);
527 fRec30[0] = ((fRec31[2] + (fSlow31 * (fTemp28 + (fSlow33 * fRec31[0])))) - (fSlow40 * ((fSlow42 * fRec30[2]) + fTemp29)));
528 double fTemp30 = (fRec30[2] + (fSlow40 * (fTemp29 + (fSlow42 * fRec30[0]))));
529 double fTemp31 = (iSlow62 ? 0.0 : fTemp30);
530 double fTemp32 = std::fabs((std::fabs(fTemp25) + std::fabs(fTemp31)));
531 double fTemp33 = ((fRec28[1] > fTemp32) ? fSlow79 : fSlow76);
532 fRec29[0] = ((fRec29[1] * fTemp33) + (fTemp32 * (1.0 - fTemp33)));
533 fRec28[0] = fRec29[0];
534 fRec27[0] = ((fRec27[1] * fSlow73) + (fSlow74 * (std::max<double>((fSlow59 + (20.0 * std::log10(std::max<double>(2.2250738585072014e-308, fRec28[0])))), 0.0) * fSlow80)));
535 double fTemp34 = std::pow(10.0, (0.050000000000000003 * fRec27[0]));
536 double fThen23 = (fTemp25 * fTemp34);
537 double fTemp35 = (fSlow58 * (fRec20[0] * (iSlow62 ? fTemp24 : fThen23)));
538 double fThen24 = (fTemp31 * fTemp34);
539 double fTemp36 = (fSlow58 * (fRec20[0] * (iSlow62 ? fTemp30 : fThen24)));
540 double fTemp37 = std::max<double>(fConst1, (std::fabs(fTemp35) + std::fabs(fTemp36)));
541 double fElse25 = (fTemp37 + fRec17[1]);
542 fRec17[0] = (iTemp19 ? fElse25 : fTemp37);
543 int iElse26 = (iRec18[1] + 1);
544 iRec18[0] = (iTemp19 ? iElse26 : 1);
545 double fThen27 = (0.000244140625 * fRec17[1]);
546 fRec19[0] = (iTemp19 ? fRec19[1] : fThen27);
547 fVbargraph1 = FAUSTFLOAT((0.5 * fRec19[0]));
548 int iTemp38 = (iRec37[1] < 4096);
549 fRec39[0] = (fSlow85 + (0.999 * fRec39[1]));
550 fRec44[0] = (0.0 - (fSlow66 * ((fSlow23 * fRec44[1]) - (fTemp21 + fVec2[1]))));
551 fRec43[0] = (fRec44[0] - (fSlow64 * ((fSlow68 * fRec43[2]) + (fSlow27 * fRec43[1]))));
552 double fTemp39 = (fRec43[2] + (fRec43[0] + (2.0 * fRec43[1])));
553 double fTemp40 = (fSlow64 * fTemp39);
554 fVec4[0] = fTemp40;
555 fRec42[0] = ((fSlow89 * fVec4[1]) - (fSlow90 * ((fSlow32 * fRec42[1]) - (fSlow91 * fTemp39))));
556 fRec41[0] = (fRec42[0] - (fSlow88 * ((fSlow92 * fRec41[2]) + (fSlow36 * fRec41[1]))));
557 double fTemp41 = (fSlow45 * fRec40[1]);
558 fRec40[0] = ((fSlow88 * (((fSlow35 * fRec41[0]) + (fSlow93 * fRec41[1])) + (fSlow35 * fRec41[2]))) - (fSlow40 * ((fSlow42 * fRec40[2]) + fTemp41)));
559 double fTemp42 = (fRec40[2] + (fSlow40 * (fTemp41 + (fSlow42 * fRec40[0]))));
560 double fTemp43 = (iSlow86 ? 0.0 : fTemp42);
561 fRec52[0] = (0.0 - (fSlow66 * ((fSlow23 * fRec52[1]) - (fTemp27 + fVec3[1]))));
562 fRec51[0] = (fRec52[0] - (fSlow64 * ((fSlow68 * fRec51[2]) + (fSlow27 * fRec51[1]))));
563 double fTemp44 = (fRec51[2] + (fRec51[0] + (2.0 * fRec51[1])));
564 double fTemp45 = (fSlow64 * fTemp44);
565 fVec5[0] = fTemp45;
566 fRec50[0] = ((fSlow89 * fVec5[1]) - (fSlow90 * ((fSlow32 * fRec50[1]) - (fSlow91 * fTemp44))));
567 fRec49[0] = (fRec50[0] - (fSlow88 * ((fSlow92 * fRec49[2]) + (fSlow36 * fRec49[1]))));
568 double fTemp46 = (fSlow45 * fRec48[1]);
569 fRec48[0] = ((fSlow88 * (((fSlow35 * fRec49[0]) + (fSlow93 * fRec49[1])) + (fSlow35 * fRec49[2]))) - (fSlow40 * ((fSlow42 * fRec48[2]) + fTemp46)));
570 double fTemp47 = (fRec48[2] + (fSlow40 * (fTemp46 + (fSlow42 * fRec48[0]))));
571 double fTemp48 = (iSlow86 ? 0.0 : fTemp47);
572 double fTemp49 = std::fabs((std::fabs(fTemp43) + std::fabs(fTemp48)));
573 double fTemp50 = ((fRec46[1] > fTemp49) ? fSlow103 : fSlow100);
574 fRec47[0] = ((fRec47[1] * fTemp50) + (fTemp49 * (1.0 - fTemp50)));
575 fRec46[0] = fRec47[0];
576 fRec45[0] = ((fRec45[1] * fSlow97) + (fSlow98 * (std::max<double>((fSlow83 + (20.0 * std::log10(std::max<double>(2.2250738585072014e-308, fRec46[0])))), 0.0) * fSlow104)));
577 double fTemp51 = std::pow(10.0, (0.050000000000000003 * fRec45[0]));
578 double fThen37 = (fTemp43 * fTemp51);
579 double fTemp52 = (fSlow82 * (fRec39[0] * (iSlow86 ? fTemp42 : fThen37)));
580 double fThen38 = (fTemp48 * fTemp51);
581 double fTemp53 = (fSlow82 * (fRec39[0] * (iSlow86 ? fTemp47 : fThen38)));
582 double fTemp54 = std::max<double>(fConst1, (std::fabs(fTemp52) + std::fabs(fTemp53)));
583 double fElse39 = (fTemp54 + fRec36[1]);
584 fRec36[0] = (iTemp38 ? fElse39 : fTemp54);
585 int iElse40 = (iRec37[1] + 1);
586 iRec37[0] = (iTemp38 ? iElse40 : 1);
587 double fThen41 = (0.000244140625 * fRec36[1]);
588 fRec38[0] = (iTemp38 ? fRec38[1] : fThen41);
589 fVbargraph2 = FAUSTFLOAT((0.5 * fRec38[0]));
590 int iTemp55 = (iRec54[1] < 4096);
591 fRec56[0] = (fSlow109 + (0.999 * fRec56[1]));
592 fRec60[0] = (0.0 - (fSlow90 * ((fSlow32 * fRec60[1]) - (fTemp40 + fVec4[1]))));
593 fRec59[0] = (fRec60[0] - (fSlow88 * ((fSlow92 * fRec59[2]) + (fSlow36 * fRec59[1]))));
594 double fTemp56 = (fRec59[2] + (fRec59[0] + (2.0 * fRec59[1])));
595 double fTemp57 = (fSlow88 * fTemp56);
596 fVec6[0] = fTemp57;
597 fRec58[0] = ((fSlow112 * fVec6[1]) - (fSlow113 * ((fSlow41 * fRec58[1]) - (fSlow114 * fTemp56))));
598 fRec57[0] = (fRec58[0] - (fSlow111 * ((fSlow115 * fRec57[2]) + (fSlow45 * fRec57[1]))));
599 double fTemp58 = (fSlow111 * (((fSlow44 * fRec57[0]) + (fSlow116 * fRec57[1])) + (fSlow44 * fRec57[2])));
600 double fTemp59 = (iSlow110 ? 0.0 : fTemp58);
601 fRec67[0] = (0.0 - (fSlow90 * ((fSlow32 * fRec67[1]) - (fTemp45 + fVec5[1]))));
602 fRec66[0] = (fRec67[0] - (fSlow88 * ((fSlow92 * fRec66[2]) + (fSlow36 * fRec66[1]))));
603 double fTemp60 = (fRec66[2] + (fRec66[0] + (2.0 * fRec66[1])));
604 double fTemp61 = (fSlow88 * fTemp60);
605 fVec7[0] = fTemp61;
606 fRec65[0] = ((fSlow112 * fVec7[1]) - (fSlow113 * ((fSlow41 * fRec65[1]) - (fSlow114 * fTemp60))));
607 fRec64[0] = (fRec65[0] - (fSlow111 * ((fSlow115 * fRec64[2]) + (fSlow45 * fRec64[1]))));
608 double fTemp62 = (fSlow111 * (((fSlow44 * fRec64[0]) + (fSlow116 * fRec64[1])) + (fSlow44 * fRec64[2])));
609 double fTemp63 = (iSlow110 ? 0.0 : fTemp62);
610 double fTemp64 = std::fabs((std::fabs(fTemp59) + std::fabs(fTemp63)));
611 double fTemp65 = ((fRec62[1] > fTemp64) ? fSlow126 : fSlow123);
612 fRec63[0] = ((fRec63[1] * fTemp65) + (fTemp64 * (1.0 - fTemp65)));
613 fRec62[0] = fRec63[0];
614 fRec61[0] = ((fRec61[1] * fSlow120) + (fSlow121 * (std::max<double>((fSlow107 + (20.0 * std::log10(std::max<double>(2.2250738585072014e-308, fRec62[0])))), 0.0) * fSlow127)));
615 double fTemp66 = std::pow(10.0, (0.050000000000000003 * fRec61[0]));
616 double fThen51 = (fTemp59 * fTemp66);
617 double fTemp67 = (fSlow106 * (fRec56[0] * (iSlow110 ? fTemp58 : fThen51)));
618 double fThen52 = (fTemp63 * fTemp66);
619 double fTemp68 = (fSlow106 * (fRec56[0] * (iSlow110 ? fTemp62 : fThen52)));
620 double fTemp69 = std::max<double>(fConst1, (std::fabs(fTemp67) + std::fabs(fTemp68)));
621 double fElse53 = (fTemp69 + fRec53[1]);
622 fRec53[0] = (iTemp55 ? fElse53 : fTemp69);
623 int iElse54 = (iRec54[1] + 1);
624 iRec54[0] = (iTemp55 ? iElse54 : 1);
625 double fThen55 = (0.000244140625 * fRec53[1]);
626 fRec55[0] = (iTemp55 ? fRec55[1] : fThen55);
627 fVbargraph3 = FAUSTFLOAT((0.5 * fRec55[0]));
628 int iTemp70 = (iRec69[1] < 4096);
629 fRec71[0] = (fSlow132 + (0.999 * fRec71[1]));
630 fRec73[0] = (0.0 - (fSlow113 * ((fSlow41 * fRec73[1]) - (fTemp57 + fVec6[1]))));
631 fRec72[0] = (fRec73[0] - (fSlow111 * ((fSlow115 * fRec72[2]) + (fSlow45 * fRec72[1]))));
632 double fTemp71 = (fSlow111 * (fRec72[2] + (fRec72[0] + (2.0 * fRec72[1]))));
633 double fTemp72 = (iSlow133 ? 0.0 : fTemp71);
634 fRec78[0] = (0.0 - (fSlow113 * ((fSlow41 * fRec78[1]) - (fTemp61 + fVec7[1]))));
635 fRec77[0] = (fRec78[0] - (fSlow111 * ((fSlow115 * fRec77[2]) + (fSlow45 * fRec77[1]))));
636 double fTemp73 = (fSlow111 * (fRec77[2] + (fRec77[0] + (2.0 * fRec77[1]))));
637 double fTemp74 = (iSlow133 ? 0.0 : fTemp73);
638 double fTemp75 = std::fabs((std::fabs(fTemp72) + std::fabs(fTemp74)));
639 double fTemp76 = ((fRec75[1] > fTemp75) ? fSlow143 : fSlow140);
640 fRec76[0] = ((fRec76[1] * fTemp76) + (fTemp75 * (1.0 - fTemp76)));
641 fRec75[0] = fRec76[0];
642 fRec74[0] = ((fRec74[1] * fSlow137) + (fSlow138 * (std::max<double>((fSlow130 + (20.0 * std::log10(std::max<double>(2.2250738585072014e-308, fRec75[0])))), 0.0) * fSlow144)));
643 double fTemp77 = std::pow(10.0, (0.050000000000000003 * fRec74[0]));
644 double fThen65 = (fTemp72 * fTemp77);
645 double fTemp78 = (fSlow129 * (fRec71[0] * (iSlow133 ? fTemp71 : fThen65)));
646 double fThen66 = (fTemp74 * fTemp77);
647 double fTemp79 = (fSlow129 * (fRec71[0] * (iSlow133 ? fTemp73 : fThen66)));
648 double fTemp80 = std::max<double>(fConst1, (std::fabs(fTemp78) + std::fabs(fTemp79)));
649 double fElse67 = (fTemp80 + fRec68[1]);
650 fRec68[0] = (iTemp70 ? fElse67 : fTemp80);
651 int iElse68 = (iRec69[1] + 1);
652 iRec69[0] = (iTemp70 ? iElse68 : 1);
653 double fThen69 = (0.000244140625 * fRec68[1]);
654 fRec70[0] = (iTemp70 ? fRec70[1] : fThen69);
655 fVbargraph4 = FAUSTFLOAT((0.5 * fRec70[0]));
656 output0[i0] = FAUSTFLOAT(((((fTemp16 + fTemp35) + fTemp52) + fTemp67) + fTemp78));
657 output1[i0] = FAUSTFLOAT((fTemp79 + (fTemp68 + (fTemp53 + (fTemp17 + fTemp36)))));
658 fRec3[1] = fRec3[0];
659 fVec0[1] = fVec0[0];
660 fRec8[1] = fRec8[0];
661 fRec7[2] = fRec7[1];
662 fRec7[1] = fRec7[0];
663 fRec6[2] = fRec6[1];
664 fRec6[1] = fRec6[0];
665 fRec5[2] = fRec5[1];
666 fRec5[1] = fRec5[0];
667 fRec4[2] = fRec4[1];
668 fRec4[1] = fRec4[0];
669 fVec1[1] = fVec1[0];
670 fRec16[1] = fRec16[0];
671 fRec15[2] = fRec15[1];
672 fRec15[1] = fRec15[0];
673 fRec14[2] = fRec14[1];
674 fRec14[1] = fRec14[0];
675 fRec13[2] = fRec13[1];
676 fRec13[1] = fRec13[0];
677 fRec12[2] = fRec12[1];
678 fRec12[1] = fRec12[0];
679 fRec11[1] = fRec11[0];
680 fRec10[1] = fRec10[0];
681 fRec9[1] = fRec9[0];
682 fRec0[1] = fRec0[0];
683 iRec1[1] = iRec1[0];
684 fRec2[1] = fRec2[0];
685 fRec20[1] = fRec20[0];
686 fRec26[1] = fRec26[0];
687 fRec25[2] = fRec25[1];
688 fRec25[1] = fRec25[0];
689 fVec2[1] = fVec2[0];
690 fRec24[1] = fRec24[0];
691 fRec23[2] = fRec23[1];
692 fRec23[1] = fRec23[0];
693 fRec22[2] = fRec22[1];
694 fRec22[1] = fRec22[0];
695 fRec21[2] = fRec21[1];
696 fRec21[1] = fRec21[0];
697 fRec35[1] = fRec35[0];
698 fRec34[2] = fRec34[1];
699 fRec34[1] = fRec34[0];
700 fVec3[1] = fVec3[0];
701 fRec33[1] = fRec33[0];
702 fRec32[2] = fRec32[1];
703 fRec32[1] = fRec32[0];
704 fRec31[2] = fRec31[1];
705 fRec31[1] = fRec31[0];
706 fRec30[2] = fRec30[1];
707 fRec30[1] = fRec30[0];
708 fRec29[1] = fRec29[0];
709 fRec28[1] = fRec28[0];
710 fRec27[1] = fRec27[0];
711 fRec17[1] = fRec17[0];
712 iRec18[1] = iRec18[0];
713 fRec19[1] = fRec19[0];
714 fRec39[1] = fRec39[0];
715 fRec44[1] = fRec44[0];
716 fRec43[2] = fRec43[1];
717 fRec43[1] = fRec43[0];
718 fVec4[1] = fVec4[0];
719 fRec42[1] = fRec42[0];
720 fRec41[2] = fRec41[1];
721 fRec41[1] = fRec41[0];
722 fRec40[2] = fRec40[1];
723 fRec40[1] = fRec40[0];
724 fRec52[1] = fRec52[0];
725 fRec51[2] = fRec51[1];
726 fRec51[1] = fRec51[0];
727 fVec5[1] = fVec5[0];
728 fRec50[1] = fRec50[0];
729 fRec49[2] = fRec49[1];
730 fRec49[1] = fRec49[0];
731 fRec48[2] = fRec48[1];
732 fRec48[1] = fRec48[0];
733 fRec47[1] = fRec47[0];
734 fRec46[1] = fRec46[0];
735 fRec45[1] = fRec45[0];
736 fRec36[1] = fRec36[0];
737 iRec37[1] = iRec37[0];
738 fRec38[1] = fRec38[0];
739 fRec56[1] = fRec56[0];
740 fRec60[1] = fRec60[0];
741 fRec59[2] = fRec59[1];
742 fRec59[1] = fRec59[0];
743 fVec6[1] = fVec6[0];
744 fRec58[1] = fRec58[0];
745 fRec57[2] = fRec57[1];
746 fRec57[1] = fRec57[0];
747 fRec67[1] = fRec67[0];
748 fRec66[2] = fRec66[1];
749 fRec66[1] = fRec66[0];
750 fVec7[1] = fVec7[0];
751 fRec65[1] = fRec65[0];
752 fRec64[2] = fRec64[1];
753 fRec64[1] = fRec64[0];
754 fRec63[1] = fRec63[0];
755 fRec62[1] = fRec62[0];
756 fRec61[1] = fRec61[0];
757 fRec53[1] = fRec53[0];
758 iRec54[1] = iRec54[0];
759 fRec55[1] = fRec55[0];
760 fRec71[1] = fRec71[0];
761 fRec73[1] = fRec73[0];
762 fRec72[2] = fRec72[1];
763 fRec72[1] = fRec72[0];
764 fRec78[1] = fRec78[0];
765 fRec77[2] = fRec77[1];
766 fRec77[1] = fRec77[0];
767 fRec76[1] = fRec76[0];
768 fRec75[1] = fRec75[0];
769 fRec74[1] = fRec74[0];
770 fRec68[1] = fRec68[0];
771 iRec69[1] = iRec69[0];
772 fRec70[1] = fRec70[0];
773 }
774 }
775
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * input1,FAUSTFLOAT * output0,FAUSTFLOAT * output1,PluginDef * p)776 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *input1, FAUSTFLOAT *output0, FAUSTFLOAT *output1, PluginDef *p)
777 {
778 static_cast<Dsp*>(p)->compute(count, input0, input1, output0, output1);
779 }
780
register_par(const ParamReg & reg)781 int Dsp::register_par(const ParamReg& reg)
782 {
783 static const value_pair fHslider28_values[] = {{"Compress"},{"Bypass"},{"Mute"},{0}};
784 reg.registerFloatVar("mbcs.Mode1","","S",N_("Compress or Mute the selected band, or Bypass The Compressor"),&fHslider28, 1.0, 1.0, 3.0, 1.0, fHslider28_values);
785 static const value_pair fHslider22_values[] = {{"Compress"},{"Bypass"},{"Mute"},{0}};
786 reg.registerFloatVar("mbcs.Mode2","","S",N_("Compress or Mute the selected band, or Bypass The Compressor"),&fHslider22, 1.0, 1.0, 3.0, 1.0, fHslider22_values);
787 static const value_pair fHslider16_values[] = {{"Compress"},{"Bypass"},{"Mute"},{0}};
788 reg.registerFloatVar("mbcs.Mode3","","S",N_("Compress or Mute the selected band, or Bypass The Compressor"),&fHslider16, 1.0, 1.0, 3.0, 1.0, fHslider16_values);
789 static const value_pair fHslider10_values[] = {{"Compress"},{"Bypass"},{"Mute"},{0}};
790 reg.registerFloatVar("mbcs.Mode4","","S",N_("Compress or Mute the selected band, or Bypass The Compressor"),&fHslider10, 1.0, 1.0, 3.0, 1.0, fHslider10_values);
791 static const value_pair fHslider0_values[] = {{"Compress"},{"Bypass"},{"Mute"},{0}};
792 reg.registerFloatVar("mbcs.Mode5","","S",N_("Compress or Mute the selected band, or Bypass The Compressor"),&fHslider0, 1.0, 1.0, 3.0, 1.0, fHslider0_values);
793 reg.registerFloatVar("mbcs.Makeup1","","S",N_("Post amplification and threshold"),&fHslider29, 13.0, -50.0, 50.0, 0.10000000000000001, 0);
794 reg.registerFloatVar("mbcs.Makeup2","","S",N_("Post amplification and threshold"),&fHslider23, 10.0, -50.0, 50.0, 0.10000000000000001, 0);
795 reg.registerFloatVar("mbcs.Makeup3","","S",N_("Post amplification and threshold"),&fHslider17, 4.0, -50.0, 50.0, 0.10000000000000001, 0);
796 reg.registerFloatVar("mbcs.Makeup4","","S",N_("Post amplification and threshold"),&fHslider11, 8.0, -50.0, 50.0, 0.10000000000000001, 0);
797 reg.registerFloatVar("mbcs.Makeup5","","S",N_("Post amplification and threshold"),&fHslider1, 11.0, -50.0, 50.0, 0.10000000000000001, 0);
798 reg.registerFloatVar("mbcs.Makeup-Threshold1","","S",N_("Threshold correction, an anticlip measure"),&fHslider30, 2.0, 0.0, 10.0, 0.10000000000000001, 0);
799 reg.registerFloatVar("mbcs.Makeup-Threshold2","","S",N_("Threshold correction, an anticlip measure"),&fHslider24, 2.0, 0.0, 10.0, 0.10000000000000001, 0);
800 reg.registerFloatVar("mbcs.Makeup-Threshold3","","S",N_("Threshold correction, an anticlip measure"),&fHslider18, 2.0, 0.0, 10.0, 0.10000000000000001, 0);
801 reg.registerFloatVar("mbcs.Makeup-Threshold4","","S",N_("Threshold correction, an anticlip measure"),&fHslider12, 2.0, 0.0, 10.0, 0.10000000000000001, 0);
802 reg.registerFloatVar("mbcs.Makeup-Threshold5","","S",N_("Threshold correction, an anticlip measure"),&fHslider2, 2.0, 0.0, 10.0, 0.10000000000000001, 0);
803 reg.registerFloatVar("mbcs.Ratio1","","S",N_("Compression ratio"),&fHslider32, 2.0, 1.0, 100.0, 0.10000000000000001, 0);
804 reg.registerFloatVar("mbcs.Ratio2","","S",N_("Compression ratio"),&fHslider26, 2.0, 1.0, 100.0, 0.10000000000000001, 0);
805 reg.registerFloatVar("mbcs.Ratio3","","S",N_("Compression ratio"),&fHslider20, 2.0, 1.0, 100.0, 0.10000000000000001, 0);
806 reg.registerFloatVar("mbcs.Ratio4","","S",N_("Compression ratio"),&fHslider14, 2.0, 1.0, 100.0, 0.10000000000000001, 0);
807 reg.registerFloatVar("mbcs.Ratio5","","S",N_("Compression ratio"),&fHslider8, 2.0, 1.0, 100.0, 0.10000000000000001, 0);
808 reg.registerFloatVar("mbcs.Attack1","","S",N_("Time before the compressor starts to kick in"),&fHslider31, 0.012, 0.001, 1.0, 0.001, 0);
809 reg.registerFloatVar("mbcs.Attack2","","S",N_("Time before the compressor starts to kick in"),&fHslider25, 0.012, 0.001, 1.0, 0.001, 0);
810 reg.registerFloatVar("mbcs.Attack3","","S",N_("Time before the compressor starts to kick in"),&fHslider19, 0.012, 0.001, 1.0, 0.001, 0);
811 reg.registerFloatVar("mbcs.Attack4","","S",N_("Time before the compressor starts to kick in"),&fHslider13, 0.012, 0.001, 1.0, 0.001, 0);
812 reg.registerFloatVar("mbcs.Attack5","","S",N_("Time before the compressor starts to kick in"),&fHslider7, 0.012, 0.001, 1.0, 0.001, 0);
813 reg.registerFloatVar("mbcs.Release1","","S",N_("Time before the compressor releases the sound"),&fHslider33, 1.25, 0.01, 10.0, 0.01, 0);
814 reg.registerFloatVar("mbcs.Release2","","S",N_("Time before the compressor releases the sound"),&fHslider27, 1.25, 0.01, 10.0, 0.01, 0);
815 reg.registerFloatVar("mbcs.Release3","","S",N_("Time before the compressor releases the sound"),&fHslider21, 1.25, 0.01, 10.0, 0.01, 0);
816 reg.registerFloatVar("mbcs.Release4","","S",N_("Time before the compressor releases the sound"),&fHslider15, 1.25, 0.01, 10.0, 0.01, 0);
817 reg.registerFloatVar("mbcs.Release5","","S",N_("Time before the compressor releases the sound"),&fHslider9, 1.25, 0.01, 10.0, 0.01, 0);
818 reg.registerFloatVar("mbcs.crossover_b1_b2",N_("Crossover B1-B2 (hz)"),"SL",N_("Crossover fi.bandpass frequency"),&fHslider6, 80.0, 20.0, 20000.0, 1.0800000000000001, 0);
819 reg.registerFloatVar("mbcs.crossover_b2_b3",N_("Crossover B2-B3 (hz)"),"SL",N_("Crossover fi.bandpass frequency"),&fHslider5, 210.0, 20.0, 20000.0, 1.0800000000000001, 0);
820 reg.registerFloatVar("mbcs.crossover_b3_b4",N_("Crossover B3-B4 (hz)"),"SL",N_("Crossover fi.bandpass frequency"),&fHslider4, 1700.0, 20.0, 20000.0, 1.0800000000000001, 0);
821 reg.registerFloatVar("mbcs.crossover_b4_b5",N_("Crossover B4-B5 (hz)"),"SL",N_("Crossover fi.bandpass frequency"),&fHslider3, 5000.0, 20.0, 20000.0, 1.0800000000000001, 0);
822 reg.registerFloatVar("mbcs.v1","","SOLN",N_("Sum of Band1"),&fVbargraph4, 0, -70.0, 5.0, 0, 0);
823 reg.registerFloatVar("mbcs.v2","","SOLN",N_("Sum of Band2"),&fVbargraph3, 0, -70.0, 5.0, 0, 0);
824 reg.registerFloatVar("mbcs.v3","","SOLN",N_("Sum of Band3"),&fVbargraph2, 0, -70.0, 5.0, 0, 0);
825 reg.registerFloatVar("mbcs.v4","","SOLN",N_("Sum of Band4"),&fVbargraph1, 0, -70.0, 5.0, 0, 0);
826 reg.registerFloatVar("mbcs.v5","","SOLN",N_("Sum of Band5"),&fVbargraph0, 0, -70.0, 5.0, 0, 0);
827 return 0;
828 }
829
register_params_static(const ParamReg & reg)830 int Dsp::register_params_static(const ParamReg& reg)
831 {
832 return static_cast<Dsp*>(reg.plugin)->register_par(reg);
833 }
834
835 const char *Dsp::glade_def = "\
836 <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
837 <!-- Generated with glade 3.22.1 -->\n\
838 <interface>\n\
839 <requires lib=\"gtk+\" version=\"3.20\"/>\n\
840 <requires lib=\"gxwidgets\" version=\"0.0\"/>\n\
841 <object class=\"GtkWindow\" id=\"window1\">\n\
842 <property name=\"can_focus\">False</property>\n\
843 <child>\n\
844 <placeholder/>\n\
845 </child>\n\
846 <child>\n\
847 <object class=\"GtkBox\" id=\"vbox1\">\n\
848 <property name=\"visible\">True</property>\n\
849 <property name=\"can_focus\">False</property>\n\
850 <property name=\"orientation\">vertical</property>\n\
851 <child>\n\
852 <object class=\"GtkBox\" id=\"rackbox\">\n\
853 <property name=\"visible\">True</property>\n\
854 <property name=\"can_focus\">False</property>\n\
855 <property name=\"spacing\">4</property>\n\
856 <child>\n\
857 <object class=\"GtkBox\" id=\"hbox1\">\n\
858 <property name=\"visible\">True</property>\n\
859 <property name=\"can_focus\">False</property>\n\
860 <property name=\"spacing\">8</property>\n\
861 <child>\n\
862 <object class=\"GtkNotebook\" id=\"notebook\">\n\
863 <property name=\"visible\">True</property>\n\
864 <property name=\"can_focus\">True</property>\n\
865 <child>\n\
866 <object class=\"GtkBox\" id=\"hbox2\">\n\
867 <property name=\"visible\">True</property>\n\
868 <property name=\"can_focus\">False</property>\n\
869 <child>\n\
870 <object class=\"GtkBox\" id=\"vbox3\">\n\
871 <property name=\"visible\">True</property>\n\
872 <property name=\"can_focus\">False</property>\n\
873 <property name=\"orientation\">vertical</property>\n\
874 <property name=\"spacing\">4</property>\n\
875 <child>\n\
876 <object class=\"GtkBox\" id=\"hbox4\">\n\
877 <property name=\"visible\">True</property>\n\
878 <property name=\"can_focus\">False</property>\n\
879 <property name=\"spacing\">15</property>\n\
880 <child>\n\
881 <object class=\"GtkBox\" id=\"vbox4\">\n\
882 <property name=\"visible\">True</property>\n\
883 <property name=\"can_focus\">False</property>\n\
884 <property name=\"orientation\">vertical</property>\n\
885 <child>\n\
886 <object class=\"GtkLabel\" id=\"label_1:rack_label\">\n\
887 <property name=\"visible\">True</property>\n\
888 <property name=\"can_focus\">False</property>\n\
889 <property name=\"label\" translatable=\"yes\">Ratio</property>\n\
890 </object>\n\
891 <packing>\n\
892 <property name=\"expand\">False</property>\n\
893 <property name=\"fill\">False</property>\n\
894 <property name=\"position\">0</property>\n\
895 </packing>\n\
896 </child>\n\
897 <child>\n\
898 <object class=\"GxSmallKnobR\" id=\"gxmediumknob1\">\n\
899 <property name=\"visible\">True</property>\n\
900 <property name=\"can_focus\">True</property>\n\
901 <property name=\"receives_default\">True</property>\n\
902 <property name=\"var_id\">mbcs.Ratio1</property>\n\
903 </object>\n\
904 <packing>\n\
905 <property name=\"expand\">True</property>\n\
906 <property name=\"fill\">True</property>\n\
907 <property name=\"position\">1</property>\n\
908 </packing>\n\
909 </child>\n\
910 </object>\n\
911 <packing>\n\
912 <property name=\"expand\">True</property>\n\
913 <property name=\"fill\">True</property>\n\
914 <property name=\"position\">0</property>\n\
915 </packing>\n\
916 </child>\n\
917 <child>\n\
918 <object class=\"GtkBox\" id=\"vbox5\">\n\
919 <property name=\"visible\">True</property>\n\
920 <property name=\"can_focus\">False</property>\n\
921 <property name=\"orientation\">vertical</property>\n\
922 <child>\n\
923 <object class=\"GtkLabel\" id=\"label_2:rack_label\">\n\
924 <property name=\"visible\">True</property>\n\
925 <property name=\"can_focus\">False</property>\n\
926 <property name=\"label\" translatable=\"yes\">Makeup</property>\n\
927 </object>\n\
928 <packing>\n\
929 <property name=\"expand\">False</property>\n\
930 <property name=\"fill\">False</property>\n\
931 <property name=\"position\">0</property>\n\
932 </packing>\n\
933 </child>\n\
934 <child>\n\
935 <object class=\"GxSmallKnobR\" id=\"gxmediumknob2\">\n\
936 <property name=\"visible\">True</property>\n\
937 <property name=\"can_focus\">True</property>\n\
938 <property name=\"receives_default\">True</property>\n\
939 <property name=\"var_id\">mbcs.Makeup1</property>\n\
940 </object>\n\
941 <packing>\n\
942 <property name=\"expand\">True</property>\n\
943 <property name=\"fill\">True</property>\n\
944 <property name=\"position\">1</property>\n\
945 </packing>\n\
946 </child>\n\
947 </object>\n\
948 <packing>\n\
949 <property name=\"expand\">True</property>\n\
950 <property name=\"fill\">True</property>\n\
951 <property name=\"position\">1</property>\n\
952 </packing>\n\
953 </child>\n\
954 <child>\n\
955 <object class=\"GtkBox\" id=\"vbox6\">\n\
956 <property name=\"visible\">True</property>\n\
957 <property name=\"can_focus\">False</property>\n\
958 <property name=\"orientation\">vertical</property>\n\
959 <child>\n\
960 <object class=\"GtkLabel\" id=\"label_3:rack_label\">\n\
961 <property name=\"visible\">True</property>\n\
962 <property name=\"can_focus\">False</property>\n\
963 <property name=\"label\" translatable=\"yes\">Anticlip</property>\n\
964 </object>\n\
965 <packing>\n\
966 <property name=\"expand\">False</property>\n\
967 <property name=\"fill\">False</property>\n\
968 <property name=\"position\">0</property>\n\
969 </packing>\n\
970 </child>\n\
971 <child>\n\
972 <object class=\"GxSmallKnobR\" id=\"gxmediumknob3\">\n\
973 <property name=\"visible\">True</property>\n\
974 <property name=\"can_focus\">True</property>\n\
975 <property name=\"receives_default\">True</property>\n\
976 <property name=\"var_id\">mbcs.Makeup-Threshold1</property>\n\
977 </object>\n\
978 <packing>\n\
979 <property name=\"expand\">True</property>\n\
980 <property name=\"fill\">True</property>\n\
981 <property name=\"position\">1</property>\n\
982 </packing>\n\
983 </child>\n\
984 </object>\n\
985 <packing>\n\
986 <property name=\"expand\">True</property>\n\
987 <property name=\"fill\">True</property>\n\
988 <property name=\"position\">2</property>\n\
989 </packing>\n\
990 </child>\n\
991 </object>\n\
992 <packing>\n\
993 <property name=\"expand\">True</property>\n\
994 <property name=\"fill\">True</property>\n\
995 <property name=\"position\">0</property>\n\
996 </packing>\n\
997 </child>\n\
998 <child>\n\
999 <object class=\"GxSelector\" id=\"gxselector1\">\n\
1000 <property name=\"visible\">True</property>\n\
1001 <property name=\"can_focus\">True</property>\n\
1002 <property name=\"receives_default\">True</property>\n\
1003 <property name=\"var_id\">mbcs.Mode1</property>\n\
1004 <property name=\"value_position\">right</property>\n\
1005 </object>\n\
1006 <packing>\n\
1007 <property name=\"expand\">True</property>\n\
1008 <property name=\"fill\">True</property>\n\
1009 <property name=\"position\">1</property>\n\
1010 </packing>\n\
1011 </child>\n\
1012 </object>\n\
1013 <packing>\n\
1014 <property name=\"expand\">False</property>\n\
1015 <property name=\"fill\">True</property>\n\
1016 <property name=\"position\">0</property>\n\
1017 </packing>\n\
1018 </child>\n\
1019 <child>\n\
1020 <object class=\"GtkGrid\" id=\"table1\">\n\
1021 <property name=\"visible\">True</property>\n\
1022 <property name=\"can_focus\">False</property>\n\
1023 <property name=\"halign\">center</property>\n\
1024 <property name=\"row_spacing\">4</property>\n\
1025 <property name=\"column_homogeneous\">True</property>\n\
1026 <child>\n\
1027 <object class=\"GxSmallKnob\" id=\"gxsmallknob1\">\n\
1028 <property name=\"visible\">True</property>\n\
1029 <property name=\"can_focus\">True</property>\n\
1030 <property name=\"receives_default\">True</property>\n\
1031 <property name=\"var_id\">mbcs.Attack1</property>\n\
1032 </object>\n\
1033 <packing>\n\
1034 <property name=\"left_attach\">1</property>\n\
1035 <property name=\"top_attach\">0</property>\n\
1036 </packing>\n\
1037 </child>\n\
1038 <child>\n\
1039 <object class=\"GxSmallKnob\" id=\"gxsmallknob4\">\n\
1040 <property name=\"visible\">True</property>\n\
1041 <property name=\"can_focus\">True</property>\n\
1042 <property name=\"receives_default\">True</property>\n\
1043 <property name=\"var_id\">mbcs.crossover_b1_b2</property>\n\
1044 </object>\n\
1045 <packing>\n\
1046 <property name=\"left_attach\">3</property>\n\
1047 <property name=\"top_attach\">1</property>\n\
1048 </packing>\n\
1049 </child>\n\
1050 <child>\n\
1051 <object class=\"GtkLabel\" id=\"label_4:rack_label\">\n\
1052 <property name=\"visible\">True</property>\n\
1053 <property name=\"can_focus\">False</property>\n\
1054 <property name=\"label\" translatable=\"yes\">Att</property>\n\
1055 <property name=\"xalign\">1</property>\n\
1056 </object>\n\
1057 <packing>\n\
1058 <property name=\"left_attach\">0</property>\n\
1059 <property name=\"top_attach\">0</property>\n\
1060 </packing>\n\
1061 </child>\n\
1062 <child>\n\
1063 <object class=\"GtkLabel\" id=\"label_7:rack_label\">\n\
1064 <property name=\"visible\">True</property>\n\
1065 <property name=\"can_focus\">False</property>\n\
1066 <property name=\"label\" translatable=\"yes\">High</property>\n\
1067 <property name=\"xalign\">1</property>\n\
1068 </object>\n\
1069 <packing>\n\
1070 <property name=\"left_attach\">2</property>\n\
1071 <property name=\"top_attach\">1</property>\n\
1072 </packing>\n\
1073 </child>\n\
1074 <child>\n\
1075 <object class=\"GtkLabel\" id=\"label_5:rack_label\">\n\
1076 <property name=\"visible\">True</property>\n\
1077 <property name=\"can_focus\">False</property>\n\
1078 <property name=\"label\" translatable=\"yes\">Rel</property>\n\
1079 <property name=\"xalign\">1</property>\n\
1080 </object>\n\
1081 <packing>\n\
1082 <property name=\"left_attach\">2</property>\n\
1083 <property name=\"top_attach\">0</property>\n\
1084 </packing>\n\
1085 </child>\n\
1086 <child>\n\
1087 <object class=\"GxSmallKnob\" id=\"gxsmallknob3\">\n\
1088 <property name=\"visible\">True</property>\n\
1089 <property name=\"can_focus\">True</property>\n\
1090 <property name=\"receives_default\">True</property>\n\
1091 <property name=\"var_id\">mbcs.Release1</property>\n\
1092 </object>\n\
1093 <packing>\n\
1094 <property name=\"left_attach\">3</property>\n\
1095 <property name=\"top_attach\">0</property>\n\
1096 </packing>\n\
1097 </child>\n\
1098 <child>\n\
1099 <placeholder/>\n\
1100 </child>\n\
1101 <child>\n\
1102 <placeholder/>\n\
1103 </child>\n\
1104 </object>\n\
1105 <packing>\n\
1106 <property name=\"expand\">True</property>\n\
1107 <property name=\"fill\">True</property>\n\
1108 <property name=\"position\">1</property>\n\
1109 </packing>\n\
1110 </child>\n\
1111 </object>\n\
1112 </child>\n\
1113 <child type=\"tab\">\n\
1114 <object class=\"GtkLabel\" id=\"label1\">\n\
1115 <property name=\"visible\">True</property>\n\
1116 <property name=\"can_focus\">False</property>\n\
1117 <property name=\"label\" translatable=\"yes\">Band 1</property>\n\
1118 </object>\n\
1119 <packing>\n\
1120 <property name=\"tab_fill\">False</property>\n\
1121 </packing>\n\
1122 </child>\n\
1123 <child>\n\
1124 <object class=\"GtkBox\" id=\"hbox5\">\n\
1125 <property name=\"visible\">True</property>\n\
1126 <property name=\"can_focus\">False</property>\n\
1127 <child>\n\
1128 <object class=\"GtkBox\" id=\"vbox7\">\n\
1129 <property name=\"visible\">True</property>\n\
1130 <property name=\"can_focus\">False</property>\n\
1131 <property name=\"orientation\">vertical</property>\n\
1132 <property name=\"spacing\">4</property>\n\
1133 <child>\n\
1134 <object class=\"GtkBox\" id=\"hbox6\">\n\
1135 <property name=\"visible\">True</property>\n\
1136 <property name=\"can_focus\">False</property>\n\
1137 <property name=\"spacing\">15</property>\n\
1138 <child>\n\
1139 <object class=\"GtkBox\" id=\"vbox8\">\n\
1140 <property name=\"visible\">True</property>\n\
1141 <property name=\"can_focus\">False</property>\n\
1142 <property name=\"orientation\">vertical</property>\n\
1143 <child>\n\
1144 <object class=\"GtkLabel\" id=\"label_8:rack_label\">\n\
1145 <property name=\"visible\">True</property>\n\
1146 <property name=\"can_focus\">False</property>\n\
1147 <property name=\"label\" translatable=\"yes\">Ratio</property>\n\
1148 </object>\n\
1149 <packing>\n\
1150 <property name=\"expand\">False</property>\n\
1151 <property name=\"fill\">False</property>\n\
1152 <property name=\"position\">0</property>\n\
1153 </packing>\n\
1154 </child>\n\
1155 <child>\n\
1156 <object class=\"GxSmallKnobR\" id=\"gxmediumknob4\">\n\
1157 <property name=\"visible\">True</property>\n\
1158 <property name=\"can_focus\">True</property>\n\
1159 <property name=\"receives_default\">True</property>\n\
1160 <property name=\"var_id\">mbcs.Ratio2</property>\n\
1161 </object>\n\
1162 <packing>\n\
1163 <property name=\"expand\">True</property>\n\
1164 <property name=\"fill\">True</property>\n\
1165 <property name=\"position\">1</property>\n\
1166 </packing>\n\
1167 </child>\n\
1168 </object>\n\
1169 <packing>\n\
1170 <property name=\"expand\">True</property>\n\
1171 <property name=\"fill\">True</property>\n\
1172 <property name=\"position\">0</property>\n\
1173 </packing>\n\
1174 </child>\n\
1175 <child>\n\
1176 <object class=\"GtkBox\" id=\"vbox9\">\n\
1177 <property name=\"visible\">True</property>\n\
1178 <property name=\"can_focus\">False</property>\n\
1179 <property name=\"orientation\">vertical</property>\n\
1180 <child>\n\
1181 <object class=\"GtkLabel\" id=\"label_9:rack_label\">\n\
1182 <property name=\"visible\">True</property>\n\
1183 <property name=\"can_focus\">False</property>\n\
1184 <property name=\"label\" translatable=\"yes\">Makeup</property>\n\
1185 </object>\n\
1186 <packing>\n\
1187 <property name=\"expand\">False</property>\n\
1188 <property name=\"fill\">False</property>\n\
1189 <property name=\"position\">0</property>\n\
1190 </packing>\n\
1191 </child>\n\
1192 <child>\n\
1193 <object class=\"GxSmallKnobR\" id=\"gxmediumknob5\">\n\
1194 <property name=\"visible\">True</property>\n\
1195 <property name=\"can_focus\">True</property>\n\
1196 <property name=\"receives_default\">True</property>\n\
1197 <property name=\"var_id\">mbcs.Makeup2</property>\n\
1198 </object>\n\
1199 <packing>\n\
1200 <property name=\"expand\">True</property>\n\
1201 <property name=\"fill\">True</property>\n\
1202 <property name=\"position\">1</property>\n\
1203 </packing>\n\
1204 </child>\n\
1205 </object>\n\
1206 <packing>\n\
1207 <property name=\"expand\">True</property>\n\
1208 <property name=\"fill\">True</property>\n\
1209 <property name=\"position\">1</property>\n\
1210 </packing>\n\
1211 </child>\n\
1212 <child>\n\
1213 <object class=\"GtkBox\" id=\"vbox10\">\n\
1214 <property name=\"visible\">True</property>\n\
1215 <property name=\"can_focus\">False</property>\n\
1216 <property name=\"orientation\">vertical</property>\n\
1217 <child>\n\
1218 <object class=\"GtkLabel\" id=\"label_10:rack_label\">\n\
1219 <property name=\"visible\">True</property>\n\
1220 <property name=\"can_focus\">False</property>\n\
1221 <property name=\"label\" translatable=\"yes\">Anticlip</property>\n\
1222 </object>\n\
1223 <packing>\n\
1224 <property name=\"expand\">False</property>\n\
1225 <property name=\"fill\">False</property>\n\
1226 <property name=\"position\">0</property>\n\
1227 </packing>\n\
1228 </child>\n\
1229 <child>\n\
1230 <object class=\"GxSmallKnobR\" id=\"gxmediumknob6\">\n\
1231 <property name=\"visible\">True</property>\n\
1232 <property name=\"can_focus\">True</property>\n\
1233 <property name=\"receives_default\">True</property>\n\
1234 <property name=\"var_id\">mbcs.Makeup-Threshold2</property>\n\
1235 </object>\n\
1236 <packing>\n\
1237 <property name=\"expand\">True</property>\n\
1238 <property name=\"fill\">True</property>\n\
1239 <property name=\"position\">1</property>\n\
1240 </packing>\n\
1241 </child>\n\
1242 </object>\n\
1243 <packing>\n\
1244 <property name=\"expand\">True</property>\n\
1245 <property name=\"fill\">True</property>\n\
1246 <property name=\"position\">2</property>\n\
1247 </packing>\n\
1248 </child>\n\
1249 </object>\n\
1250 <packing>\n\
1251 <property name=\"expand\">True</property>\n\
1252 <property name=\"fill\">True</property>\n\
1253 <property name=\"position\">0</property>\n\
1254 </packing>\n\
1255 </child>\n\
1256 <child>\n\
1257 <object class=\"GxSelector\" id=\"gxselector2\">\n\
1258 <property name=\"visible\">True</property>\n\
1259 <property name=\"can_focus\">True</property>\n\
1260 <property name=\"receives_default\">True</property>\n\
1261 <property name=\"var_id\">mbcs.Mode2</property>\n\
1262 <property name=\"value_position\">right</property>\n\
1263 </object>\n\
1264 <packing>\n\
1265 <property name=\"expand\">True</property>\n\
1266 <property name=\"fill\">True</property>\n\
1267 <property name=\"position\">1</property>\n\
1268 </packing>\n\
1269 </child>\n\
1270 </object>\n\
1271 <packing>\n\
1272 <property name=\"expand\">False</property>\n\
1273 <property name=\"fill\">True</property>\n\
1274 <property name=\"position\">0</property>\n\
1275 </packing>\n\
1276 </child>\n\
1277 <child>\n\
1278 <object class=\"GtkGrid\" id=\"table2\">\n\
1279 <property name=\"visible\">True</property>\n\
1280 <property name=\"can_focus\">False</property>\n\
1281 <property name=\"halign\">center</property>\n\
1282 <property name=\"row_spacing\">4</property>\n\
1283 <property name=\"column_homogeneous\">True</property>\n\
1284 <child>\n\
1285 <object class=\"GxSmallKnob\" id=\"gxsmallknob5\">\n\
1286 <property name=\"visible\">True</property>\n\
1287 <property name=\"can_focus\">True</property>\n\
1288 <property name=\"receives_default\">True</property>\n\
1289 <property name=\"var_id\">mbcs.Attack2</property>\n\
1290 </object>\n\
1291 <packing>\n\
1292 <property name=\"left_attach\">1</property>\n\
1293 <property name=\"top_attach\">0</property>\n\
1294 </packing>\n\
1295 </child>\n\
1296 <child>\n\
1297 <object class=\"GxSmallKnob\" id=\"gxsmallknob6\">\n\
1298 <property name=\"visible\">True</property>\n\
1299 <property name=\"can_focus\">True</property>\n\
1300 <property name=\"receives_default\">True</property>\n\
1301 <property name=\"var_id\">mbcs.crossover_b2_b3</property>\n\
1302 </object>\n\
1303 <packing>\n\
1304 <property name=\"left_attach\">3</property>\n\
1305 <property name=\"top_attach\">1</property>\n\
1306 </packing>\n\
1307 </child>\n\
1308 <child>\n\
1309 <object class=\"GtkLabel\" id=\"label_11:rack_label\">\n\
1310 <property name=\"visible\">True</property>\n\
1311 <property name=\"can_focus\">False</property>\n\
1312 <property name=\"label\" translatable=\"yes\">Att</property>\n\
1313 <property name=\"xalign\">1</property>\n\
1314 </object>\n\
1315 <packing>\n\
1316 <property name=\"left_attach\">0</property>\n\
1317 <property name=\"top_attach\">0</property>\n\
1318 </packing>\n\
1319 </child>\n\
1320 <child>\n\
1321 <object class=\"GtkLabel\" id=\"label_14:rack_label\">\n\
1322 <property name=\"visible\">True</property>\n\
1323 <property name=\"can_focus\">False</property>\n\
1324 <property name=\"label\" translatable=\"yes\">High</property>\n\
1325 <property name=\"xalign\">1</property>\n\
1326 </object>\n\
1327 <packing>\n\
1328 <property name=\"left_attach\">2</property>\n\
1329 <property name=\"top_attach\">1</property>\n\
1330 </packing>\n\
1331 </child>\n\
1332 <child>\n\
1333 <object class=\"GtkLabel\" id=\"label_13:rack_label\">\n\
1334 <property name=\"visible\">True</property>\n\
1335 <property name=\"can_focus\">False</property>\n\
1336 <property name=\"label\" translatable=\"yes\">Low</property>\n\
1337 <property name=\"xalign\">1</property>\n\
1338 </object>\n\
1339 <packing>\n\
1340 <property name=\"left_attach\">0</property>\n\
1341 <property name=\"top_attach\">1</property>\n\
1342 </packing>\n\
1343 </child>\n\
1344 <child>\n\
1345 <object class=\"GtkLabel\" id=\"label_12:rack_label\">\n\
1346 <property name=\"visible\">True</property>\n\
1347 <property name=\"can_focus\">False</property>\n\
1348 <property name=\"label\" translatable=\"yes\">Rel</property>\n\
1349 <property name=\"xalign\">1</property>\n\
1350 </object>\n\
1351 <packing>\n\
1352 <property name=\"left_attach\">2</property>\n\
1353 <property name=\"top_attach\">0</property>\n\
1354 </packing>\n\
1355 </child>\n\
1356 <child>\n\
1357 <object class=\"GxSmallKnob\" id=\"gxsmallknob7\">\n\
1358 <property name=\"visible\">True</property>\n\
1359 <property name=\"can_focus\">True</property>\n\
1360 <property name=\"receives_default\">True</property>\n\
1361 <property name=\"var_id\">mbcs.crossover_b1_b2</property>\n\
1362 </object>\n\
1363 <packing>\n\
1364 <property name=\"left_attach\">1</property>\n\
1365 <property name=\"top_attach\">1</property>\n\
1366 </packing>\n\
1367 </child>\n\
1368 <child>\n\
1369 <object class=\"GxSmallKnob\" id=\"gxsmallknob8\">\n\
1370 <property name=\"visible\">True</property>\n\
1371 <property name=\"can_focus\">True</property>\n\
1372 <property name=\"receives_default\">True</property>\n\
1373 <property name=\"var_id\">mbcs.Release2</property>\n\
1374 </object>\n\
1375 <packing>\n\
1376 <property name=\"left_attach\">3</property>\n\
1377 <property name=\"top_attach\">0</property>\n\
1378 </packing>\n\
1379 </child>\n\
1380 </object>\n\
1381 <packing>\n\
1382 <property name=\"expand\">True</property>\n\
1383 <property name=\"fill\">True</property>\n\
1384 <property name=\"position\">1</property>\n\
1385 </packing>\n\
1386 </child>\n\
1387 </object>\n\
1388 <packing>\n\
1389 <property name=\"position\">1</property>\n\
1390 </packing>\n\
1391 </child>\n\
1392 <child type=\"tab\">\n\
1393 <object class=\"GtkLabel\" id=\"label2\">\n\
1394 <property name=\"visible\">True</property>\n\
1395 <property name=\"can_focus\">False</property>\n\
1396 <property name=\"label\" translatable=\"yes\">Band 2</property>\n\
1397 </object>\n\
1398 <packing>\n\
1399 <property name=\"position\">1</property>\n\
1400 <property name=\"tab_fill\">False</property>\n\
1401 </packing>\n\
1402 </child>\n\
1403 <child>\n\
1404 <object class=\"GtkBox\" id=\"hbox7\">\n\
1405 <property name=\"visible\">True</property>\n\
1406 <property name=\"can_focus\">False</property>\n\
1407 <child>\n\
1408 <object class=\"GtkBox\" id=\"vbox11\">\n\
1409 <property name=\"visible\">True</property>\n\
1410 <property name=\"can_focus\">False</property>\n\
1411 <property name=\"orientation\">vertical</property>\n\
1412 <property name=\"spacing\">4</property>\n\
1413 <child>\n\
1414 <object class=\"GtkBox\" id=\"hbox8\">\n\
1415 <property name=\"visible\">True</property>\n\
1416 <property name=\"can_focus\">False</property>\n\
1417 <property name=\"spacing\">15</property>\n\
1418 <child>\n\
1419 <object class=\"GtkBox\" id=\"vbox12\">\n\
1420 <property name=\"visible\">True</property>\n\
1421 <property name=\"can_focus\">False</property>\n\
1422 <property name=\"orientation\">vertical</property>\n\
1423 <child>\n\
1424 <object class=\"GtkLabel\" id=\"label_15:rack_label\">\n\
1425 <property name=\"visible\">True</property>\n\
1426 <property name=\"can_focus\">False</property>\n\
1427 <property name=\"label\" translatable=\"yes\">Ratio</property>\n\
1428 </object>\n\
1429 <packing>\n\
1430 <property name=\"expand\">False</property>\n\
1431 <property name=\"fill\">False</property>\n\
1432 <property name=\"position\">0</property>\n\
1433 </packing>\n\
1434 </child>\n\
1435 <child>\n\
1436 <object class=\"GxSmallKnobR\" id=\"gxmediumknob7\">\n\
1437 <property name=\"visible\">True</property>\n\
1438 <property name=\"can_focus\">True</property>\n\
1439 <property name=\"receives_default\">True</property>\n\
1440 <property name=\"var_id\">mbcs.Ratio3</property>\n\
1441 </object>\n\
1442 <packing>\n\
1443 <property name=\"expand\">True</property>\n\
1444 <property name=\"fill\">True</property>\n\
1445 <property name=\"position\">1</property>\n\
1446 </packing>\n\
1447 </child>\n\
1448 </object>\n\
1449 <packing>\n\
1450 <property name=\"expand\">True</property>\n\
1451 <property name=\"fill\">True</property>\n\
1452 <property name=\"position\">0</property>\n\
1453 </packing>\n\
1454 </child>\n\
1455 <child>\n\
1456 <object class=\"GtkBox\" id=\"vbox13\">\n\
1457 <property name=\"visible\">True</property>\n\
1458 <property name=\"can_focus\">False</property>\n\
1459 <property name=\"orientation\">vertical</property>\n\
1460 <child>\n\
1461 <object class=\"GtkLabel\" id=\"label_16:rack_label\">\n\
1462 <property name=\"visible\">True</property>\n\
1463 <property name=\"can_focus\">False</property>\n\
1464 <property name=\"label\" translatable=\"yes\">Makeup</property>\n\
1465 </object>\n\
1466 <packing>\n\
1467 <property name=\"expand\">False</property>\n\
1468 <property name=\"fill\">False</property>\n\
1469 <property name=\"position\">0</property>\n\
1470 </packing>\n\
1471 </child>\n\
1472 <child>\n\
1473 <object class=\"GxSmallKnobR\" id=\"gxmediumknob8\">\n\
1474 <property name=\"visible\">True</property>\n\
1475 <property name=\"can_focus\">True</property>\n\
1476 <property name=\"receives_default\">True</property>\n\
1477 <property name=\"var_id\">mbcs.Makeup3</property>\n\
1478 </object>\n\
1479 <packing>\n\
1480 <property name=\"expand\">True</property>\n\
1481 <property name=\"fill\">True</property>\n\
1482 <property name=\"position\">1</property>\n\
1483 </packing>\n\
1484 </child>\n\
1485 </object>\n\
1486 <packing>\n\
1487 <property name=\"expand\">True</property>\n\
1488 <property name=\"fill\">True</property>\n\
1489 <property name=\"position\">1</property>\n\
1490 </packing>\n\
1491 </child>\n\
1492 <child>\n\
1493 <object class=\"GtkBox\" id=\"vbox14\">\n\
1494 <property name=\"visible\">True</property>\n\
1495 <property name=\"can_focus\">False</property>\n\
1496 <property name=\"orientation\">vertical</property>\n\
1497 <child>\n\
1498 <object class=\"GtkLabel\" id=\"label_17:rack_label\">\n\
1499 <property name=\"visible\">True</property>\n\
1500 <property name=\"can_focus\">False</property>\n\
1501 <property name=\"label\" translatable=\"yes\">Anticlip</property>\n\
1502 </object>\n\
1503 <packing>\n\
1504 <property name=\"expand\">False</property>\n\
1505 <property name=\"fill\">False</property>\n\
1506 <property name=\"position\">0</property>\n\
1507 </packing>\n\
1508 </child>\n\
1509 <child>\n\
1510 <object class=\"GxSmallKnobR\" id=\"gxmediumknob9\">\n\
1511 <property name=\"visible\">True</property>\n\
1512 <property name=\"can_focus\">True</property>\n\
1513 <property name=\"receives_default\">True</property>\n\
1514 <property name=\"var_id\">mbcs.Makeup-Threshold3</property>\n\
1515 </object>\n\
1516 <packing>\n\
1517 <property name=\"expand\">True</property>\n\
1518 <property name=\"fill\">True</property>\n\
1519 <property name=\"position\">1</property>\n\
1520 </packing>\n\
1521 </child>\n\
1522 </object>\n\
1523 <packing>\n\
1524 <property name=\"expand\">True</property>\n\
1525 <property name=\"fill\">True</property>\n\
1526 <property name=\"position\">2</property>\n\
1527 </packing>\n\
1528 </child>\n\
1529 </object>\n\
1530 <packing>\n\
1531 <property name=\"expand\">True</property>\n\
1532 <property name=\"fill\">True</property>\n\
1533 <property name=\"position\">0</property>\n\
1534 </packing>\n\
1535 </child>\n\
1536 <child>\n\
1537 <object class=\"GxSelector\" id=\"gxselector3\">\n\
1538 <property name=\"visible\">True</property>\n\
1539 <property name=\"can_focus\">True</property>\n\
1540 <property name=\"receives_default\">True</property>\n\
1541 <property name=\"var_id\">mbcs.Mode3</property>\n\
1542 <property name=\"value_position\">right</property>\n\
1543 </object>\n\
1544 <packing>\n\
1545 <property name=\"expand\">True</property>\n\
1546 <property name=\"fill\">True</property>\n\
1547 <property name=\"position\">1</property>\n\
1548 </packing>\n\
1549 </child>\n\
1550 </object>\n\
1551 <packing>\n\
1552 <property name=\"expand\">False</property>\n\
1553 <property name=\"fill\">True</property>\n\
1554 <property name=\"position\">0</property>\n\
1555 </packing>\n\
1556 </child>\n\
1557 <child>\n\
1558 <object class=\"GtkGrid\" id=\"table3\">\n\
1559 <property name=\"visible\">True</property>\n\
1560 <property name=\"can_focus\">False</property>\n\
1561 <property name=\"halign\">center</property>\n\
1562 <property name=\"row_spacing\">4</property>\n\
1563 <property name=\"column_homogeneous\">True</property>\n\
1564 <child>\n\
1565 <object class=\"GxSmallKnob\" id=\"gxsmallknob9\">\n\
1566 <property name=\"visible\">True</property>\n\
1567 <property name=\"can_focus\">True</property>\n\
1568 <property name=\"receives_default\">True</property>\n\
1569 <property name=\"var_id\">mbcs.Attack3</property>\n\
1570 </object>\n\
1571 <packing>\n\
1572 <property name=\"left_attach\">1</property>\n\
1573 <property name=\"top_attach\">0</property>\n\
1574 </packing>\n\
1575 </child>\n\
1576 <child>\n\
1577 <object class=\"GxSmallKnob\" id=\"gxsmallknob10\">\n\
1578 <property name=\"visible\">True</property>\n\
1579 <property name=\"can_focus\">True</property>\n\
1580 <property name=\"receives_default\">True</property>\n\
1581 <property name=\"var_id\">mbcs.crossover_b3_b4</property>\n\
1582 </object>\n\
1583 <packing>\n\
1584 <property name=\"left_attach\">3</property>\n\
1585 <property name=\"top_attach\">1</property>\n\
1586 </packing>\n\
1587 </child>\n\
1588 <child>\n\
1589 <object class=\"GtkLabel\" id=\"label_18:rack_label\">\n\
1590 <property name=\"visible\">True</property>\n\
1591 <property name=\"can_focus\">False</property>\n\
1592 <property name=\"label\" translatable=\"yes\">Att</property>\n\
1593 <property name=\"xalign\">1</property>\n\
1594 </object>\n\
1595 <packing>\n\
1596 <property name=\"left_attach\">0</property>\n\
1597 <property name=\"top_attach\">0</property>\n\
1598 </packing>\n\
1599 </child>\n\
1600 <child>\n\
1601 <object class=\"GtkLabel\" id=\"label_21:rack_label\">\n\
1602 <property name=\"visible\">True</property>\n\
1603 <property name=\"can_focus\">False</property>\n\
1604 <property name=\"label\" translatable=\"yes\">High</property>\n\
1605 <property name=\"xalign\">1</property>\n\
1606 </object>\n\
1607 <packing>\n\
1608 <property name=\"left_attach\">2</property>\n\
1609 <property name=\"top_attach\">1</property>\n\
1610 </packing>\n\
1611 </child>\n\
1612 <child>\n\
1613 <object class=\"GtkLabel\" id=\"label_20:rack_label\">\n\
1614 <property name=\"visible\">True</property>\n\
1615 <property name=\"can_focus\">False</property>\n\
1616 <property name=\"label\" translatable=\"yes\">Low</property>\n\
1617 <property name=\"xalign\">1</property>\n\
1618 </object>\n\
1619 <packing>\n\
1620 <property name=\"left_attach\">0</property>\n\
1621 <property name=\"top_attach\">1</property>\n\
1622 </packing>\n\
1623 </child>\n\
1624 <child>\n\
1625 <object class=\"GtkLabel\" id=\"label_19:rack_label\">\n\
1626 <property name=\"visible\">True</property>\n\
1627 <property name=\"can_focus\">False</property>\n\
1628 <property name=\"label\" translatable=\"yes\">Rel</property>\n\
1629 <property name=\"xalign\">1</property>\n\
1630 </object>\n\
1631 <packing>\n\
1632 <property name=\"left_attach\">2</property>\n\
1633 <property name=\"top_attach\">0</property>\n\
1634 </packing>\n\
1635 </child>\n\
1636 <child>\n\
1637 <object class=\"GxSmallKnob\" id=\"gxsmallknob11\">\n\
1638 <property name=\"visible\">True</property>\n\
1639 <property name=\"can_focus\">True</property>\n\
1640 <property name=\"receives_default\">True</property>\n\
1641 <property name=\"var_id\">mbcs.crossover_b2_b3</property>\n\
1642 </object>\n\
1643 <packing>\n\
1644 <property name=\"left_attach\">1</property>\n\
1645 <property name=\"top_attach\">1</property>\n\
1646 </packing>\n\
1647 </child>\n\
1648 <child>\n\
1649 <object class=\"GxSmallKnob\" id=\"gxsmallknob12\">\n\
1650 <property name=\"visible\">True</property>\n\
1651 <property name=\"can_focus\">True</property>\n\
1652 <property name=\"receives_default\">True</property>\n\
1653 <property name=\"var_id\">mbcs.Release3</property>\n\
1654 </object>\n\
1655 <packing>\n\
1656 <property name=\"left_attach\">3</property>\n\
1657 <property name=\"top_attach\">0</property>\n\
1658 </packing>\n\
1659 </child>\n\
1660 </object>\n\
1661 <packing>\n\
1662 <property name=\"expand\">True</property>\n\
1663 <property name=\"fill\">True</property>\n\
1664 <property name=\"position\">1</property>\n\
1665 </packing>\n\
1666 </child>\n\
1667 </object>\n\
1668 <packing>\n\
1669 <property name=\"position\">2</property>\n\
1670 </packing>\n\
1671 </child>\n\
1672 <child type=\"tab\">\n\
1673 <object class=\"GtkLabel\" id=\"label3\">\n\
1674 <property name=\"visible\">True</property>\n\
1675 <property name=\"can_focus\">False</property>\n\
1676 <property name=\"label\" translatable=\"yes\">Band 3</property>\n\
1677 </object>\n\
1678 <packing>\n\
1679 <property name=\"position\">2</property>\n\
1680 <property name=\"tab_fill\">False</property>\n\
1681 </packing>\n\
1682 </child>\n\
1683 <child>\n\
1684 <object class=\"GtkBox\" id=\"hbox9\">\n\
1685 <property name=\"visible\">True</property>\n\
1686 <property name=\"can_focus\">False</property>\n\
1687 <child>\n\
1688 <object class=\"GtkBox\" id=\"vbox15\">\n\
1689 <property name=\"visible\">True</property>\n\
1690 <property name=\"can_focus\">False</property>\n\
1691 <property name=\"orientation\">vertical</property>\n\
1692 <property name=\"spacing\">4</property>\n\
1693 <child>\n\
1694 <object class=\"GtkBox\" id=\"hbox10\">\n\
1695 <property name=\"visible\">True</property>\n\
1696 <property name=\"can_focus\">False</property>\n\
1697 <property name=\"spacing\">15</property>\n\
1698 <child>\n\
1699 <object class=\"GtkBox\" id=\"vbox16\">\n\
1700 <property name=\"visible\">True</property>\n\
1701 <property name=\"can_focus\">False</property>\n\
1702 <property name=\"orientation\">vertical</property>\n\
1703 <child>\n\
1704 <object class=\"GtkLabel\" id=\"label_22:rack_label\">\n\
1705 <property name=\"visible\">True</property>\n\
1706 <property name=\"can_focus\">False</property>\n\
1707 <property name=\"label\" translatable=\"yes\">Ratio</property>\n\
1708 </object>\n\
1709 <packing>\n\
1710 <property name=\"expand\">False</property>\n\
1711 <property name=\"fill\">False</property>\n\
1712 <property name=\"position\">0</property>\n\
1713 </packing>\n\
1714 </child>\n\
1715 <child>\n\
1716 <object class=\"GxSmallKnobR\" id=\"gxmediumknob10\">\n\
1717 <property name=\"visible\">True</property>\n\
1718 <property name=\"can_focus\">True</property>\n\
1719 <property name=\"receives_default\">True</property>\n\
1720 <property name=\"var_id\">mbcs.Ratio4</property>\n\
1721 </object>\n\
1722 <packing>\n\
1723 <property name=\"expand\">True</property>\n\
1724 <property name=\"fill\">True</property>\n\
1725 <property name=\"position\">1</property>\n\
1726 </packing>\n\
1727 </child>\n\
1728 </object>\n\
1729 <packing>\n\
1730 <property name=\"expand\">True</property>\n\
1731 <property name=\"fill\">True</property>\n\
1732 <property name=\"position\">0</property>\n\
1733 </packing>\n\
1734 </child>\n\
1735 <child>\n\
1736 <object class=\"GtkBox\" id=\"vbox17\">\n\
1737 <property name=\"visible\">True</property>\n\
1738 <property name=\"can_focus\">False</property>\n\
1739 <property name=\"orientation\">vertical</property>\n\
1740 <child>\n\
1741 <object class=\"GtkLabel\" id=\"label_23:rack_label\">\n\
1742 <property name=\"visible\">True</property>\n\
1743 <property name=\"can_focus\">False</property>\n\
1744 <property name=\"label\" translatable=\"yes\">Makeup</property>\n\
1745 </object>\n\
1746 <packing>\n\
1747 <property name=\"expand\">False</property>\n\
1748 <property name=\"fill\">False</property>\n\
1749 <property name=\"position\">0</property>\n\
1750 </packing>\n\
1751 </child>\n\
1752 <child>\n\
1753 <object class=\"GxSmallKnobR\" id=\"gxmediumknob11\">\n\
1754 <property name=\"visible\">True</property>\n\
1755 <property name=\"can_focus\">True</property>\n\
1756 <property name=\"receives_default\">True</property>\n\
1757 <property name=\"var_id\">mbcs.Makeup4</property>\n\
1758 </object>\n\
1759 <packing>\n\
1760 <property name=\"expand\">True</property>\n\
1761 <property name=\"fill\">True</property>\n\
1762 <property name=\"position\">1</property>\n\
1763 </packing>\n\
1764 </child>\n\
1765 </object>\n\
1766 <packing>\n\
1767 <property name=\"expand\">True</property>\n\
1768 <property name=\"fill\">True</property>\n\
1769 <property name=\"position\">1</property>\n\
1770 </packing>\n\
1771 </child>\n\
1772 <child>\n\
1773 <object class=\"GtkBox\" id=\"vbox18\">\n\
1774 <property name=\"visible\">True</property>\n\
1775 <property name=\"can_focus\">False</property>\n\
1776 <property name=\"orientation\">vertical</property>\n\
1777 <child>\n\
1778 <object class=\"GtkLabel\" id=\"label_24:rack_label\">\n\
1779 <property name=\"visible\">True</property>\n\
1780 <property name=\"can_focus\">False</property>\n\
1781 <property name=\"label\" translatable=\"yes\">Anticlip</property>\n\
1782 </object>\n\
1783 <packing>\n\
1784 <property name=\"expand\">False</property>\n\
1785 <property name=\"fill\">False</property>\n\
1786 <property name=\"position\">0</property>\n\
1787 </packing>\n\
1788 </child>\n\
1789 <child>\n\
1790 <object class=\"GxSmallKnobR\" id=\"gxmediumknob12\">\n\
1791 <property name=\"visible\">True</property>\n\
1792 <property name=\"can_focus\">True</property>\n\
1793 <property name=\"receives_default\">True</property>\n\
1794 <property name=\"var_id\">mbcs.Makeup-Threshold4</property>\n\
1795 </object>\n\
1796 <packing>\n\
1797 <property name=\"expand\">True</property>\n\
1798 <property name=\"fill\">True</property>\n\
1799 <property name=\"position\">1</property>\n\
1800 </packing>\n\
1801 </child>\n\
1802 </object>\n\
1803 <packing>\n\
1804 <property name=\"expand\">True</property>\n\
1805 <property name=\"fill\">True</property>\n\
1806 <property name=\"position\">2</property>\n\
1807 </packing>\n\
1808 </child>\n\
1809 </object>\n\
1810 <packing>\n\
1811 <property name=\"expand\">True</property>\n\
1812 <property name=\"fill\">True</property>\n\
1813 <property name=\"position\">0</property>\n\
1814 </packing>\n\
1815 </child>\n\
1816 <child>\n\
1817 <object class=\"GxSelector\" id=\"gxselector4\">\n\
1818 <property name=\"visible\">True</property>\n\
1819 <property name=\"can_focus\">True</property>\n\
1820 <property name=\"receives_default\">True</property>\n\
1821 <property name=\"var_id\">mbcs.Mode4</property>\n\
1822 <property name=\"value_position\">right</property>\n\
1823 </object>\n\
1824 <packing>\n\
1825 <property name=\"expand\">True</property>\n\
1826 <property name=\"fill\">True</property>\n\
1827 <property name=\"position\">1</property>\n\
1828 </packing>\n\
1829 </child>\n\
1830 </object>\n\
1831 <packing>\n\
1832 <property name=\"expand\">False</property>\n\
1833 <property name=\"fill\">True</property>\n\
1834 <property name=\"position\">0</property>\n\
1835 </packing>\n\
1836 </child>\n\
1837 <child>\n\
1838 <object class=\"GtkGrid\" id=\"table4\">\n\
1839 <property name=\"visible\">True</property>\n\
1840 <property name=\"can_focus\">False</property>\n\
1841 <property name=\"halign\">center</property>\n\
1842 <property name=\"row_spacing\">4</property>\n\
1843 <property name=\"column_homogeneous\">True</property>\n\
1844 <child>\n\
1845 <object class=\"GxSmallKnob\" id=\"gxsmallknob13\">\n\
1846 <property name=\"visible\">True</property>\n\
1847 <property name=\"can_focus\">True</property>\n\
1848 <property name=\"receives_default\">True</property>\n\
1849 <property name=\"var_id\">mbcs.Attack4</property>\n\
1850 </object>\n\
1851 <packing>\n\
1852 <property name=\"left_attach\">1</property>\n\
1853 <property name=\"top_attach\">0</property>\n\
1854 </packing>\n\
1855 </child>\n\
1856 <child>\n\
1857 <object class=\"GxSmallKnob\" id=\"gxsmallknob14\">\n\
1858 <property name=\"visible\">True</property>\n\
1859 <property name=\"can_focus\">True</property>\n\
1860 <property name=\"receives_default\">True</property>\n\
1861 <property name=\"var_id\">mbcs.crossover_b4_b5</property>\n\
1862 </object>\n\
1863 <packing>\n\
1864 <property name=\"left_attach\">3</property>\n\
1865 <property name=\"top_attach\">1</property>\n\
1866 </packing>\n\
1867 </child>\n\
1868 <child>\n\
1869 <object class=\"GtkLabel\" id=\"label_25:rack_label\">\n\
1870 <property name=\"visible\">True</property>\n\
1871 <property name=\"can_focus\">False</property>\n\
1872 <property name=\"label\" translatable=\"yes\">Att</property>\n\
1873 <property name=\"xalign\">1</property>\n\
1874 </object>\n\
1875 <packing>\n\
1876 <property name=\"left_attach\">0</property>\n\
1877 <property name=\"top_attach\">0</property>\n\
1878 </packing>\n\
1879 </child>\n\
1880 <child>\n\
1881 <object class=\"GtkLabel\" id=\"label_28:rack_label\">\n\
1882 <property name=\"visible\">True</property>\n\
1883 <property name=\"can_focus\">False</property>\n\
1884 <property name=\"label\" translatable=\"yes\">High</property>\n\
1885 <property name=\"xalign\">1</property>\n\
1886 </object>\n\
1887 <packing>\n\
1888 <property name=\"left_attach\">2</property>\n\
1889 <property name=\"top_attach\">1</property>\n\
1890 </packing>\n\
1891 </child>\n\
1892 <child>\n\
1893 <object class=\"GtkLabel\" id=\"label_27:rack_label\">\n\
1894 <property name=\"visible\">True</property>\n\
1895 <property name=\"can_focus\">False</property>\n\
1896 <property name=\"label\" translatable=\"yes\">Low</property>\n\
1897 <property name=\"xalign\">1</property>\n\
1898 </object>\n\
1899 <packing>\n\
1900 <property name=\"left_attach\">0</property>\n\
1901 <property name=\"top_attach\">1</property>\n\
1902 </packing>\n\
1903 </child>\n\
1904 <child>\n\
1905 <object class=\"GtkLabel\" id=\"label_26:rack_label\">\n\
1906 <property name=\"visible\">True</property>\n\
1907 <property name=\"can_focus\">False</property>\n\
1908 <property name=\"label\" translatable=\"yes\">Rel</property>\n\
1909 <property name=\"xalign\">1</property>\n\
1910 </object>\n\
1911 <packing>\n\
1912 <property name=\"left_attach\">2</property>\n\
1913 <property name=\"top_attach\">0</property>\n\
1914 </packing>\n\
1915 </child>\n\
1916 <child>\n\
1917 <object class=\"GxSmallKnob\" id=\"gxsmallknob15\">\n\
1918 <property name=\"visible\">True</property>\n\
1919 <property name=\"can_focus\">True</property>\n\
1920 <property name=\"receives_default\">True</property>\n\
1921 <property name=\"var_id\">mbcs.crossover_b3_b4</property>\n\
1922 </object>\n\
1923 <packing>\n\
1924 <property name=\"left_attach\">1</property>\n\
1925 <property name=\"top_attach\">1</property>\n\
1926 </packing>\n\
1927 </child>\n\
1928 <child>\n\
1929 <object class=\"GxSmallKnob\" id=\"gxsmallknob16\">\n\
1930 <property name=\"visible\">True</property>\n\
1931 <property name=\"can_focus\">True</property>\n\
1932 <property name=\"receives_default\">True</property>\n\
1933 <property name=\"var_id\">mbcs.Release4</property>\n\
1934 </object>\n\
1935 <packing>\n\
1936 <property name=\"left_attach\">3</property>\n\
1937 <property name=\"top_attach\">0</property>\n\
1938 </packing>\n\
1939 </child>\n\
1940 </object>\n\
1941 <packing>\n\
1942 <property name=\"expand\">True</property>\n\
1943 <property name=\"fill\">True</property>\n\
1944 <property name=\"position\">1</property>\n\
1945 </packing>\n\
1946 </child>\n\
1947 </object>\n\
1948 <packing>\n\
1949 <property name=\"position\">3</property>\n\
1950 </packing>\n\
1951 </child>\n\
1952 <child type=\"tab\">\n\
1953 <object class=\"GtkLabel\" id=\"label4\">\n\
1954 <property name=\"visible\">True</property>\n\
1955 <property name=\"can_focus\">False</property>\n\
1956 <property name=\"label\" translatable=\"yes\">Band 4</property>\n\
1957 </object>\n\
1958 <packing>\n\
1959 <property name=\"position\">3</property>\n\
1960 <property name=\"tab_fill\">False</property>\n\
1961 </packing>\n\
1962 </child>\n\
1963 <child>\n\
1964 <object class=\"GtkBox\" id=\"hbox11\">\n\
1965 <property name=\"visible\">True</property>\n\
1966 <property name=\"can_focus\">False</property>\n\
1967 <child>\n\
1968 <object class=\"GtkBox\" id=\"vbox19\">\n\
1969 <property name=\"visible\">True</property>\n\
1970 <property name=\"can_focus\">False</property>\n\
1971 <property name=\"orientation\">vertical</property>\n\
1972 <property name=\"spacing\">4</property>\n\
1973 <child>\n\
1974 <object class=\"GtkBox\" id=\"hbox12\">\n\
1975 <property name=\"visible\">True</property>\n\
1976 <property name=\"can_focus\">False</property>\n\
1977 <property name=\"spacing\">15</property>\n\
1978 <child>\n\
1979 <object class=\"GtkBox\" id=\"vbox20\">\n\
1980 <property name=\"visible\">True</property>\n\
1981 <property name=\"can_focus\">False</property>\n\
1982 <property name=\"orientation\">vertical</property>\n\
1983 <child>\n\
1984 <object class=\"GtkLabel\" id=\"label_29:rack_label\">\n\
1985 <property name=\"visible\">True</property>\n\
1986 <property name=\"can_focus\">False</property>\n\
1987 <property name=\"label\" translatable=\"yes\">Ratio</property>\n\
1988 </object>\n\
1989 <packing>\n\
1990 <property name=\"expand\">False</property>\n\
1991 <property name=\"fill\">False</property>\n\
1992 <property name=\"position\">0</property>\n\
1993 </packing>\n\
1994 </child>\n\
1995 <child>\n\
1996 <object class=\"GxSmallKnobR\" id=\"gxmediumknob13\">\n\
1997 <property name=\"visible\">True</property>\n\
1998 <property name=\"can_focus\">True</property>\n\
1999 <property name=\"receives_default\">True</property>\n\
2000 <property name=\"var_id\">mbcs.Ratio5</property>\n\
2001 </object>\n\
2002 <packing>\n\
2003 <property name=\"expand\">True</property>\n\
2004 <property name=\"fill\">True</property>\n\
2005 <property name=\"position\">1</property>\n\
2006 </packing>\n\
2007 </child>\n\
2008 </object>\n\
2009 <packing>\n\
2010 <property name=\"expand\">True</property>\n\
2011 <property name=\"fill\">True</property>\n\
2012 <property name=\"position\">0</property>\n\
2013 </packing>\n\
2014 </child>\n\
2015 <child>\n\
2016 <object class=\"GtkBox\" id=\"vbox21\">\n\
2017 <property name=\"visible\">True</property>\n\
2018 <property name=\"can_focus\">False</property>\n\
2019 <property name=\"orientation\">vertical</property>\n\
2020 <child>\n\
2021 <object class=\"GtkLabel\" id=\"label_30:rack_label\">\n\
2022 <property name=\"visible\">True</property>\n\
2023 <property name=\"can_focus\">False</property>\n\
2024 <property name=\"label\" translatable=\"yes\">Makeup</property>\n\
2025 </object>\n\
2026 <packing>\n\
2027 <property name=\"expand\">False</property>\n\
2028 <property name=\"fill\">False</property>\n\
2029 <property name=\"position\">0</property>\n\
2030 </packing>\n\
2031 </child>\n\
2032 <child>\n\
2033 <object class=\"GxSmallKnobR\" id=\"gxmediumknob14\">\n\
2034 <property name=\"visible\">True</property>\n\
2035 <property name=\"can_focus\">True</property>\n\
2036 <property name=\"receives_default\">True</property>\n\
2037 <property name=\"var_id\">mbcs.Makeup5</property>\n\
2038 </object>\n\
2039 <packing>\n\
2040 <property name=\"expand\">True</property>\n\
2041 <property name=\"fill\">True</property>\n\
2042 <property name=\"position\">1</property>\n\
2043 </packing>\n\
2044 </child>\n\
2045 </object>\n\
2046 <packing>\n\
2047 <property name=\"expand\">True</property>\n\
2048 <property name=\"fill\">True</property>\n\
2049 <property name=\"position\">1</property>\n\
2050 </packing>\n\
2051 </child>\n\
2052 <child>\n\
2053 <object class=\"GtkBox\" id=\"vbox22\">\n\
2054 <property name=\"visible\">True</property>\n\
2055 <property name=\"can_focus\">False</property>\n\
2056 <property name=\"orientation\">vertical</property>\n\
2057 <child>\n\
2058 <object class=\"GtkLabel\" id=\"label_31:rack_label\">\n\
2059 <property name=\"visible\">True</property>\n\
2060 <property name=\"can_focus\">False</property>\n\
2061 <property name=\"label\" translatable=\"yes\">Anticlip</property>\n\
2062 </object>\n\
2063 <packing>\n\
2064 <property name=\"expand\">False</property>\n\
2065 <property name=\"fill\">False</property>\n\
2066 <property name=\"position\">0</property>\n\
2067 </packing>\n\
2068 </child>\n\
2069 <child>\n\
2070 <object class=\"GxSmallKnobR\" id=\"gxmediumknob15\">\n\
2071 <property name=\"visible\">True</property>\n\
2072 <property name=\"can_focus\">True</property>\n\
2073 <property name=\"receives_default\">True</property>\n\
2074 <property name=\"var_id\">mbcs.Makeup-Threshold5</property>\n\
2075 </object>\n\
2076 <packing>\n\
2077 <property name=\"expand\">True</property>\n\
2078 <property name=\"fill\">True</property>\n\
2079 <property name=\"position\">1</property>\n\
2080 </packing>\n\
2081 </child>\n\
2082 </object>\n\
2083 <packing>\n\
2084 <property name=\"expand\">True</property>\n\
2085 <property name=\"fill\">True</property>\n\
2086 <property name=\"position\">2</property>\n\
2087 </packing>\n\
2088 </child>\n\
2089 </object>\n\
2090 <packing>\n\
2091 <property name=\"expand\">True</property>\n\
2092 <property name=\"fill\">True</property>\n\
2093 <property name=\"position\">0</property>\n\
2094 </packing>\n\
2095 </child>\n\
2096 <child>\n\
2097 <object class=\"GxSelector\" id=\"gxselector5\">\n\
2098 <property name=\"visible\">True</property>\n\
2099 <property name=\"can_focus\">True</property>\n\
2100 <property name=\"receives_default\">True</property>\n\
2101 <property name=\"var_id\">mbcs.Mode5</property>\n\
2102 <property name=\"value_position\">right</property>\n\
2103 </object>\n\
2104 <packing>\n\
2105 <property name=\"expand\">True</property>\n\
2106 <property name=\"fill\">True</property>\n\
2107 <property name=\"position\">1</property>\n\
2108 </packing>\n\
2109 </child>\n\
2110 </object>\n\
2111 <packing>\n\
2112 <property name=\"expand\">False</property>\n\
2113 <property name=\"fill\">True</property>\n\
2114 <property name=\"position\">0</property>\n\
2115 </packing>\n\
2116 </child>\n\
2117 <child>\n\
2118 <object class=\"GtkGrid\" id=\"table5\">\n\
2119 <property name=\"visible\">True</property>\n\
2120 <property name=\"can_focus\">False</property>\n\
2121 <property name=\"halign\">center</property>\n\
2122 <property name=\"row_spacing\">4</property>\n\
2123 <property name=\"column_homogeneous\">True</property>\n\
2124 <child>\n\
2125 <object class=\"GxSmallKnob\" id=\"gxsmallknob17\">\n\
2126 <property name=\"visible\">True</property>\n\
2127 <property name=\"can_focus\">True</property>\n\
2128 <property name=\"receives_default\">True</property>\n\
2129 <property name=\"var_id\">mbcs.Attack5</property>\n\
2130 </object>\n\
2131 <packing>\n\
2132 <property name=\"left_attach\">1</property>\n\
2133 <property name=\"top_attach\">0</property>\n\
2134 </packing>\n\
2135 </child>\n\
2136 <child>\n\
2137 <object class=\"GtkLabel\" id=\"label_32:rack_label\">\n\
2138 <property name=\"visible\">True</property>\n\
2139 <property name=\"can_focus\">False</property>\n\
2140 <property name=\"label\" translatable=\"yes\">Att</property>\n\
2141 <property name=\"xalign\">1</property>\n\
2142 </object>\n\
2143 <packing>\n\
2144 <property name=\"left_attach\">0</property>\n\
2145 <property name=\"top_attach\">0</property>\n\
2146 </packing>\n\
2147 </child>\n\
2148 <child>\n\
2149 <object class=\"GtkLabel\" id=\"label_34:rack_label\">\n\
2150 <property name=\"visible\">True</property>\n\
2151 <property name=\"can_focus\">False</property>\n\
2152 <property name=\"label\" translatable=\"yes\">Low</property>\n\
2153 <property name=\"xalign\">1</property>\n\
2154 </object>\n\
2155 <packing>\n\
2156 <property name=\"left_attach\">0</property>\n\
2157 <property name=\"top_attach\">1</property>\n\
2158 </packing>\n\
2159 </child>\n\
2160 <child>\n\
2161 <object class=\"GtkLabel\" id=\"label_33:rack_label\">\n\
2162 <property name=\"visible\">True</property>\n\
2163 <property name=\"can_focus\">False</property>\n\
2164 <property name=\"label\" translatable=\"yes\">Rel</property>\n\
2165 <property name=\"xalign\">1</property>\n\
2166 </object>\n\
2167 <packing>\n\
2168 <property name=\"left_attach\">2</property>\n\
2169 <property name=\"top_attach\">0</property>\n\
2170 </packing>\n\
2171 </child>\n\
2172 <child>\n\
2173 <object class=\"GxSmallKnob\" id=\"gxsmallknob19\">\n\
2174 <property name=\"visible\">True</property>\n\
2175 <property name=\"can_focus\">True</property>\n\
2176 <property name=\"receives_default\">True</property>\n\
2177 <property name=\"var_id\">mbcs.crossover_b4_b5</property>\n\
2178 </object>\n\
2179 <packing>\n\
2180 <property name=\"left_attach\">1</property>\n\
2181 <property name=\"top_attach\">1</property>\n\
2182 </packing>\n\
2183 </child>\n\
2184 <child>\n\
2185 <object class=\"GxSmallKnob\" id=\"gxsmallknob20\">\n\
2186 <property name=\"visible\">True</property>\n\
2187 <property name=\"can_focus\">True</property>\n\
2188 <property name=\"receives_default\">True</property>\n\
2189 <property name=\"var_id\">mbcs.Release5</property>\n\
2190 </object>\n\
2191 <packing>\n\
2192 <property name=\"left_attach\">3</property>\n\
2193 <property name=\"top_attach\">0</property>\n\
2194 </packing>\n\
2195 </child>\n\
2196 <child>\n\
2197 <object class=\"GtkLabel\" id=\"label_35:rack_label\">\n\
2198 <property name=\"can_focus\">False</property>\n\
2199 <property name=\"label\" translatable=\"yes\">High</property>\n\
2200 <property name=\"xalign\">1</property>\n\
2201 </object>\n\
2202 <packing>\n\
2203 <property name=\"left_attach\">2</property>\n\
2204 <property name=\"top_attach\">1</property>\n\
2205 </packing>\n\
2206 </child>\n\
2207 <child>\n\
2208 <placeholder/>\n\
2209 </child>\n\
2210 </object>\n\
2211 <packing>\n\
2212 <property name=\"expand\">True</property>\n\
2213 <property name=\"fill\">True</property>\n\
2214 <property name=\"position\">1</property>\n\
2215 </packing>\n\
2216 </child>\n\
2217 </object>\n\
2218 <packing>\n\
2219 <property name=\"position\">4</property>\n\
2220 </packing>\n\
2221 </child>\n\
2222 <child type=\"tab\">\n\
2223 <object class=\"GtkLabel\" id=\"label6\">\n\
2224 <property name=\"visible\">True</property>\n\
2225 <property name=\"can_focus\">False</property>\n\
2226 <property name=\"label\" translatable=\"yes\">Band 5</property>\n\
2227 </object>\n\
2228 <packing>\n\
2229 <property name=\"position\">4</property>\n\
2230 <property name=\"tab_fill\">False</property>\n\
2231 </packing>\n\
2232 </child>\n\
2233 <style>\n\
2234 <class name=\"tab_rack\"/>\n\
2235 </style>\n\
2236 </object>\n\
2237 <packing>\n\
2238 <property name=\"expand\">True</property>\n\
2239 <property name=\"fill\">True</property>\n\
2240 <property name=\"position\">0</property>\n\
2241 </packing>\n\
2242 </child>\n\
2243 <child>\n\
2244 <object class=\"GtkBox\" id=\"vbox2\">\n\
2245 <property name=\"visible\">True</property>\n\
2246 <property name=\"can_focus\">False</property>\n\
2247 <property name=\"orientation\">vertical</property>\n\
2248 <child>\n\
2249 <object class=\"GtkLabel\" id=\"label5:rack_label\">\n\
2250 <property name=\"visible\">True</property>\n\
2251 <property name=\"can_focus\">False</property>\n\
2252 <property name=\"label\" translatable=\"yes\">Levels</property>\n\
2253 <property name=\"xalign\">0</property>\n\
2254 </object>\n\
2255 <packing>\n\
2256 <property name=\"expand\">False</property>\n\
2257 <property name=\"fill\">False</property>\n\
2258 <property name=\"position\">0</property>\n\
2259 </packing>\n\
2260 </child>\n\
2261 <child>\n\
2262 <object class=\"GtkBox\" id=\"hbox3\">\n\
2263 <property name=\"visible\">True</property>\n\
2264 <property name=\"can_focus\">False</property>\n\
2265 <property name=\"margin_bottom\">4</property>\n\
2266 <child>\n\
2267 <object class=\"GxFastMeter\" id=\"gxfastmeter1\">\n\
2268 <property name=\"visible\">True</property>\n\
2269 <property name=\"can_focus\">False</property>\n\
2270 <property name=\"tooltip_text\" translatable=\"yes\">Sum of Band1 </property>\n\
2271 <property name=\"orientation\">vertical</property>\n\
2272 <property name=\"hold\">0</property>\n\
2273 <property name=\"dimen\">0</property>\n\
2274 <property name=\"var_id\">mbcs.v1</property>\n\
2275 <property name=\"falloff\">True</property>\n\
2276 </object>\n\
2277 <packing>\n\
2278 <property name=\"expand\">True</property>\n\
2279 <property name=\"fill\">True</property>\n\
2280 <property name=\"position\">0</property>\n\
2281 </packing>\n\
2282 </child>\n\
2283 <child>\n\
2284 <object class=\"GxFastMeter\" id=\"gxfastmeter2\">\n\
2285 <property name=\"visible\">True</property>\n\
2286 <property name=\"can_focus\">False</property>\n\
2287 <property name=\"tooltip_text\" translatable=\"yes\">Sum of Band2</property>\n\
2288 <property name=\"orientation\">vertical</property>\n\
2289 <property name=\"hold\">0</property>\n\
2290 <property name=\"dimen\">0</property>\n\
2291 <property name=\"var_id\">mbcs.v2</property>\n\
2292 <property name=\"falloff\">True</property>\n\
2293 </object>\n\
2294 <packing>\n\
2295 <property name=\"expand\">True</property>\n\
2296 <property name=\"fill\">True</property>\n\
2297 <property name=\"position\">1</property>\n\
2298 </packing>\n\
2299 </child>\n\
2300 <child>\n\
2301 <object class=\"GxFastMeter\" id=\"gxfastmeter3\">\n\
2302 <property name=\"visible\">True</property>\n\
2303 <property name=\"can_focus\">False</property>\n\
2304 <property name=\"tooltip_text\" translatable=\"yes\">Sum of Band3</property>\n\
2305 <property name=\"orientation\">vertical</property>\n\
2306 <property name=\"hold\">0</property>\n\
2307 <property name=\"dimen\">0</property>\n\
2308 <property name=\"var_id\">mbcs.v3</property>\n\
2309 <property name=\"falloff\">True</property>\n\
2310 </object>\n\
2311 <packing>\n\
2312 <property name=\"expand\">True</property>\n\
2313 <property name=\"fill\">True</property>\n\
2314 <property name=\"position\">2</property>\n\
2315 </packing>\n\
2316 </child>\n\
2317 <child>\n\
2318 <object class=\"GxFastMeter\" id=\"gxfastmeter4\">\n\
2319 <property name=\"visible\">True</property>\n\
2320 <property name=\"can_focus\">False</property>\n\
2321 <property name=\"tooltip_text\" translatable=\"yes\">Sum of Band4</property>\n\
2322 <property name=\"orientation\">vertical</property>\n\
2323 <property name=\"hold\">0</property>\n\
2324 <property name=\"dimen\">0</property>\n\
2325 <property name=\"var_id\">mbcs.v4</property>\n\
2326 <property name=\"falloff\">True</property>\n\
2327 </object>\n\
2328 <packing>\n\
2329 <property name=\"expand\">True</property>\n\
2330 <property name=\"fill\">True</property>\n\
2331 <property name=\"position\">3</property>\n\
2332 </packing>\n\
2333 </child>\n\
2334 <child>\n\
2335 <object class=\"GxFastMeter\" id=\"gxfastmeter5\">\n\
2336 <property name=\"visible\">True</property>\n\
2337 <property name=\"can_focus\">False</property>\n\
2338 <property name=\"tooltip_text\" translatable=\"yes\">Sum of Band5</property>\n\
2339 <property name=\"orientation\">vertical</property>\n\
2340 <property name=\"hold\">0</property>\n\
2341 <property name=\"dimen\">0</property>\n\
2342 <property name=\"var_id\">mbcs.v5</property>\n\
2343 <property name=\"falloff\">True</property>\n\
2344 </object>\n\
2345 <packing>\n\
2346 <property name=\"expand\">True</property>\n\
2347 <property name=\"fill\">True</property>\n\
2348 <property name=\"position\">4</property>\n\
2349 </packing>\n\
2350 </child>\n\
2351 </object>\n\
2352 <packing>\n\
2353 <property name=\"expand\">True</property>\n\
2354 <property name=\"fill\">True</property>\n\
2355 <property name=\"position\">1</property>\n\
2356 </packing>\n\
2357 </child>\n\
2358 </object>\n\
2359 <packing>\n\
2360 <property name=\"expand\">True</property>\n\
2361 <property name=\"fill\">True</property>\n\
2362 <property name=\"position\">1</property>\n\
2363 </packing>\n\
2364 </child>\n\
2365 </object>\n\
2366 <packing>\n\
2367 <property name=\"expand\">True</property>\n\
2368 <property name=\"fill\">True</property>\n\
2369 <property name=\"position\">0</property>\n\
2370 </packing>\n\
2371 </child>\n\
2372 </object>\n\
2373 <packing>\n\
2374 <property name=\"expand\">True</property>\n\
2375 <property name=\"fill\">True</property>\n\
2376 <property name=\"position\">0</property>\n\
2377 </packing>\n\
2378 </child>\n\
2379 <child>\n\
2380 <object class=\"GtkBox\" id=\"minibox\">\n\
2381 <property name=\"visible\">True</property>\n\
2382 <property name=\"can_focus\">False</property>\n\
2383 <property name=\"spacing\">4</property>\n\
2384 <child>\n\
2385 <placeholder/>\n\
2386 </child>\n\
2387 </object>\n\
2388 <packing>\n\
2389 <property name=\"expand\">True</property>\n\
2390 <property name=\"fill\">True</property>\n\
2391 <property name=\"position\">1</property>\n\
2392 </packing>\n\
2393 </child>\n\
2394 </object>\n\
2395 </child>\n\
2396 </object>\n\
2397 </interface>\n\
2398 ";
2399
load_ui_f(const UiBuilder & b,int form)2400 inline int Dsp::load_ui_f(const UiBuilder& b, int form)
2401 {
2402 if (form & UI_FORM_GLADE) {
2403 b.load_glade(glade_def);
2404 return 0;
2405 }
2406 if (form & UI_FORM_STACK) {
2407 #define PARAM(p) ("mbcs" "." p)
2408
2409 b.openHorizontalhideBox("");
2410 b.closeBox();
2411
2412 b.openHorizontalBox("");
2413 b.openVerticalBox("");
2414
2415 b.openTabBox("");
2416
2417 b.openHorizontalBox(N_("Band 1"));
2418 b.openpaintampBox("");
2419 b.openVerticalBox("");
2420 b.openHorizontalBox("");
2421 b.set_next_flags(UI_NUM_RIGHT);
2422 b.create_small_rackknob(PARAM("Makeup1"), N_("Makeup (db)"));
2423 b.set_next_flags(UI_NUM_RIGHT);
2424 b.create_small_rackknob(PARAM("Makeup-Threshold1"), N_("Anticlip (db)"));
2425 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2426 b.create_small_rackknob(PARAM("crossover_b1_b2"), N_("Low Shelf (Hz)"));
2427 b.closeBox();
2428 b.openHorizontalBox("");
2429 b.create_selector_no_caption(PARAM("Mode1"));
2430 b.create_small_rackknob(PARAM("Ratio1"), N_("Ratio"));
2431 b.create_small_rackknob(PARAM("Attack1"), N_("Attack"));
2432 b.create_small_rackknob(PARAM("Release1") ,N_("Release"));
2433 b.closeBox();
2434 b.closeBox();
2435 b.closeBox();
2436 b.closeBox();
2437
2438 b.openHorizontalBox(N_("Band 2"));
2439 b.openpaintampBox("");
2440 b.openVerticalBox("");
2441 b.openHorizontalBox("");
2442 b.set_next_flags(UI_NUM_RIGHT);
2443 b.create_small_rackknob(PARAM("Makeup2"), N_("Makeup (db)"));
2444 b.set_next_flags(UI_NUM_RIGHT);
2445 b.create_small_rackknob(PARAM("Makeup-Threshold2"), N_("Anticlip (db)"));
2446 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2447 b.create_small_rackknob(PARAM("crossover_b1_b2"), N_("Low (hz)"));
2448 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2449 b.create_small_rackknob(PARAM("crossover_b2_b3"), N_("High (hz)"));
2450 b.closeBox();
2451 b.openHorizontalBox("");
2452 b.create_selector_no_caption(PARAM("Mode2"));
2453 b.create_small_rackknob(PARAM("Ratio2"), N_("Ratio"));
2454 b.create_small_rackknob(PARAM("Attack2"), N_("Attack"));
2455 b.create_small_rackknob(PARAM("Release2"), N_("Release"));
2456 b.closeBox();
2457 b.closeBox();
2458 b.closeBox();
2459 b.closeBox();
2460
2461 b.openHorizontalBox(N_("Band 3"));
2462 b.openpaintampBox("");
2463 b.openVerticalBox("");
2464 b.openHorizontalBox("");
2465 b.set_next_flags(UI_NUM_RIGHT);
2466 b.create_small_rackknob(PARAM("Makeup3"), N_("Makeup (db)"));
2467 b.set_next_flags(UI_NUM_RIGHT);
2468 b.create_small_rackknob(PARAM("Makeup-Threshold3"), N_("Anticlip (db)"));
2469 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2470 b.create_small_rackknob(PARAM("crossover_b2_b3"), N_("Low (hz)"));
2471 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2472 b.create_small_rackknob(PARAM("crossover_b3_b4"), N_("High (hz)"));
2473 b.closeBox();
2474 b.openHorizontalBox("");
2475 b.create_selector_no_caption(PARAM("Mode3"));
2476 b.create_small_rackknob(PARAM("Ratio3"), N_("Ratio"));
2477 b.create_small_rackknob(PARAM("Attack3"), N_("Attack"));
2478 b.create_small_rackknob(PARAM("Release3"), N_("Release"));
2479 b.closeBox();
2480 b.closeBox();
2481 b.closeBox();
2482 b.closeBox();
2483
2484 b.openHorizontalBox(N_("Band 4"));
2485 b.openpaintampBox("");
2486 b.openVerticalBox("");
2487 b.openHorizontalBox("");
2488 b.set_next_flags(UI_NUM_RIGHT);
2489 b.create_small_rackknob(PARAM("Makeup4"), N_("Makeup (db)"));
2490 b.set_next_flags(UI_NUM_RIGHT);
2491 b.create_small_rackknob(PARAM("Makeup-Threshold4"), N_("Anticlip (db)"));
2492 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2493 b.create_small_rackknob(PARAM("crossover_b3_b4"),N_("Low (hz)"));
2494 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2495 b.create_small_rackknob(PARAM("crossover_b4_b5"),N_("High (hz)"));
2496 b.closeBox();
2497 b.openHorizontalBox("");
2498 b.create_selector_no_caption(PARAM("Mode4"));
2499 b.create_small_rackknob(PARAM("Ratio4"), N_("Ratio"));
2500 b.create_small_rackknob(PARAM("Attack4"), N_("Attack"));
2501 b.create_small_rackknob(PARAM("Release4"), N_("Release"));
2502 b.closeBox();
2503 b.closeBox();
2504 b.closeBox();
2505 b.closeBox();
2506
2507 b.openHorizontalBox(N_("Band 5"));
2508 b.openpaintampBox("");
2509 b.openVerticalBox("");
2510 b.openHorizontalBox("");
2511 b.set_next_flags(UI_NUM_RIGHT);
2512 b.create_small_rackknob(PARAM("Makeup5"), N_("Makeup (db)"));
2513 b.set_next_flags(UI_NUM_RIGHT);
2514 b.create_small_rackknob(PARAM("Makeup-Threshold5"), N_( "Anticlip (db)"));
2515 b.set_next_flags(UI_NUM_SHOW_ALWAYS|UI_NUM_RIGHT);
2516 b.create_small_rackknob(PARAM("crossover_b4_b5"), N_("High Shelf (hz)"));
2517 b.closeBox();
2518 b.openHorizontalBox("");
2519 b.create_selector_no_caption(PARAM("Mode5"));
2520 b.create_small_rackknob(PARAM("Ratio5"), N_("Ratio"));
2521 b.create_small_rackknob(PARAM("Attack5"), N_("Attack"));
2522 b.create_small_rackknob(PARAM("Release5"), N_("Release"));
2523 b.closeBox();
2524 b.closeBox();
2525 b.closeBox();
2526 b.closeBox();
2527
2528 b.closeBox();
2529 b.closeBox();
2530 b.openVerticalBox2("Analyze");
2531 b.create_simple_meter(PARAM("v1"));
2532 b.create_simple_meter(PARAM("v2"));
2533 b.create_simple_meter(PARAM("v3"));
2534 b.create_simple_meter(PARAM("v4"));
2535 b.create_simple_meter(PARAM("v5"));
2536 b.closeBox();
2537 b.closeBox();
2538
2539 #undef PARAM
2540 return 0;
2541 }
2542 return -1;
2543 }
2544
load_ui_f_static(const UiBuilder & b,int form)2545 int Dsp::load_ui_f_static(const UiBuilder& b, int form)
2546 {
2547 return static_cast<Dsp*>(b.plugin)->load_ui_f(b, form);
2548 }
plugin()2549 PluginDef *plugin() {
2550 return new Dsp();
2551 }
2552
del_instance(PluginDef * p)2553 void Dsp::del_instance(PluginDef *p)
2554 {
2555 delete static_cast<Dsp*>(p);
2556 }
2557
2558 } // end namespace mbcs
2559 } // end namespace pluginlib
2560