1 // generated from file '../src/plugins/hornet.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 hornet {
9
10 class Dsp: public PluginDef {
11 private:
12 int fSampleRate;
13 double fConst0;
14 double fConst1;
15 FAUSTFLOAT fVslider0;
16 double fRec0[2];
17 FAUSTFLOAT fVslider1;
18 double fRec2[2];
19 double fConst3;
20 FAUSTFLOAT fVslider2;
21 double fRec3[2];
22 double fConst5;
23 double fConst7;
24 double fConst9;
25 double fConst11;
26 double fConst13;
27 double fConst14;
28 double fConst15;
29 double fConst16;
30 double fConst17;
31 double fConst18;
32 double fConst19;
33 double fConst20;
34 double fConst21;
35 double fConst22;
36 double fConst23;
37 double fConst24;
38 double fConst25;
39 double fConst27;
40 double fConst29;
41 double fConst31;
42 double fConst33;
43 double fConst35;
44 double fConst37;
45 double fConst38;
46 double fConst39;
47 double fConst40;
48 double fConst41;
49 double fConst42;
50 double fConst43;
51 double fRec1[5];
52 double fConst45;
53 double fConst47;
54 double fConst49;
55 double fConst51;
56 double fConst53;
57 double fConst55;
58 double fConst57;
59 double fConst59;
60 double fConst61;
61 double fConst63;
62 double fConst65;
63 double fConst67;
64 double fConst68;
65 double fConst69;
66 double fConst70;
67 double fConst71;
68 double fConst72;
69 double fConst73;
70 double fConst74;
71 double fConst75;
72 double fConst76;
73 double fConst77;
74 double fConst78;
75 double fConst79;
76 double fConst80;
77 double fConst81;
78
79 void clear_state_f();
80 int load_ui_f(const UiBuilder& b, int form);
81 static const char *glade_def;
82 void init(unsigned int sample_rate);
83 void compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0);
84 int register_par(const ParamReg& reg);
85
86 static void clear_state_f_static(PluginDef*);
87 static int load_ui_f_static(const UiBuilder& b, int form);
88 static void init_static(unsigned int sample_rate, PluginDef*);
89 static void compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef*);
90 static int register_params_static(const ParamReg& reg);
91 static void del_instance(PluginDef *p);
92 public:
93 Dsp();
94 ~Dsp();
95 };
96
97
98
Dsp()99 Dsp::Dsp()
100 : PluginDef() {
101 version = PLUGINDEF_VERSION;
102 flags = 0;
103 id = "hornet";
104 name = N_("Hornet");
105 groups = 0;
106 description = N_("Hornet simulation"); // description (tooltip)
107 category = N_("Fuzz"); // category
108 shortname = ""; // shortname
109 mono_audio = compute_static;
110 stereo_audio = 0;
111 set_samplerate = init_static;
112 activate_plugin = 0;
113 register_params = register_params_static;
114 load_ui = load_ui_f_static;
115 clear_state = clear_state_f_static;
116 delete_instance = del_instance;
117 }
118
~Dsp()119 Dsp::~Dsp() {
120 }
121
clear_state_f()122 inline void Dsp::clear_state_f()
123 {
124 for (int l0 = 0; (l0 < 2); l0 = (l0 + 1)) fRec0[l0] = 0.0;
125 for (int l1 = 0; (l1 < 2); l1 = (l1 + 1)) fRec2[l1] = 0.0;
126 for (int l2 = 0; (l2 < 2); l2 = (l2 + 1)) fRec3[l2] = 0.0;
127 for (int l3 = 0; (l3 < 5); l3 = (l3 + 1)) fRec1[l3] = 0.0;
128 }
129
clear_state_f_static(PluginDef * p)130 void Dsp::clear_state_f_static(PluginDef *p)
131 {
132 static_cast<Dsp*>(p)->clear_state_f();
133 }
134
init(unsigned int sample_rate)135 inline void Dsp::init(unsigned int sample_rate)
136 {
137 fSampleRate = sample_rate;
138 fConst0 = std::min<double>(192000.0, std::max<double>(1.0, double(fSampleRate)));
139 fConst1 = mydsp_faustpower2_f(fConst0);
140 double fConst2 = (8.0344113490136796e-19 * fConst0);
141 fConst3 = ((fConst1 * (-2.1327709047497402e-15 - fConst2)) + 4.6082764112797202e-12);
142 double fConst4 = (1.0533847926209301e-18 * fConst0);
143 fConst5 = ((fConst1 * (-2.7912118642523799e-15 - fConst4)) + 2.1911443811562198e-12);
144 double fConst6 = (8.9092734281538994e-20 * fConst0);
145 fConst7 = ((fConst1 * (fConst6 + 2.3136174511326298e-16)) + -1.7723782402438701e-13);
146 double fConst8 = (7.3938345895294102e-21 * fConst0);
147 fConst9 = ((fConst1 * (-4.97629551390976e-16 - fConst8)) + 8.6188432028757995e-11);
148 double fConst10 = (2.8896627533487999e-21 * fConst0);
149 fConst11 = ((fConst1 * (-2.3141629669080201e-16 - fConst10)) + 1.16303563314026e-11);
150 double fConst12 = (1.02834973428782e-20 * fConst0);
151 fConst13 = ((fConst1 * (fConst12 + 6.4056516005839696e-16)) + -3.1853156396660198e-11);
152 fConst14 = ((1.20516170235205e-18 * fConst1) + -2.2146088225976801e-13);
153 fConst15 = ((1.5800771889314001e-18 * fConst1) + -2.4710764349103501e-13);
154 fConst16 = (2.04220452060922e-14 - (1.3363910142230799e-19 * fConst1));
155 fConst17 = ((1.10907518842941e-20 * fConst1) + -2.5054803935412798e-12);
156 fConst18 = ((4.33449413002321e-21 * fConst1) + -1.16746083607033e-12);
157 fConst19 = (3.1991095902122601e-12 - (1.5425246014317301e-20 * fConst1));
158 fConst20 = ((fConst1 * (2.1327709047497402e-15 - fConst2)) + -4.6082764112797202e-12);
159 fConst21 = ((fConst1 * (2.7912118642523799e-15 - fConst4)) + -2.1911443811562198e-12);
160 fConst22 = ((fConst1 * (fConst6 + -2.3136174511326298e-16)) + 1.7723782402438701e-13);
161 fConst23 = ((fConst1 * (4.97629551390976e-16 - fConst8)) + -8.6188432028757995e-11);
162 fConst24 = ((fConst1 * (2.3141629669080201e-16 - fConst10)) + -1.16303563314026e-11);
163 fConst25 = ((fConst1 * (fConst12 + -6.4056516005839696e-16)) + 3.1853156396660198e-11);
164 double fConst26 = (2.0086028372534199e-19 * fConst0);
165 fConst27 = ((fConst0 * ((fConst0 * (fConst26 + -1.0663854523748701e-15)) + 1.1073044112988401e-13)) + -2.3041382056398601e-12);
166 double fConst28 = (2.6334619815523401e-19 * fConst0);
167 fConst29 = ((fConst0 * ((fConst0 * (fConst28 + -1.3956059321261899e-15)) + 1.2355382174551801e-13)) + -1.0955721905781099e-12);
168 double fConst30 = (2.22731835703847e-20 * fConst0);
169 fConst31 = ((fConst0 * ((fConst0 * (1.15680872556631e-16 - fConst30)) + -1.02110226030461e-14)) + 8.8618912012193706e-14);
170 double fConst32 = (1.8484586473823499e-21 * fConst0);
171 fConst33 = ((fConst0 * ((fConst0 * (fConst32 + -2.48814775695488e-16)) + 1.2527401967706399e-12)) + -4.3094216014378998e-11);
172 double fConst34 = (7.2241568833720101e-22 * fConst0);
173 fConst35 = ((fConst0 * ((fConst0 * (fConst34 + -1.1570814834540101e-16)) + 5.8373041803516501e-13)) + -5.8151781657012799e-12);
174 double fConst36 = (2.5708743357195501e-21 * fConst0);
175 fConst37 = ((fConst0 * ((fConst0 * (3.2028258002919799e-16 - fConst36)) + -1.59955479510613e-12)) + 1.5926578198330099e-11);
176 fConst38 = ((fConst0 * ((fConst0 * (fConst26 + 1.0663854523748701e-15)) + 1.1073044112988401e-13)) + 2.3041382056398601e-12);
177 fConst39 = ((fConst0 * ((fConst0 * (fConst28 + 1.3956059321261899e-15)) + 1.2355382174551801e-13)) + 1.0955721905781099e-12);
178 fConst40 = ((fConst0 * ((fConst0 * (-1.15680872556631e-16 - fConst30)) + -1.02110226030461e-14)) + -8.8618912012193706e-14);
179 fConst41 = ((fConst0 * ((fConst0 * (fConst32 + 2.48814775695488e-16)) + 1.2527401967706399e-12)) + 4.3094216014378998e-11);
180 fConst42 = ((fConst0 * ((fConst0 * (fConst34 + 1.1570814834540101e-16)) + 5.8373041803516501e-13)) + 5.8151781657012799e-12);
181 fConst43 = ((fConst0 * ((fConst0 * (-3.2028258002919799e-16 - fConst36)) + -1.59955479510613e-12)) + -1.5926578198330099e-11);
182 double fConst44 = (2.4218162356217001e-20 * fConst0);
183 fConst45 = ((fConst0 * (fConst44 + 1.2685958335763499e-16)) + 3.2109130517186899e-15);
184 double fConst46 = (9.4649563589667005e-21 * fConst0);
185 fConst47 = (fConst46 + 4.9338602296741301e-17);
186 double fConst48 = (3.3683118715183703e-20 * fConst0);
187 fConst49 = (-1.75582214579149e-16 - fConst48);
188 double fConst50 = (1.45891323583538e-19 * fConst0);
189 fConst51 = ((fConst0 * (fConst50 + 7.4048946315080199e-16)) + -1.04296301457845e-13);
190 double fConst52 = (2.2865563315343902e-18 * fConst0);
191 fConst53 = (fConst52 + 1.19192830048069e-14);
192 double fConst54 = (2.8979800773940299e-18 * fConst0);
193 fConst55 = (fConst54 + 1.5106491892798699e-14);
194 double fConst56 = (9.6872649424868004e-20 * fConst0);
195 fConst57 = (-2.5371916671527101e-16 - fConst56);
196 double fConst58 = (3.7859825435866802e-20 * fConst0);
197 fConst59 = (-9.8677204593482602e-17 - fConst58);
198 double fConst60 = (1.34732474860735e-19 * fConst0);
199 fConst61 = (fConst60 + 3.51164429158298e-16);
200 double fConst62 = (5.83565294334152e-19 * fConst0);
201 fConst63 = (-1.4809789263016e-15 - fConst62);
202 double fConst64 = (9.1462253261375608e-18 * fConst0);
203 fConst65 = (-2.38385660096139e-14 - fConst64);
204 double fConst66 = (1.15919203095761e-17 * fConst0);
205 fConst67 = (-3.0212983785597297e-14 - fConst66);
206 fConst68 = ((1.4530897413730201e-19 * fConst1) + -6.4218261034373797e-15);
207 fConst69 = ((8.7534794150122796e-19 * fConst1) + 2.08592602915691e-13);
208 fConst70 = (2.5371916671527101e-16 - fConst56);
209 fConst71 = (9.8677204593482602e-17 - fConst58);
210 fConst72 = (fConst60 + -3.51164429158298e-16);
211 fConst73 = (1.4809789263016e-15 - fConst62);
212 fConst74 = (2.38385660096139e-14 - fConst64);
213 fConst75 = (3.0212983785597297e-14 - fConst66);
214 fConst76 = ((fConst0 * (fConst44 + -1.2685958335763499e-16)) + 3.2109130517186899e-15);
215 fConst77 = (fConst46 + -4.9338602296741301e-17);
216 fConst78 = (1.75582214579149e-16 - fConst48);
217 fConst79 = ((fConst0 * (fConst50 + -7.4048946315080199e-16)) + -1.04296301457845e-13);
218 fConst80 = (fConst52 + -1.19192830048069e-14);
219 fConst81 = (fConst54 + -1.5106491892798699e-14);
220 clear_state_f();
221 }
222
init_static(unsigned int sample_rate,PluginDef * p)223 void Dsp::init_static(unsigned int sample_rate, PluginDef *p)
224 {
225 static_cast<Dsp*>(p)->init(sample_rate);
226 }
227
compute(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0)228 void always_inline Dsp::compute(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0)
229 {
230 double fSlow0 = (0.0070000000000000062 * double(fVslider0));
231 double fSlow1 = (0.0070000000000000062 * double(fVslider1));
232 double fSlow2 = (0.0070000000000000062 * double(fVslider2));
233 for (int i0 = 0; (i0 < count); i0 = (i0 + 1)) {
234 fRec0[0] = (fSlow0 + (0.99299999999999999 * fRec0[1]));
235 fRec2[0] = (fSlow1 + (0.99299999999999999 * fRec2[1]));
236 fRec3[0] = (fSlow2 + (0.99299999999999999 * fRec3[1]));
237 double fTemp0 = (((fRec2[0] * ((fConst0 * (fConst38 + (fRec3[0] * (fConst39 + (fConst40 * fRec3[0]))))) + 1.30107041069324e-11)) + (fConst0 * (fConst41 + (fRec3[0] * (fConst42 + (fConst43 * fRec3[0])))))) + 3.05506357605318e-10);
238 fRec1[0] = (double(input0[i0]) - (((((fRec1[1] * (((fRec2[0] * ((fConst0 * (fConst3 + (fRec3[0] * (fConst5 + (fConst7 * fRec3[0]))))) + 5.2042816427729497e-11)) + (fConst0 * (fConst9 + (fRec3[0] * (fConst11 + (fConst13 * fRec3[0])))))) + 1.2220254304212699e-09)) + (fRec1[2] * (((fRec2[0] * ((fConst1 * (fConst14 + (fRec3[0] * (fConst15 + (fConst16 * fRec3[0]))))) + 7.8064224641594301e-11)) + (fConst1 * (fConst17 + (fRec3[0] * (fConst18 + (fConst19 * fRec3[0])))))) + 1.83303814563191e-09))) + (fRec1[3] * (((fRec2[0] * ((fConst0 * (fConst20 + (fRec3[0] * (fConst21 + (fConst22 * fRec3[0]))))) + 5.2042816427729497e-11)) + (fConst0 * (fConst23 + (fRec3[0] * (fConst24 + (fConst25 * fRec3[0])))))) + 1.2220254304212699e-09))) + (fRec1[4] * (((fRec2[0] * ((fConst0 * (fConst27 + (fRec3[0] * (fConst29 + (fConst31 * fRec3[0]))))) + 1.30107041069324e-11)) + (fConst0 * (fConst33 + (fRec3[0] * (fConst35 + (fConst37 * fRec3[0])))))) + 3.05506357605318e-10))) / fTemp0));
239 output0[i0] = FAUSTFLOAT((0.40000000000000002 * std::min<double>(0.75139999999999996, std::max<double>(-0.45140000000000002, (fConst1 * ((fRec0[0] * (((((fRec1[0] * (fConst45 + ((fConst0 * (fRec3[0] * (fConst47 + (fConst49 * fRec3[0])))) + (fRec2[0] * (fConst51 + (fConst0 * (fRec3[0] * (fConst53 + (fConst55 * fRec3[0]))))))))) + (fConst0 * (fRec1[1] * (fConst57 + ((fRec3[0] * (fConst59 + (fConst61 * fRec3[0]))) + (fRec2[0] * (fConst63 + (fRec3[0] * (fConst65 + (fConst67 * fRec3[0])))))))))) + (fRec1[2] * (fConst68 + ((fConst1 * (fRec3[0] * ((0.0 - (2.02098712291102e-19 * fRec3[0])) + 5.6789738153800206e-20))) + (fRec2[0] * (fConst69 + (fConst1 * (fRec3[0] * ((1.7387880464364199e-17 * fRec3[0]) + 1.37193379892063e-17))))))))) + (fConst0 * (fRec1[3] * (fConst70 + ((fRec3[0] * (fConst71 + (fConst72 * fRec3[0]))) + (fRec2[0] * (fConst73 + (fRec3[0] * (fConst74 + (fConst75 * fRec3[0])))))))))) + (fRec1[4] * (fConst76 + ((fConst0 * (fRec3[0] * (fConst77 + (fConst78 * fRec3[0])))) + (fRec2[0] * (fConst79 + (fConst0 * (fRec3[0] * (fConst80 + (fConst81 * fRec3[0]))))))))))) / fTemp0))))));
240 fRec0[1] = fRec0[0];
241 fRec2[1] = fRec2[0];
242 fRec3[1] = fRec3[0];
243 for (int j0 = 4; (j0 > 0); j0 = (j0 - 1)) {
244 fRec1[j0] = fRec1[(j0 - 1)];
245 }
246 }
247 }
248
compute_static(int count,FAUSTFLOAT * input0,FAUSTFLOAT * output0,PluginDef * p)249 void __rt_func Dsp::compute_static(int count, FAUSTFLOAT *input0, FAUSTFLOAT *output0, PluginDef *p)
250 {
251 static_cast<Dsp*>(p)->compute(count, input0, output0);
252 }
253
register_par(const ParamReg & reg)254 int Dsp::register_par(const ParamReg& reg)
255 {
256 reg.registerFloatVar("hornet.Fuzz",N_("Fuzz"),"S","",&fVslider2, 0.5, 0.0, 1.0, 0.01, 0);
257 reg.registerFloatVar("hornet.Level",N_("Level"),"S","",&fVslider0, 0.5, 0.0, 1.0, 0.01, 0);
258 reg.registerFloatVar("hornet.Sustain",N_("Sustain"),"S","",&fVslider1, 0.5, 0.0, 1.0, 0.01, 0);
259 return 0;
260 }
261
register_params_static(const ParamReg & reg)262 int Dsp::register_params_static(const ParamReg& reg)
263 {
264 return static_cast<Dsp*>(reg.plugin)->register_par(reg);
265 }
266
267 const char *Dsp::glade_def = "\
268 <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
269 <!-- Generated with glade 3.22.1 -->\n\
270 <interface>\n\
271 <requires lib=\"gtk+\" version=\"3.20\"/>\n\
272 <requires lib=\"gxwidgets\" version=\"0.0\"/>\n\
273 <object class=\"GtkWindow\" id=\"window1\">\n\
274 <property name=\"can_focus\">False</property>\n\
275 <child>\n\
276 <placeholder/>\n\
277 </child>\n\
278 <child>\n\
279 <object class=\"GtkBox\" id=\"vbox1\">\n\
280 <property name=\"visible\">True</property>\n\
281 <property name=\"can_focus\">False</property>\n\
282 <property name=\"orientation\">vertical</property>\n\
283 <child>\n\
284 <object class=\"GtkBox\" id=\"rackbox\">\n\
285 <property name=\"visible\">True</property>\n\
286 <property name=\"can_focus\">False</property>\n\
287 <property name=\"spacing\">4</property>\n\
288 <child>\n\
289 <object class=\"GtkBox\" id=\"hbox1\">\n\
290 <property name=\"visible\">True</property>\n\
291 <property name=\"can_focus\">False</property>\n\
292 <property name=\"spacing\">10</property>\n\
293 <child>\n\
294 <object class=\"GtkBox\" id=\"vbox2\">\n\
295 <property name=\"visible\">True</property>\n\
296 <property name=\"can_focus\">False</property>\n\
297 <property name=\"orientation\">vertical</property>\n\
298 <child>\n\
299 <object class=\"GtkLabel\" id=\"label1:rack_label\">\n\
300 <property name=\"visible\">True</property>\n\
301 <property name=\"can_focus\">False</property>\n\
302 <property name=\"label\" translatable=\"yes\">label</property>\n\
303 </object>\n\
304 <packing>\n\
305 <property name=\"expand\">False</property>\n\
306 <property name=\"fill\">False</property>\n\
307 <property name=\"position\">0</property>\n\
308 </packing>\n\
309 </child>\n\
310 <child>\n\
311 <object class=\"GxSmallKnobR\" id=\"gxbigknob1\">\n\
312 <property name=\"visible\">True</property>\n\
313 <property name=\"can_focus\">True</property>\n\
314 <property name=\"receives_default\">True</property>\n\
315 <property name=\"var_id\">hornet.Sustain</property>\n\
316 <property name=\"label_ref\">label1:rack_label</property>\n\
317 </object>\n\
318 <packing>\n\
319 <property name=\"expand\">False</property>\n\
320 <property name=\"fill\">False</property>\n\
321 <property name=\"position\">1</property>\n\
322 </packing>\n\
323 </child>\n\
324 </object>\n\
325 <packing>\n\
326 <property name=\"expand\">False</property>\n\
327 <property name=\"fill\">False</property>\n\
328 <property name=\"position\">0</property>\n\
329 </packing>\n\
330 </child>\n\
331 <child>\n\
332 <object class=\"GtkBox\" id=\"vbox3\">\n\
333 <property name=\"visible\">True</property>\n\
334 <property name=\"can_focus\">False</property>\n\
335 <property name=\"orientation\">vertical</property>\n\
336 <child>\n\
337 <object class=\"GtkLabel\" id=\"label2:rack_label\">\n\
338 <property name=\"visible\">True</property>\n\
339 <property name=\"can_focus\">False</property>\n\
340 <property name=\"label\" translatable=\"yes\">label</property>\n\
341 </object>\n\
342 <packing>\n\
343 <property name=\"expand\">False</property>\n\
344 <property name=\"fill\">False</property>\n\
345 <property name=\"position\">0</property>\n\
346 </packing>\n\
347 </child>\n\
348 <child>\n\
349 <object class=\"GxMidKnob\" id=\"gxbigknob2\">\n\
350 <property name=\"visible\">True</property>\n\
351 <property name=\"can_focus\">True</property>\n\
352 <property name=\"receives_default\">True</property>\n\
353 <property name=\"var_id\">hornet.Level</property>\n\
354 <property name=\"label_ref\">label2:rack_label</property>\n\
355 </object>\n\
356 <packing>\n\
357 <property name=\"expand\">False</property>\n\
358 <property name=\"fill\">False</property>\n\
359 <property name=\"position\">1</property>\n\
360 </packing>\n\
361 </child>\n\
362 </object>\n\
363 <packing>\n\
364 <property name=\"expand\">False</property>\n\
365 <property name=\"fill\">False</property>\n\
366 <property name=\"position\">1</property>\n\
367 </packing>\n\
368 </child>\n\
369 <child>\n\
370 <object class=\"GtkBox\" id=\"vbox4\">\n\
371 <property name=\"visible\">True</property>\n\
372 <property name=\"can_focus\">False</property>\n\
373 <property name=\"orientation\">vertical</property>\n\
374 <child>\n\
375 <object class=\"GtkLabel\" id=\"label3:rack_label\">\n\
376 <property name=\"visible\">True</property>\n\
377 <property name=\"can_focus\">False</property>\n\
378 <property name=\"label\" translatable=\"yes\">label</property>\n\
379 </object>\n\
380 <packing>\n\
381 <property name=\"expand\">False</property>\n\
382 <property name=\"fill\">False</property>\n\
383 <property name=\"position\">0</property>\n\
384 </packing>\n\
385 </child>\n\
386 <child>\n\
387 <object class=\"GxSmallKnobR\" id=\"gxbigknob3\">\n\
388 <property name=\"visible\">True</property>\n\
389 <property name=\"can_focus\">True</property>\n\
390 <property name=\"receives_default\">True</property>\n\
391 <property name=\"var_id\">hornet.Fuzz</property>\n\
392 <property name=\"label_ref\">label3:rack_label</property>\n\
393 </object>\n\
394 <packing>\n\
395 <property name=\"expand\">False</property>\n\
396 <property name=\"fill\">False</property>\n\
397 <property name=\"position\">1</property>\n\
398 </packing>\n\
399 </child>\n\
400 </object>\n\
401 <packing>\n\
402 <property name=\"expand\">False</property>\n\
403 <property name=\"fill\">False</property>\n\
404 <property name=\"position\">2</property>\n\
405 </packing>\n\
406 </child>\n\
407 </object>\n\
408 <packing>\n\
409 <property name=\"expand\">True</property>\n\
410 <property name=\"fill\">False</property>\n\
411 <property name=\"pack_type\">end</property>\n\
412 <property name=\"position\">0</property>\n\
413 </packing>\n\
414 </child>\n\
415 </object>\n\
416 <packing>\n\
417 <property name=\"expand\">True</property>\n\
418 <property name=\"fill\">False</property>\n\
419 <property name=\"position\">0</property>\n\
420 </packing>\n\
421 </child>\n\
422 <child>\n\
423 <object class=\"GtkBox\" id=\"minibox\">\n\
424 <property name=\"visible\">True</property>\n\
425 <property name=\"can_focus\">False</property>\n\
426 <property name=\"spacing\">4</property>\n\
427 <child>\n\
428 <object class=\"GxHSlider\" id=\"gxhslider1\">\n\
429 <property name=\"visible\">True</property>\n\
430 <property name=\"can_focus\">True</property>\n\
431 <property name=\"receives_default\">True</property>\n\
432 <property name=\"round_digits\">0</property>\n\
433 <property name=\"var_id\">hornet.Level</property>\n\
434 <property name=\"show_value\">False</property>\n\
435 <property name=\"value_position\">right</property>\n\
436 <property name=\"value_xalign\">0.52000000000000002</property>\n\
437 <property name=\"label_ref\">label0:rack_label</property>\n\
438 </object>\n\
439 <packing>\n\
440 <property name=\"expand\">False</property>\n\
441 <property name=\"fill\">False</property>\n\
442 <property name=\"position\">0</property>\n\
443 </packing>\n\
444 </child>\n\
445 <child>\n\
446 <object class=\"GtkLabel\" id=\"label0:rack_label\">\n\
447 <property name=\"visible\">True</property>\n\
448 <property name=\"can_focus\">False</property>\n\
449 <property name=\"label\" translatable=\"yes\">Level</property>\n\
450 <property name=\"xalign\">0</property>\n\
451 </object>\n\
452 <packing>\n\
453 <property name=\"expand\">False</property>\n\
454 <property name=\"fill\">False</property>\n\
455 <property name=\"position\">1</property>\n\
456 </packing>\n\
457 </child>\n\
458 </object>\n\
459 <packing>\n\
460 <property name=\"expand\">True</property>\n\
461 <property name=\"fill\">True</property>\n\
462 <property name=\"position\">1</property>\n\
463 </packing>\n\
464 </child>\n\
465 </object>\n\
466 </child>\n\
467 </object>\n\
468 </interface>\n\
469 ";
470
load_ui_f(const UiBuilder & b,int form)471 inline int Dsp::load_ui_f(const UiBuilder& b, int form)
472 {
473 if (form & UI_FORM_GLADE) {
474 b.load_glade(glade_def);
475 return 0;
476 }
477 if (form & UI_FORM_STACK) {
478 #define PARAM(p) ("hornet" "." p)
479
480 b.openHorizontalhideBox("");
481 b.create_master_slider(PARAM("Fuzz"), N_("Fuzz"));
482 b.closeBox();
483 b.openHorizontalBox("");
484
485 b.create_small_rackknobr(PARAM("Level"), N_("Level"));
486
487 b.create_small_rackknobr(PARAM("Sustain"), N_("Sustain"));
488
489 b.create_small_rackknobr(PARAM("Fuzz"), N_("Fuzz"));
490 b.closeBox();
491
492 #undef PARAM
493 return 0;
494 }
495 return -1;
496 }
497
load_ui_f_static(const UiBuilder & b,int form)498 int Dsp::load_ui_f_static(const UiBuilder& b, int form)
499 {
500 return static_cast<Dsp*>(b.plugin)->load_ui_f(b, form);
501 }
plugin()502 PluginDef *plugin() {
503 return new Dsp();
504 }
505
del_instance(PluginDef * p)506 void Dsp::del_instance(PluginDef *p)
507 {
508 delete static_cast<Dsp*>(p);
509 }
510
511 } // end namespace hornet
512 } // end namespace pluginlib
513