/[svn]/linuxsampler/trunk/src/engines/gig/Synthesizer.cpp
ViewVC logotype

Contents of /linuxsampler/trunk/src/engines/gig/Synthesizer.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 325 - (show annotations) (download)
Tue Dec 21 04:54:37 2004 UTC (19 years, 4 months ago) by senkov
File size: 25063 byte(s)
* Added some profiling capabilities, bugs.

1 /***************************************************************************
2 * *
3 * LinuxSampler - modular, streaming capable sampler *
4 * *
5 * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the Free Software *
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
20 * MA 02111-1307 USA *
21 ***************************************************************************/
22
23 #include <unistd.h>
24 #include <stdlib.h>
25 #include <stdio.h>
26
27 #include "Synthesizer.h"
28 #include "Profiler.h"
29
30 #define SYNTHESIZE(IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH) \
31 Synthesizer<IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH>::SynthesizeFragment( \
32 voice, samples, pSrc, skip)
33 #define SYNTHESIZEP(IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH) \
34 unsigned long long start = Profiler::Stamp(); \
35 Synthesizer<IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH>::SynthesizeFragment( \
36 voice, samples, pSrc, skip); \
37 Profiler::Record(start, samples, skip)
38
39 namespace LinuxSampler { namespace gig {
40
41 void SynthesizeFragment_mode01(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
42 SYNTHESIZE(CPP,MONO,0,0,0,1);
43 }
44
45 void SynthesizeFragment_mode02(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
46 SYNTHESIZE(CPP,MONO,0,0,1,1);
47 }
48
49 void SynthesizeFragment_mode03(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
50 SYNTHESIZE(CPP,MONO,0,0,1,1);
51 }
52
53 void SynthesizeFragment_mode04(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
54 SYNTHESIZE(CPP,MONO,0,1,0,0);
55 }
56
57 void SynthesizeFragment_mode05(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
58 SYNTHESIZE(CPP,MONO,0,1,0,1);
59 }
60
61 void SynthesizeFragment_mode06(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
62 SYNTHESIZE(CPP,MONO,0,1,1,0);
63 }
64
65 void SynthesizeFragment_mode07(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
66 SYNTHESIZE(CPP,MONO,0,1,1,1);
67 }
68
69 void SynthesizeFragment_mode08(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
70 SYNTHESIZE(CPP,MONO,1,0,0,1);
71 }
72
73 void SynthesizeFragment_mode09(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
74 SYNTHESIZE(CPP,MONO,1,0,0,1);
75 }
76
77 void SynthesizeFragment_mode0a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
78 SYNTHESIZE(CPP,MONO,1,0,1,1);
79 }
80
81 void SynthesizeFragment_mode0b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
82 SYNTHESIZE(CPP,MONO,1,0,1,1);
83 }
84
85 void SynthesizeFragment_mode0c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
86 SYNTHESIZE(CPP,MONO,1,1,0,0);
87 }
88
89 void SynthesizeFragment_mode0d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
90 SYNTHESIZE(CPP,MONO,1,1,0,1);
91 }
92
93 void SynthesizeFragment_mode0e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
94 SYNTHESIZE(CPP,MONO,1,1,1,0);
95 }
96
97 void SynthesizeFragment_mode0f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
98 SYNTHESIZE(CPP,MONO,1,1,1,1);
99 }
100
101 void SynthesizeFragment_mode11(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
102 SYNTHESIZE(CPP,STEREO,0,0,0,1);
103 }
104
105 void SynthesizeFragment_mode13(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
106 SYNTHESIZE(CPP,STEREO,0,0,1,1);
107 }
108
109 void SynthesizeFragment_mode14(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
110 SYNTHESIZE(CPP,STEREO,0,1,0,0);
111 }
112
113 void SynthesizeFragment_mode15(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
114 SYNTHESIZE(CPP,STEREO,0,1,0,1);
115 }
116
117 void SynthesizeFragment_mode16(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
118 SYNTHESIZE(CPP,STEREO,0,1,1,0);
119 }
120
121 void SynthesizeFragment_mode17(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
122 SYNTHESIZE(CPP,STEREO,0,1,1,1);
123 }
124
125 void SynthesizeFragment_mode19(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
126 SYNTHESIZE(CPP,STEREO,1,0,0,1);
127 }
128
129 void SynthesizeFragment_mode1b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
130 SYNTHESIZE(CPP,STEREO,1,0,1,1);
131 }
132
133 void SynthesizeFragment_mode1c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
134 SYNTHESIZE(CPP,STEREO,1,1,0,0);
135 }
136
137 void SynthesizeFragment_mode1d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
138 SYNTHESIZE(CPP,STEREO,1,1,0,1);
139 }
140
141 void SynthesizeFragment_mode1e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
142 SYNTHESIZE(CPP,STEREO,1,1,1,0);
143 }
144
145 void SynthesizeFragment_mode1f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
146 SYNTHESIZE(CPP,STEREO,1,1,1,1);
147 }
148
149 void SynthesizeFragment_mode21(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
150 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,0,1);
151 }
152
153 void SynthesizeFragment_mode23(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
154 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,1,1);
155 }
156
157 void SynthesizeFragment_mode24(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
158 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,0,0);
159 }
160
161 void SynthesizeFragment_mode25(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
162 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,0,1);
163 }
164
165 void SynthesizeFragment_mode26(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
166 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,1,0);
167 }
168
169 void SynthesizeFragment_mode27(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
170 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,1,1);
171 }
172
173 void SynthesizeFragment_mode29(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
174 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,0,1);
175 }
176
177 void SynthesizeFragment_mode2b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
178 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,1,1);
179 }
180
181 void SynthesizeFragment_mode2c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
182 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,0,0);
183 }
184
185 void SynthesizeFragment_mode2d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
186 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,0,1);
187 }
188
189 void SynthesizeFragment_mode2e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
190 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,1,0);
191 }
192
193 void SynthesizeFragment_mode2f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
194 SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,1,1);
195 }
196
197 void SynthesizeFragment_mode31(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
198 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,0,1);
199 }
200
201 void SynthesizeFragment_mode33(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
202 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,1,1);
203 }
204
205 void SynthesizeFragment_mode34(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
206 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,0,0);
207 }
208
209 void SynthesizeFragment_mode35(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
210 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,0,1);
211 }
212
213 void SynthesizeFragment_mode36(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
214 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,1,0);
215 }
216
217 void SynthesizeFragment_mode37(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
218 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,1,1);
219 }
220
221 void SynthesizeFragment_mode39(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
222 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,0,1);
223 }
224
225 void SynthesizeFragment_mode3b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
226 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,1,1);
227 }
228
229 void SynthesizeFragment_mode3c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
230 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,0,0);
231 }
232
233 void SynthesizeFragment_mode3d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
234 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,0,1);
235 }
236
237 void SynthesizeFragment_mode3e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
238 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,1,0);
239 }
240
241 void SynthesizeFragment_mode3f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
242 SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,1,1);
243 }
244
245
246 //These are the same thing but with performance monitoring
247 void SynthesizeFragment_mode41(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
248 SYNTHESIZEP(CPP,MONO,0,0,0,1);
249 }
250
251 void SynthesizeFragment_mode42(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
252 SYNTHESIZEP(CPP,MONO,0,0,1,1);
253 }
254
255 void SynthesizeFragment_mode43(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
256 SYNTHESIZEP(CPP,MONO,0,0,1,1);
257 }
258
259 void SynthesizeFragment_mode44(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
260 SYNTHESIZEP(CPP,MONO,0,1,0,0);
261 }
262
263 void SynthesizeFragment_mode45(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
264 SYNTHESIZEP(CPP,MONO,0,1,0,1);
265 }
266
267 void SynthesizeFragment_mode46(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
268 SYNTHESIZEP(CPP,MONO,0,1,1,0);
269 }
270
271 void SynthesizeFragment_mode47(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
272 SYNTHESIZEP(CPP,MONO,0,1,1,1);
273 }
274
275 void SynthesizeFragment_mode48(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
276 SYNTHESIZEP(CPP,MONO,1,0,0,1);
277 }
278
279 void SynthesizeFragment_mode49(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
280 SYNTHESIZEP(CPP,MONO,1,0,0,1);
281 }
282
283 void SynthesizeFragment_mode4a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
284 SYNTHESIZEP(CPP,MONO,1,0,1,1);
285 }
286
287 void SynthesizeFragment_mode4b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
288 SYNTHESIZEP(CPP,MONO,1,0,1,1);
289 }
290
291 void SynthesizeFragment_mode4c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
292 SYNTHESIZEP(CPP,MONO,1,1,0,0);
293 }
294
295 void SynthesizeFragment_mode4d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
296 SYNTHESIZEP(CPP,MONO,1,1,0,1);
297 }
298
299 void SynthesizeFragment_mode4e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
300 SYNTHESIZEP(CPP,MONO,1,1,1,0);
301 }
302
303 void SynthesizeFragment_mode4f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
304 SYNTHESIZEP(CPP,MONO,1,1,1,1);
305 }
306
307 void SynthesizeFragment_mode51(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
308 SYNTHESIZEP(CPP,STEREO,0,0,0,1);
309 }
310
311 void SynthesizeFragment_mode53(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
312 SYNTHESIZEP(CPP,STEREO,0,0,1,1);
313 }
314
315 void SynthesizeFragment_mode54(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
316 SYNTHESIZEP(CPP,STEREO,0,1,0,0);
317 }
318
319 void SynthesizeFragment_mode55(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
320 SYNTHESIZEP(CPP,STEREO,0,1,0,1);
321 }
322
323 void SynthesizeFragment_mode56(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
324 SYNTHESIZEP(CPP,STEREO,0,1,1,0);
325 }
326
327 void SynthesizeFragment_mode57(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
328 SYNTHESIZEP(CPP,STEREO,0,1,1,1);
329 }
330
331 void SynthesizeFragment_mode59(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
332 SYNTHESIZEP(CPP,STEREO,1,0,0,1);
333 }
334
335 void SynthesizeFragment_mode5b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
336 SYNTHESIZEP(CPP,STEREO,1,0,1,1);
337 }
338
339 void SynthesizeFragment_mode5c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
340 SYNTHESIZEP(CPP,STEREO,1,1,0,0);
341 }
342
343 void SynthesizeFragment_mode5d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
344 SYNTHESIZEP(CPP,STEREO,1,1,0,1);
345 }
346
347 void SynthesizeFragment_mode5e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
348 SYNTHESIZEP(CPP,STEREO,1,1,1,0);
349 }
350
351 void SynthesizeFragment_mode5f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
352 SYNTHESIZEP(CPP,STEREO,1,1,1,1);
353 }
354
355 void SynthesizeFragment_mode61(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
356 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,0,0,1);
357 }
358
359 void SynthesizeFragment_mode63(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
360 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,0,1,1);
361 }
362
363 void SynthesizeFragment_mode64(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
364 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,0,0);
365 }
366
367 void SynthesizeFragment_mode65(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
368 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,0,1);
369 }
370
371 void SynthesizeFragment_mode66(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
372 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,1,0);
373 }
374
375 void SynthesizeFragment_mode67(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
376 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,1,1);
377 }
378
379 void SynthesizeFragment_mode69(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
380 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,0,0,1);
381 }
382
383 void SynthesizeFragment_mode6b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
384 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,0,1,1);
385 }
386
387 void SynthesizeFragment_mode6c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
388 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,0,0);
389 }
390
391 void SynthesizeFragment_mode6d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
392 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,0,1);
393 }
394
395 void SynthesizeFragment_mode6e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
396 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,1,0);
397 }
398
399 void SynthesizeFragment_mode6f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
400 SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,1,1);
401 }
402
403 void SynthesizeFragment_mode71(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
404 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,0,0,1);
405 }
406
407 void SynthesizeFragment_mode73(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
408 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,0,1,1);
409 }
410
411 void SynthesizeFragment_mode74(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
412 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,0,0);
413 }
414
415 void SynthesizeFragment_mode75(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
416 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,0,1);
417 }
418
419 void SynthesizeFragment_mode76(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
420 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,1,0);
421 }
422
423 void SynthesizeFragment_mode77(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
424 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,1,1);
425 }
426
427 void SynthesizeFragment_mode79(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
428 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,0,0,1);
429 }
430
431 void SynthesizeFragment_mode7b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
432 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,0,1,1);
433 }
434
435 void SynthesizeFragment_mode7c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
436 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,0,0);
437 }
438
439 void SynthesizeFragment_mode7d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
440 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,0,1);
441 }
442
443 void SynthesizeFragment_mode7e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
444 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,1,0);
445 }
446
447 void SynthesizeFragment_mode7f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
448 SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,1,1);
449 }
450
451 void* GetSynthesisFunction(const int SynthesisMode) {
452 // Mode Bits: IMPL,CHAN,FILT,INTERP,LOOP,CONSTPITCH
453 switch (SynthesisMode) {
454 case 0x00: // redundant
455 case 0x01: return (void*) SynthesizeFragment_mode01;
456 case 0x02: // redundant
457 case 0x03: return (void*) SynthesizeFragment_mode03;
458 case 0x04: return (void*) SynthesizeFragment_mode04;
459 case 0x05: return (void*) SynthesizeFragment_mode05;
460 case 0x06: return (void*) SynthesizeFragment_mode06;
461 case 0x07: return (void*) SynthesizeFragment_mode07;
462 case 0x08: // redundant
463 case 0x09: return (void*) SynthesizeFragment_mode09;
464 case 0x0a: // redundant
465 case 0x0b: return (void*) SynthesizeFragment_mode0b;
466 case 0x0c: return (void*) SynthesizeFragment_mode0c;
467 case 0x0d: return (void*) SynthesizeFragment_mode0d;
468 case 0x0e: return (void*) SynthesizeFragment_mode0e;
469 case 0x0f: return (void*) SynthesizeFragment_mode0f;
470 case 0x10: // redundant
471 case 0x11: return (void*) SynthesizeFragment_mode11;
472 case 0x12: // redundant
473 case 0x13: return (void*) SynthesizeFragment_mode13;
474 case 0x14: return (void*) SynthesizeFragment_mode14;
475 case 0x15: return (void*) SynthesizeFragment_mode15;
476 case 0x16: return (void*) SynthesizeFragment_mode16;
477 case 0x17: return (void*) SynthesizeFragment_mode17;
478 case 0x18: // redundant
479 case 0x19: return (void*) SynthesizeFragment_mode19;
480 case 0x1a: // redundant
481 case 0x1b: return (void*) SynthesizeFragment_mode1b;
482 case 0x1c: return (void*) SynthesizeFragment_mode1c;
483 case 0x1d: return (void*) SynthesizeFragment_mode1d;
484 case 0x1e: return (void*) SynthesizeFragment_mode1e;
485 case 0x1f: return (void*) SynthesizeFragment_mode1f;
486 case 0x20: // redundant
487 case 0x21: return (void*) SynthesizeFragment_mode21;
488 case 0x22: // redundant
489 case 0x23: return (void*) SynthesizeFragment_mode23;
490 case 0x24: return (void*) SynthesizeFragment_mode24;
491 case 0x25: return (void*) SynthesizeFragment_mode25;
492 case 0x26: return (void*) SynthesizeFragment_mode26;
493 case 0x27: return (void*) SynthesizeFragment_mode27;
494 case 0x28: // redundant
495 case 0x29: return (void*) SynthesizeFragment_mode29;
496 case 0x2a: // redundant
497 case 0x2b: return (void*) SynthesizeFragment_mode2b;
498 case 0x2c: return (void*) SynthesizeFragment_mode2c;
499 case 0x2d: return (void*) SynthesizeFragment_mode2d;
500 case 0x2e: return (void*) SynthesizeFragment_mode2e;
501 case 0x2f: return (void*) SynthesizeFragment_mode2f;
502 case 0x30: // redundant
503 case 0x31: return (void*) SynthesizeFragment_mode31;
504 case 0x32: // redundant
505 case 0x33: return (void*) SynthesizeFragment_mode33;
506 case 0x34: return (void*) SynthesizeFragment_mode34;
507 case 0x35: return (void*) SynthesizeFragment_mode35;
508 case 0x36: return (void*) SynthesizeFragment_mode36;
509 case 0x37: return (void*) SynthesizeFragment_mode37;
510 case 0x38: // redundant
511 case 0x39: return (void*) SynthesizeFragment_mode39;
512 case 0x3a: // redundant
513 case 0x3b: return (void*) SynthesizeFragment_mode3b;
514 case 0x3c: return (void*) SynthesizeFragment_mode3c;
515 case 0x3d: return (void*) SynthesizeFragment_mode3d;
516 case 0x3e: return (void*) SynthesizeFragment_mode3e;
517 case 0x3f: return (void*) SynthesizeFragment_mode3f;
518
519 //these are the same with performance monitoring
520 case 0x40: // redundant
521 case 0x41: return (void*) SynthesizeFragment_mode41;
522 case 0x42: // redundant
523 case 0x43: return (void*) SynthesizeFragment_mode43;
524 case 0x44: return (void*) SynthesizeFragment_mode44;
525 case 0x45: return (void*) SynthesizeFragment_mode45;
526 case 0x46: return (void*) SynthesizeFragment_mode46;
527 case 0x47: return (void*) SynthesizeFragment_mode47;
528 case 0x48: // redundant
529 case 0x49: return (void*) SynthesizeFragment_mode49;
530 case 0x4a: // redundant
531 case 0x4b: return (void*) SynthesizeFragment_mode4b;
532 case 0x4c: return (void*) SynthesizeFragment_mode4c;
533 case 0x4d: return (void*) SynthesizeFragment_mode4d;
534 case 0x4e: return (void*) SynthesizeFragment_mode4e;
535 case 0x4f: return (void*) SynthesizeFragment_mode4f;
536 case 0x50: // redundant
537 case 0x51: return (void*) SynthesizeFragment_mode51;
538 case 0x52: // redundant
539 case 0x53: return (void*) SynthesizeFragment_mode53;
540 case 0x54: return (void*) SynthesizeFragment_mode54;
541 case 0x55: return (void*) SynthesizeFragment_mode55;
542 case 0x56: return (void*) SynthesizeFragment_mode56;
543 case 0x57: return (void*) SynthesizeFragment_mode57;
544 case 0x58: // redundant
545 case 0x59: return (void*) SynthesizeFragment_mode59;
546 case 0x5a: // redundant
547 case 0x5b: return (void*) SynthesizeFragment_mode5b;
548 case 0x5c: return (void*) SynthesizeFragment_mode5c;
549 case 0x5d: return (void*) SynthesizeFragment_mode5d;
550 case 0x5e: return (void*) SynthesizeFragment_mode5e;
551 case 0x5f: return (void*) SynthesizeFragment_mode5f;
552 case 0x60: // redundant
553 case 0x61: return (void*) SynthesizeFragment_mode61;
554 case 0x62: // redundant
555 case 0x63: return (void*) SynthesizeFragment_mode63;
556 case 0x64: return (void*) SynthesizeFragment_mode64;
557 case 0x65: return (void*) SynthesizeFragment_mode65;
558 case 0x66: return (void*) SynthesizeFragment_mode66;
559 case 0x67: return (void*) SynthesizeFragment_mode67;
560 case 0x68: // redundant
561 case 0x69: return (void*) SynthesizeFragment_mode69;
562 case 0x6a: // redundant
563 case 0x6b: return (void*) SynthesizeFragment_mode6b;
564 case 0x6c: return (void*) SynthesizeFragment_mode6c;
565 case 0x6d: return (void*) SynthesizeFragment_mode6d;
566 case 0x6e: return (void*) SynthesizeFragment_mode6e;
567 case 0x6f: return (void*) SynthesizeFragment_mode6f;
568 case 0x70: // redundant
569 case 0x71: return (void*) SynthesizeFragment_mode71;
570 case 0x72: // redundant
571 case 0x73: return (void*) SynthesizeFragment_mode73;
572 case 0x74: return (void*) SynthesizeFragment_mode74;
573 case 0x75: return (void*) SynthesizeFragment_mode75;
574 case 0x76: return (void*) SynthesizeFragment_mode76;
575 case 0x77: return (void*) SynthesizeFragment_mode77;
576 case 0x78: // redundant
577 case 0x79: return (void*) SynthesizeFragment_mode79;
578 case 0x7a: // redundant
579 case 0x7b: return (void*) SynthesizeFragment_mode7b;
580 case 0x7c: return (void*) SynthesizeFragment_mode7c;
581 case 0x7d: return (void*) SynthesizeFragment_mode7d;
582 case 0x7e: return (void*) SynthesizeFragment_mode7e;
583 case 0x7f: return (void*) SynthesizeFragment_mode7f;
584 default: {
585 printf("gig::Synthesizer: Invalid Synthesis Mode: %d\n", SynthesisMode);
586 exit(-1);
587 }
588 }
589 }
590
591 void RunSynthesisFunction(const int SynthesisMode, VOICE& voice, uint Samples, sample_t* pSrc, uint Skip)
592 {
593 SynthesizeFragment_Fn* f = (SynthesizeFragment_Fn*) GetSynthesisFunction(SynthesisMode);
594 f(voice, Samples, pSrc, Skip);
595 }
596
597 }} // namespace LinuxSampler::gig

  ViewVC Help
Powered by ViewVC