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