7 inline void DrumSequencer::clear_state_f()
9 for (
int i=0; i<2; i++) iVec0[i] = 0;
10 for (
int i=0; i<2; i++)
fRec0[i] = 0;
11 for (
int i=0; i<2; i++) fVec1[i] = 0;
12 for (
int i=0; i<2; i++) fRec3[i] = 0;
13 for (
int i=0; i<2; i++) iRec1[i] = 0;
14 for (
int i=0; i<2; i++) fRec2[i] = 0;
15 for (
int i=0; i<2; i++) fRec4[i] = 0;
16 for (
int i=0; i<2; i++) fRec5[i] = 0;
17 for (
int i=0; i<2; i++) fVec2[i] = 0;
18 for (
int i=0; i<2; i++) iRec6[i] = 0;
19 for (
int i=0; i<2; i++) fRec7[i] = 0;
20 for (
int i=0; i<2; i++) fRec8[i] = 0;
21 for (
int i=0; i<2; i++) fRec9[i] = 0;
22 for (
int i=0; i<2; i++) iRec12[i] = 0;
23 for (
int i=0; i<2; i++) fRec11[i] = 0;
24 for (
int i=0; i<3; i++) fRec10[i] = 0;
25 for (
int i=0; i<2; i++) iRec13[i] = 0;
26 for (
int i=0; i<2; i++) fRec14[i] = 0;
27 for (
int i=0; i<2; i++) fRec16[i] = 0;
28 for (
int i=0; i<3; i++) fRec15[i] = 0;
29 for (
int i=0; i<2; i++) iRec17[i] = 0;
30 for (
int i=0; i<2; i++) fRec18[i] = 0;
31 for (
int i=0; i<2; i++) fRec19[i] = 0;
32 for (
int i=0; i<2; i++) fVec3[i] = 0;
33 for (
int i=0; i<2; i++) fRec20[i] = 0;
34 for (
int i=0; i<2; i++) fRec25[i] = 0;
35 for (
int i=0; i<2; i++) fVec4[i] = 0;
36 for (
int i=0; i<64; i++) fVec5[i] = 0;
37 for (
int i=0; i<2; i++) fRec26[i] = 0;
38 for (
int i=0; i<2; i++) fRec27[i] = 0;
39 for (
int i=0; i<2; i++) fRec23[i] = 0;
40 for (
int i=0; i<2; i++) fRec24[i] = 0;
41 for (
int i=0; i<2; i++) fRec30[i] = 0;
42 for (
int i=0; i<2; i++) fRec31[i] = 0;
43 for (
int i=0; i<2; i++) fRec28[i] = 0;
44 for (
int i=0; i<2; i++) fRec29[i] = 0;
45 for (
int i=0; i<2; i++) fRec34[i] = 0;
46 for (
int i=0; i<2; i++) fRec35[i] = 0;
47 for (
int i=0; i<2; i++) fRec32[i] = 0;
48 for (
int i=0; i<2; i++) fRec33[i] = 0;
49 for (
int i=0; i<2; i++) fRec38[i] = 0;
50 for (
int i=0; i<2; i++) fRec39[i] = 0;
51 for (
int i=0; i<2; i++) fRec36[i] = 0;
52 for (
int i=0; i<2; i++) fRec37[i] = 0;
53 for (
int i=0; i<2; i++) fVec6[i] = 0;
54 for (
int i=0; i<2; i++) fRec22[i] = 0;
55 for (
int i=0; i<3; i++) fRec21[i] = 0;
56 for (
int i=0; i<2; i++) fRec42[i] = 0;
57 for (
int i=0; i<2; i++) iRec40[i] = 0;
58 for (
int i=0; i<2; i++) fRec41[i] = 0;
59 for (
int i=0; i<3; i++) fRec43[i] = 0;
60 for (
int i=0; i<2; i++) fRec44[i] = 0;
61 for (
int i=0; i<2; i++) fVec7[i] = 0;
62 for (
int i=0; i<2; i++) fRec45[i] = 0;
63 for (
int i=0; i<2; i++) fRec49[i] = 0;
64 for (
int i=0; i<3; i++) fRec48[i] = 0;
65 for (
int i=0; i<2; i++) fVec8[i] = 0;
66 for (
int i=0; i<2; i++) fRec47[i] = 0;
67 for (
int i=0; i<3; i++) fRec46[i] = 0;
68 for (
int i=0; i<2; i++) fRec52[i] = 0;
69 for (
int i=0; i<2; i++) iRec50[i] = 0;
70 for (
int i=0; i<2; i++) fRec51[i] = 0;
71 for (
int i=0; i<2; i++) fRec57[i] = 0;
72 for (
int i=0; i<2; i++) fRec58[i] = 0;
73 for (
int i=0; i<2; i++) fRec59[i] = 0;
74 for (
int i=0; i<2; i++) fRec55[i] = 0;
75 for (
int i=0; i<2; i++) fRec56[i] = 0;
76 for (
int i=0; i<2; i++) fRec54[i] = 0;
77 for (
int i=0; i<3; i++) fRec53[i] = 0;
78 for (
int i=0; i<2; i++) fRec62[i] = 0;
79 for (
int i=0; i<2; i++) iRec60[i] = 0;
80 for (
int i=0; i<2; i++) fRec61[i] = 0;
81 for (
int i=0; i<2; i++) fRec63[i] = 0;
82 for (
int i=0; i<2; i++) fVec9[i] = 0;
83 for (
int i=0; i<2; i++) fRec66[i] = 0;
84 for (
int i=0; i<2; i++) iRec64[i] = 0;
85 for (
int i=0; i<2; i++) fRec65[i] = 0;
86 for (
int i=0; i<2; i++) fRec67[i] = 0;
87 for (
int i=0; i<2; i++) fRec68[i] = 0;
88 for (
int i=0; i<2; i++) fRec69[i] = 0;
89 for (
int i=0; i<2; i++) fRec70[i] = 0;
90 for (
int i=0; i<2; i++) fRec73[i] = 0;
91 for (
int i=0; i<2; i++) fRec74[i] = 0;
92 for (
int i=0; i<2; i++) fRec75[i] = 0;
93 for (
int i=0; i<2; i++) fVec10[i] = 0;
94 for (
int i=0; i<2; i++) fRec71[i] = 0;
95 for (
int i=0; i<2; i++) fRec72[i] = 0;
96 for (
int i=0; i<2; i++) iRec76[i] = 0;
97 for (
int i=0; i<2; i++) fRec77[i] = 0;
98 for (
int i=0; i<2; i++) fRecout[i] = 0;
99 seq_size = min_seq_size();
102 void DrumSequencer::clear_state_f_static(
PluginDef *p)
104 static_cast<DrumSequencer*>(p)->clear_state_f();
113 fConst3 = (1 - (1.0 / pow(1e+03,(13.333333333333334 /
double(iConst0)))));
114 fConst4 = (2e+03 / double(iConst0));
115 fConst5 = (1162.3892818282234 / double(iConst0));
118 fConst8 = (0 - fConst7);
119 fConst9 = (1 - (1.0 / pow(1e+03,(18.181818181818183 /
double(iConst0)))));
120 fConst10 = (2073.4511513692632 / double(iConst0));
121 fConst11 = cos(fConst10);
122 fConst12 = sin(fConst10);
123 fConst13 = (0 - fConst12);
124 fConst14 = tan((22116.812281272145 /
double(iConst0)));
125 fConst15 = (2 * (1 - (1.0 / faustpower<2>(fConst14))));
126 fConst16 = (1.0 / fConst14);
127 fConst17 = (1 + ((fConst16 - 1.0000000000000004) / fConst14));
128 fConst18 = (1.0 / (1 + ((1.0000000000000004 + fConst16) / fConst14)));
129 fConst19 = (1 + fConst16);
130 fConst20 = (4.656612875245797e-10 / fConst19);
131 fConst21 = (0 - ((1 - fConst16) / fConst19));
132 fConst22 = (1 - (1.0 / pow(1e+03,(5.0 /
double(iConst0)))));
133 fConst23 = tan((1643.0529578274618 /
double(iConst0)));
134 fConst24 = (1.0 / faustpower<2>(fConst23));
135 fConst25 = (2 * (1 - fConst24));
136 fConst26 = (1.0 / fConst23);
137 fConst27 = (1 + ((fConst26 - 1.0000000000000004) / fConst23));
138 fConst28 = (1.0 / (1 + ((1.0000000000000004 + fConst26) / fConst23)));
139 fConst29 = (0 - fConst26);
140 fConst30 = (1 + fConst26);
141 fConst31 = (4.656612875245797e-10 / fConst30);
142 fConst32 = (0 - ((1 - fConst26) / fConst30));
143 fConst33 = (2 * (0 - fConst24));
144 fConst34 = (1 - (1.0 / pow(1e+03,(5.46448087431694 /
double(iConst0)))));
145 fConst35 = (1.0 / double(
int((0.1 *
fConst1))));
146 fConst36 = (3.141592653589793 / double(iConst0));
147 fConst37 = (1.6e+03 /
fConst1);
149 fConst38 =
max((
double)0,
min((
double)2047, (0.0003125 *
fConst1)));
150 iConst39 = int(fConst38);
151 iConst40 = (1 + iConst39);
152 iConst41 = int(iConst40);
153 fConst42 = (0.00015625 * (fConst38 - iConst39));
154 fConst43 = (0.00015625 * (iConst40 - fConst38));
155 fConst44 = (4.572399611740729 / double(iConst0));
156 fConst45 = cos(fConst44);
157 fConst46 = sin(fConst44);
158 fConst47 = (0 - fConst46);
159 fConst48 = (0.72772 *
fConst1);
160 fConst49 = (6.283185307179586 / double(iConst0));
161 fConst50 = (20.327952464404543 / double(iConst0));
162 fConst51 = cos(fConst50);
163 fConst52 = sin(fConst50);
164 fConst53 = (0 - fConst52);
165 fConst54 = (3.235294117647059 *
fConst1);
166 fConst55 = (326.7256359733385 / double(iConst0));
167 fConst56 = cos(fConst55);
168 fConst57 = sin(fConst55);
169 fConst58 = (0 - fConst57);
171 fConst60 = (1498.2980347889782 / double(iConst0));
172 fConst61 = cos(fConst60);
173 fConst62 = sin(fConst60);
174 fConst63 = (0 - fConst62);
175 fConst64 = (238.46153846153845 *
fConst1);
176 fConst65 = (1.0 / double(
int((0.005 *
fConst1))));
177 fConst66 = (1 - (1.0 / pow(1e+03,(1e+01 /
double(iConst0)))));
178 fConst67 = (2e+02 / double(iConst0));
179 fConst68 = (1.0 / double(iConst0));
180 fConst69 = (2.0 / double(iConst0));
181 fConst70 = (1.0 / double(
int((0.03 *
fConst1))));
182 fConst71 = tan((1570.7963267948965 /
double(iConst0)));
183 fConst72 = (1.0 / faustpower<2>(fConst71));
184 fConst73 = (2 * (1 - fConst72));
185 fConst74 = (1.0 / fConst71);
186 fConst75 = (1 + ((fConst74 - 1.0000000000000004) / fConst71));
187 fConst76 = (1.0 / (1 + ((1.0000000000000004 + fConst74) / fConst71)));
188 fConst77 = (0 - fConst74);
189 fConst78 = (1 + fConst74);
190 fConst79 = (1.396983862573739e-11 / fConst78);
191 fConst80 = (0 - ((1 - fConst74) / fConst78));
192 fConst81 = (2 * (0 - fConst72));
193 fConst82 = (1.0 / double(
int((0.01 *
fConst1))));
194 fConst83 = (1 - (1.0 / pow(1e+03,fConst68)));
195 fConst84 = (1e+02 / double(iConst0));
196 fConst85 = tan((3141.592653589793 /
double(iConst0)));
197 fConst86 = (2 * (1 - (1.0 / faustpower<2>(fConst85))));
198 fConst87 = (1.0 / fConst85);
199 fConst88 = (1 + ((fConst87 - 1.0000000000000004) / fConst85));
200 fConst89 = (1.0 / (1 + ((1.0000000000000004 + fConst87) / fConst85)));
201 fConst90 = (31.41592653589793 / double(iConst0));
202 fConst91 = cos(fConst90);
203 fConst92 = sin(fConst90);
204 fConst93 = (0 - fConst92);
205 fConst94 = (1.0 / double(
int((0.02 *
fConst1))));
206 fConst95 = (1 + fConst87);
207 fConst96 = (1.0 / fConst95);
208 fConst97 = (0 - ((1 - fConst87) / fConst95));
209 fConst98 = (1 - (1.0 / pow(1e+03,(2.5 /
double(iConst0)))));
210 fConst99 = (1 - (1.0 / pow(1e+03,fConst84)));
211 fConst100 = (565.4866776461628 / double(iConst0));
212 fConst101 = cos(fConst100);
213 fConst102 = sin(fConst100);
214 fConst103 = (0 - fConst102);
215 fConst104 = (452.3893421169302 / double(iConst0));
216 fConst105 = cos(fConst104);
217 fConst106 = sin(fConst104);
218 fConst107 = (0 - fConst106);
219 fConst108 = (480.66367599923836 / double(iConst0));
220 fConst109 = cos(fConst108);
221 fConst110 = sin(fConst108);
222 fConst111 = (0 - fConst110);
223 fConst112 = (0.012345679012345678 *
fConst1);
225 fConst114 = (0.012345679012345678 * iConst0);
236 void DrumSequencer::init_static(
unsigned int samplingFreq,
PluginDef *p)
238 static_cast<DrumSequencer*>(p)->init(samplingFreq);
243 double fSlow15 = (60/double(fsliderbpm*ftact))*
fSamplingFreq;
244 double fSlow0 = (0.0010000000000000009 * pow(10,(0.05 *
double(fslidersnare))));
245 double fSlow2 = (0.0010000000000000009 * pow(10,(0.05 *
double(fsliderhat))));
246 double fSlow4 = (0.0010000000000000009 * pow(10,(0.05 *
double(fsliderkick))));
247 double fSlow6 = (0.0010000000000000009 * pow(10,(0.05 *
double(fslidertom))));
248 double fSlowgain = (0.0010000000000000009 * pow(10,(0.05 *
double(fslidergain))));
249 counter = counter+count;
250 if (counter >= (
int)fSlow15) {
251 fSlow1 = double(Vecsnare[step]);
252 if ((
int)fSlow15 > 4800) {
253 fSlow3 = double(Vechat[step]);
255 fSlow5 = double(Veckick[step]);
256 fSlow7 = double(Vectom[step]);
257 int m = int(fSlow15*0.05);
258 int r = rand()%(m+1 - (-m))+ (-m);
259 counter = int(r*fsliderhum);
260 if (step<seq_size) step = step+1;
262 double ph1 = 2300.0/seq_size;
263 position = fmin(2300,fmax(0,
double(step*ph1)));
271 for (
int i=0; i<count; i++) {
272 fRecout[0] = ((0.999 * fRecout[1]) + fSlowgain);
276 fRec3[0] = ((fRec3[1] + (fSlow1 > fVec1[1])) - (
fConst2 * (fRec3[1] > 0.0)));
277 int iTemp0 = (fRec3[0] > 0.0);
278 int iTemp1 = (iTemp0 > 0);
279 iRec1[0] = (iTemp1 & (iRec1[1] | (fRec2[1] >= 1)));
280 int iTemp2 = (iTemp0 <= 0);
281 int iTemp3 = (iTemp2 & (fRec2[1] > 0));
282 fRec2[0] = (((
fConst4 * (((iRec1[1] == 0) & iTemp1) & (fRec2[1] < 1))) + (fRec2[1] * (1 - (
fConst3 * iTemp3)))) * ((iTemp3 == 0) | (fRec2[1] >= 1e-06)));
283 fRec4[0] = ((fConst7 * fRec5[1]) + (fConst6 * fRec4[1]));
284 fRec5[0] = ((1 + ((fConst6 * fRec5[1]) + (fConst8 * fRec4[1]))) - iVec0[1]);
286 iRec6[0] = (iTemp1 & (iRec6[1] | (fRec7[1] >= 1)));
287 int iTemp4 = (iTemp2 & (fRec7[1] > 0));
288 fRec7[0] = (((
fConst4 * (((iRec6[1] == 0) & iTemp1) & (fRec7[1] < 1))) + (fRec7[1] * (1 - (fConst9 * iTemp4)))) * ((iTemp4 == 0) | (fRec7[1] >= 1e-06)));
289 fRec8[0] = ((fConst12 * fRec9[1]) + (fConst11 * fRec8[1]));
290 fRec9[0] = ((1 + ((fConst11 * fRec9[1]) + (fConst13 * fRec8[1]))) - iVec0[1]);
291 iRec12[0] = (12345 + (1103515245 * iRec12[1]));
292 fRec11[0] = ((fConst21 * fRec11[1]) + (fConst20 * (iRec12[0] + iRec12[1])));
293 fRec10[0] = (fRec11[0] - (fConst18 * ((fConst17 * fRec10[2]) + (fConst15 * fRec10[1]))));
294 iRec13[0] = (iTemp1 & (iRec13[1] | (fRec14[1] >= 1)));
295 int iTemp5 = (iTemp2 & (fRec14[1] > 0));
296 fRec14[0] = (((
fConst4 * (((iRec13[1] == 0) & iTemp1) & (fRec14[1] < 1))) + (fRec14[1] * (1 - (fConst22 * iTemp5)))) * ((iTemp5 == 0) | (fRec14[1] >= 1e-06)));
297 fRec16[0] = ((fConst32 * fRec16[1]) + (fConst31 * ((fConst26 * iRec12[0]) + (fConst29 * iRec12[1]))));
298 fRec15[0] = (fRec16[0] - (fConst28 * ((fConst27 * fRec15[2]) + (fConst25 * fRec15[1]))));
299 iRec17[0] = (iTemp1 & (iRec17[1] | (fRec18[1] >= 1)));
300 int iTemp6 = (iTemp2 & (fRec18[1] > 0));
301 fRec18[0] = (((
fConst4 * (((iRec17[1] == 0) & iTemp1) & (fRec18[1] < 1))) + (fRec18[1] * (1 - (fConst34 * iTemp6)))) * ((iTemp6 == 0) | (fRec18[1] >= 1e-06)));
302 fRec19[0] = ((0.999 * fRec19[1]) + fSlow2);
304 int iTemp7 = (fSlow3 > fVec3[1]);
305 fRec20[0] = ((fRec20[1] + iTemp7) - (fConst35 * (fRec20[1] > 0.0)));
306 double fTemp8 = tan((fConst36 * (12000 - (3000 * fRec20[0]))));
307 double fTemp9 = (1.0 / fTemp8);
308 double fTemp10 = (1 + ((1.0000000000000004 + fTemp9) / fTemp8));
309 double fTemp11 = faustpower<2>(fTemp8);
310 double fTemp12 = (1.0 / fTemp11);
311 double fTemp13 = (1 + fTemp9);
312 fRec25[0] = fmod((fConst37 + fRec25[1]),1);
313 double fTemp14 = faustpower<2>(((2 * fRec25[0]) - 1));
315 double fTemp15 = (iVec0[1] * (fVec4[0] - fVec4[1]));
316 fVec5[IOTA&63] = fTemp15;
317 double fTemp16 = (((0.00015625 * fVec5[IOTA&63]) - (fConst43 * fVec5[(IOTA-iConst39)&63])) - (fConst42 * fVec5[(IOTA-iConst41)&63]));
318 fRec26[0] = ((fConst46 * fRec27[1]) + (fConst45 * fRec26[1]));
319 fRec27[0] = ((1 + ((fConst45 * fRec27[1]) + (fConst47 * fRec26[1]))) - iVec0[1]);
320 double fTemp17 = (fConst49 * (2094.4 + (fConst48 * (fRec26[0] * fTemp16))));
321 double fTemp18 = cos(fTemp17);
322 double fTemp19 = sin(fTemp17);
323 fRec23[0] = ((fRec24[1] * fTemp19) + (fRec23[1] * fTemp18));
324 fRec24[0] = ((1 + ((fRec24[1] * fTemp18) + (fRec23[1] * (0 - fTemp19)))) - iVec0[1]);
325 fRec30[0] = ((fConst52 * fRec31[1]) + (fConst51 * fRec30[1]));
326 fRec31[0] = ((1 + ((fConst51 * fRec31[1]) + (fConst53 * fRec30[1]))) - iVec0[1]);
327 double fTemp20 = (fConst49 * (4944.0 + (fConst54 * (fRec30[0] * fTemp16))));
328 double fTemp21 = cos(fTemp20);
329 double fTemp22 = sin(fTemp20);
330 fRec28[0] = ((fRec29[1] * fTemp22) + (fRec28[1] * fTemp21));
331 fRec29[0] = ((1 + ((fRec29[1] * fTemp21) + (fRec28[1] * (0 - fTemp22)))) - iVec0[1]);
332 fRec34[0] = ((fConst57 * fRec35[1]) + (fConst56 * fRec34[1]));
333 fRec35[0] = ((1 + ((fConst56 * fRec35[1]) + (fConst58 * fRec34[1]))) - iVec0[1]);
334 double fTemp23 = (fConst49 * (3847.9999999999995 + (fConst59 * (fRec34[0] * fTemp16))));
335 double fTemp24 = cos(fTemp23);
336 double fTemp25 = sin(fTemp23);
337 fRec32[0] = ((fRec33[1] * fTemp25) + (fRec32[1] * fTemp24));
338 fRec33[0] = ((1 + ((fRec33[1] * fTemp24) + (fRec32[1] * (0 - fTemp25)))) - iVec0[1]);
339 fRec38[0] = ((fConst62 * fRec39[1]) + (fConst61 * fRec38[1]));
340 fRec39[0] = ((1 + ((fConst61 * fRec39[1]) + (fConst63 * fRec38[1]))) - iVec0[1]);
341 double fTemp26 = (fConst49 * (2144.0 + (fConst64 * (fRec38[0] * fTemp16))));
342 double fTemp27 = cos(fTemp26);
343 double fTemp28 = sin(fTemp26);
344 fRec36[0] = ((fRec37[1] * fTemp28) + (fRec36[1] * fTemp27));
345 fRec37[0] = ((1 + ((fRec37[1] * fTemp27) + (fRec36[1] * (0 - fTemp28)))) - iVec0[1]);
346 double fTemp29 = (((fRec36[0] + fRec32[0]) + fRec28[0]) + fRec23[0]);
348 fRec22[0] = ((fRec22[1] * (0 - ((1 - fTemp9) / fTemp13))) + (((fVec6[1] * (0 - fTemp9)) + (fVec6[0] / fTemp8)) / fTemp13));
349 fRec21[0] = (fRec22[0] - (((fRec21[2] * (1 + ((fTemp9 - 1.0000000000000004) / fTemp8))) + (2 * (fRec21[1] * (1 - fTemp12)))) / fTemp10));
350 fRec42[0] = ((iTemp7 + fRec42[1]) - (fConst65 * (fRec42[1] > 0.0)));
351 int iTemp30 = (fRec42[0] > 0.0);
352 int iTemp31 = (iTemp30 > 0);
353 iRec40[0] = (iTemp31 & (iRec40[1] | (fRec41[1] >= 1)));
354 int iTemp32 = ((iTemp30 <= 0) & (fRec41[1] > 0));
355 fRec41[0] = (((fConst67 * (((iRec40[1] == 0) & iTemp31) & (fRec41[1] < 1))) + (fRec41[1] * (1 - (fConst66 * iTemp32)))) * ((iTemp32 == 0) | (fRec41[1] >= 1e-06)));
356 double fTemp33 = (9000 + (6000 * fRec20[0]));
357 double fTemp34 = (0 - (3.141592653589793 * fTemp33));
358 fRec43[0] = (0 - ((((fRec43[1] * (0 - (fConst69 * fTemp34))) * cos((fConst49 * fTemp33))) + (faustpower<2>((fConst68 * fTemp34)) * fRec43[2])) - fVec6[0]));
359 fRec44[0] = ((0.999 * fRec44[1]) + fSlow4);
361 int iTemp35 = (fSlow5 > fVec7[1]);
362 fRec45[0] = ((iTemp35 + fRec45[1]) - (fConst70 * (fRec45[1] > 0.0)));
363 double fTemp36 = tan((fConst36 * (500 + (5500 * fRec45[0]))));
364 double fTemp37 = (1.0 / fTemp36);
365 double fTemp38 = (1 + ((1.0000000000000004 + fTemp37) / fTemp36));
366 double fTemp39 = (1 + fTemp37);
367 fRec49[0] = ((fConst80 * fRec49[1]) + (fConst79 * ((fConst74 * iRec12[0]) + (fConst77 * iRec12[1]))));
368 fRec48[0] = (fRec49[0] - (fConst76 * ((fConst75 * fRec48[2]) + (fConst73 * fRec48[1]))));
369 double fTemp40 = (((fConst72 * fRec48[0]) + (fConst81 * fRec48[1])) + (fConst72 * fRec48[2]));
371 fRec47[0] = ((fRec47[1] * (0 - ((1 - fTemp37) / fTemp39))) + (fConst76 * ((fVec8[0] + fVec8[1]) / fTemp39)));
372 fRec46[0] = (fRec47[0] - (((fRec46[2] * (1 + ((fTemp37 - 1.0000000000000004) / fTemp36))) + (2 * (fRec46[1] * (1 - (1.0 / faustpower<2>(fTemp36)))))) / fTemp38));
373 fRec52[0] = ((iTemp35 + fRec52[1]) - (fConst82 * (fRec52[1] > 0.0)));
374 int iTemp41 = (fRec52[0] > 0.0);
375 int iTemp42 = (iTemp41 > 0);
376 iRec50[0] = (iTemp42 & (iRec50[1] | (fRec51[1] >= 1)));
377 int iTemp43 = ((iTemp41 <= 0) & (fRec51[1] > 0));
378 fRec51[0] = (((fConst84 * (((iRec50[1] == 0) & iTemp42) & (fRec51[1] < 1))) + (fRec51[1] * (1 - (fConst83 * iTemp43)))) * ((iTemp43 == 0) | (fRec51[1] >= 1e-06)));
379 fRec57[0] = ((fConst92 * fRec58[1]) + (fConst91 * fRec57[1]));
380 fRec58[0] = ((1 + ((fConst91 * fRec58[1]) + (fConst93 * fRec57[1]))) - iVec0[1]);
381 fRec59[0] = ((fRec59[1] + iTemp35) - (fConst94 * (fRec59[1] > 0.0)));
382 double fTemp44 = (fConst49 * ((50 * (1 + fRec59[0])) + (19.23076923076923 * fRec57[0])));
383 double fTemp45 = cos(fTemp44);
384 double fTemp46 = sin(fTemp44);
385 fRec55[0] = ((fRec56[1] * fTemp46) + (fRec55[1] * fTemp45));
386 fRec56[0] = ((1 + ((fRec56[1] * fTemp45) + (fRec55[1] * (0 - fTemp46)))) - iVec0[1]);
387 fRec54[0] = ((fConst97 * fRec54[1]) + (fConst96 * (fRec55[0] + fRec55[1])));
388 fRec53[0] = (fRec54[0] - (fConst89 * ((fConst88 * fRec53[2]) + (fConst86 * fRec53[1]))));
389 fRec62[0] = ((iTemp35 + fRec62[1]) - (fConst65 * (fRec62[1] > 0.0)));
390 int iTemp47 = (fRec62[0] > 0.0);
391 int iTemp48 = (iTemp47 > 0);
392 iRec60[0] = (iTemp48 & (iRec60[1] | (fRec61[1] >= 1)));
393 int iTemp49 = ((iTemp47 <= 0) & (fRec61[1] > 0));
394 fRec61[0] = (((fConst67 * (((iRec60[1] == 0) & iTemp48) & (fRec61[1] < 1))) + (fRec61[1] * (1 - (fConst98 * iTemp49)))) * ((iTemp49 == 0) | (fRec61[1] >= 1e-06)));
395 fRec63[0] = ((0.999 * fRec63[1]) + fSlow6);
397 fRec66[0] = ((fRec66[1] + (fSlow7 > fVec9[1])) - (fConst65 * (fRec66[1] > 0.0)));
398 int iTemp50 = (fRec66[0] > 0.0);
399 int iTemp51 = (iTemp50 > 0);
400 iRec64[0] = (iTemp51 & (iRec64[1] | (fRec65[1] >= 1)));
401 int iTemp52 = (iTemp50 <= 0);
402 int iTemp53 = (iTemp52 & (fRec65[1] > 0));
403 fRec65[0] = (((fConst67 * (((iRec64[1] == 0) & iTemp51) & (fRec65[1] < 1))) + (fRec65[1] * (1 - (fConst99 * iTemp53)))) * ((iTemp53 == 0) | (fRec65[1] >= 1e-06)));
404 fRec67[0] = ((fConst102 * fRec68[1]) + (fConst101 * fRec67[1]));
405 fRec68[0] = ((1 + ((fConst101 * fRec68[1]) + (fConst103 * fRec67[1]))) - iVec0[1]);
406 fRec69[0] = ((fConst106 * fRec70[1]) + (fConst105 * fRec69[1]));
407 fRec70[0] = ((1 + ((fConst105 * fRec70[1]) + (fConst107 * fRec69[1]))) - iVec0[1]);
408 fRec73[0] = ((fConst110 * fRec74[1]) + (fConst109 * fRec73[1]));
409 fRec74[0] = ((1 + ((fConst109 * fRec74[1]) + (fConst111 * fRec73[1]))) - iVec0[1]);
410 fRec75[0] = fmod((1.0 + fRec75[1]),fConst112);
411 double fTemp54 = faustpower<2>(((fConst113 * fRec75[0]) - 1.0));
413 double fTemp55 = (fConst49 * ((fConst114 * (fVec2[1] * (fVec10[0] - fVec10[1]))) + (58.84615384615384 * fRec73[0])));
414 double fTemp56 = cos(fTemp55);
415 double fTemp57 = sin(fTemp55);
416 fRec71[0] = ((fRec72[1] * fTemp57) + (fRec71[1] * fTemp56));
417 fRec72[0] = ((1 + ((fRec72[1] * fTemp56) + (fRec71[1] * (0 - fTemp57)))) - iVec0[1]);
418 iRec76[0] = (iTemp51 & (iRec76[1] | (fRec77[1] >= 1)));
419 int iTemp58 = (iTemp52 & (fRec77[1] > 0));
420 fRec77[0] = (((fConst67 * (((iRec76[1] == 0) & iTemp51) & (fRec77[1] < 1))) + (fRec77[1] * (1 - (fConst98 * iTemp58)))) * ((iTemp58 == 0) | (fRec77[1] >= 1e-06)));
421 output0[i] = (
FAUSTFLOAT)((
double)input0[i] + ((2 * ((((0.25 * (fRec77[0] * ((5 * fRec71[0]) + (0.5 * (fRec69[0] + fRec67[0]))))) + (3 * fRec65[0])) * fRec63[0]) + (((((fConst89 * (fRec61[0] * (fRec53[2] + (fRec53[0] + (2 * fRec53[1]))))) + ((fRec51[0] * (fRec46[2] + (fRec46[0] + (2 * fRec46[1])))) / fTemp38)) * fRec44[0]) + (0.5 * (((fRec41[0] * (fRec43[0] - fRec43[2])) + ((sqrt(fRec41[0]) * (((fRec21[0] / fTemp11) + (2 * (fRec21[1] * (0 - fTemp12)))) + (fRec21[2] / fTemp11))) / fTemp10)) * fRec19[0]))) + (0.1 * (((fConst28 * (fRec18[0] * (((fConst24 * fRec15[0]) + (fConst33 * fRec15[1])) + (fConst24 * fRec15[2])))) + ((fConst18 * (fRec14[0] * (fRec10[2] + (fRec10[0] + (2 * fRec10[1]))))) + ((5.0 * ((0.25 + fRec8[0]) * fRec7[0])) + (5.0 * ((0.25 + fRec4[0]) * fRec2[0]))))) *
fRec0[0]))))) * fRecout[0]));
423 fRec77[1] = fRec77[0];
424 iRec76[1] = iRec76[0];
425 fRec72[1] = fRec72[0];
426 fRec71[1] = fRec71[0];
427 fVec10[1] = fVec10[0];
428 fRec75[1] = fRec75[0];
429 fRec74[1] = fRec74[0];
430 fRec73[1] = fRec73[0];
431 fRec70[1] = fRec70[0];
432 fRec69[1] = fRec69[0];
433 fRec68[1] = fRec68[0];
434 fRec67[1] = fRec67[0];
435 fRec65[1] = fRec65[0];
436 iRec64[1] = iRec64[0];
437 fRec66[1] = fRec66[0];
439 fRec63[1] = fRec63[0];
440 fRec61[1] = fRec61[0];
441 iRec60[1] = iRec60[0];
442 fRec62[1] = fRec62[0];
443 fRec53[2] = fRec53[1]; fRec53[1] = fRec53[0];
444 fRec54[1] = fRec54[0];
445 fRec56[1] = fRec56[0];
446 fRec55[1] = fRec55[0];
447 fRec59[1] = fRec59[0];
448 fRec58[1] = fRec58[0];
449 fRec57[1] = fRec57[0];
450 fRec51[1] = fRec51[0];
451 iRec50[1] = iRec50[0];
452 fRec52[1] = fRec52[0];
453 fRec46[2] = fRec46[1]; fRec46[1] = fRec46[0];
454 fRec47[1] = fRec47[0];
456 fRec48[2] = fRec48[1]; fRec48[1] = fRec48[0];
457 fRec49[1] = fRec49[0];
458 fRec45[1] = fRec45[0];
460 fRec44[1] = fRec44[0];
461 fRec43[2] = fRec43[1]; fRec43[1] = fRec43[0];
462 fRec41[1] = fRec41[0];
463 iRec40[1] = iRec40[0];
464 fRec42[1] = fRec42[0];
465 fRec21[2] = fRec21[1]; fRec21[1] = fRec21[0];
466 fRec22[1] = fRec22[0];
468 fRec37[1] = fRec37[0];
469 fRec36[1] = fRec36[0];
470 fRec39[1] = fRec39[0];
471 fRec38[1] = fRec38[0];
472 fRec33[1] = fRec33[0];
473 fRec32[1] = fRec32[0];
474 fRec35[1] = fRec35[0];
475 fRec34[1] = fRec34[0];
476 fRec29[1] = fRec29[0];
477 fRec28[1] = fRec28[0];
478 fRec31[1] = fRec31[0];
479 fRec30[1] = fRec30[0];
480 fRec24[1] = fRec24[0];
481 fRec23[1] = fRec23[0];
482 fRec27[1] = fRec27[0];
483 fRec26[1] = fRec26[0];
486 fRec25[1] = fRec25[0];
487 fRec20[1] = fRec20[0];
489 fRec19[1] = fRec19[0];
490 fRec18[1] = fRec18[0];
491 iRec17[1] = iRec17[0];
492 fRec15[2] = fRec15[1]; fRec15[1] = fRec15[0];
493 fRec16[1] = fRec16[0];
494 fRec14[1] = fRec14[0];
495 iRec13[1] = iRec13[0];
496 fRec10[2] = fRec10[1]; fRec10[1] = fRec10[0];
497 fRec11[1] = fRec11[0];
498 iRec12[1] = iRec12[0];
511 fRecout[1] = fRecout[0];
518 static_cast<DrumSequencer*>(p)->compute(count, input0, output0);
521 int DrumSequencer::register_par(
const ParamReg& reg)
523 reg.
registerVar(
"seq.bpm",
"",
"S",
N_(
"Beats per Minute"),&fsliderbpm, 120, 24, 360, 1);
524 reg.
registerVar(
"seq.hat_closed.dsp.Gain",
"",
"S",
N_(
"Volume level in decibels"),&fsliderhat, -2e+01, -6e+01, 4e+01, 0.1);
525 reg.
registerVar(
"seq.kick.dsp.Gain",
"",
"S",
N_(
"Volume level in decibels"),&fsliderkick, -2e+01, -6e+01, 4e+01, 0.1);
526 reg.
registerVar(
"seq.snare.dsp.Gain",
"",
"S",
N_(
"Volume level in decibels"),&fslidersnare, -2e+01, -6e+01, 4e+01, 0.1);
527 reg.
registerVar(
"seq.tom.dsp.Gain",
"",
"S",
N_(
"Volume level in decibels"),&fslidertom, -2e+01, -6e+01, 4e+01, 0.1);
528 static const value_pair ftact_values[] = {{
"1/4"},{
"2/4"},{
"3/4"},{
"4/4"},{0}};
529 reg.
registerEnumVar(
"seq.tact",
"",
"S",
N_(
"select tact"),ftact_values,&ftact, 4.0, 1.0, 4.0, 1.0);
530 reg.
registerVar(
"seq.asequences",
"",
"S",
N_(
"Number of Sequences"),&fsec, 24.0, 24.0, 240.0, 4.0);
531 reg.
registerVar(
"seq.gain",
"",
"S",
N_(
"Volume level in decibels"),&fslidergain, 0.0, -6e+01, 4e+01, 0.1);
532 reg.
registerVar(
"seq.hum",
"",
"B",
N_(
"Randomize Sequence"),&fsliderhum, 0.0, 0.0, 1.0, 1.0);
534 for (
int i=0; i<24; i++) Vectom.push_back(0);
535 for (
int i=0; i<24; i++) Veckick.push_back(0);
536 for (
int i=0; i<24; i++) Vechat.push_back(0);
537 for (
int i=0; i<24; i++) Vecsnare.push_back(0);
538 tomp = SeqParameter::insert_param(param,
"seq.sequencer.tom", &tomset);
539 snarep = SeqParameter::insert_param(param,
"seq.sequencer.snare", &snareset);
540 hatp = SeqParameter::insert_param(param,
"seq.sequencer.hat", &hatset);
541 kickp = SeqParameter::insert_param(param,
"seq.sequencer.kick", &kickset);
542 tomp->signal_changed().connect(
544 sigc::mem_fun(
this, &DrumSequencer::reset_tom)));
545 snarep->signal_changed().connect(
547 sigc::mem_fun(
this, &DrumSequencer::reset_snare)));
548 hatp->signal_changed().connect(
550 sigc::mem_fun(
this, &DrumSequencer::reset_hat)));
551 kickp->signal_changed().connect(
553 sigc::mem_fun(
this, &DrumSequencer::reset_kick)));
558 int DrumSequencer::register_params_static(
const ParamReg& reg)
560 return static_cast<DrumSequencer*>(reg.
plugin)->register_par(reg);
563 void DrumSequencer::del_instance(
PluginDef *p)
565 delete static_cast<DrumSequencer*>(p);