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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 328 by schoenebeck, Sat Dec 25 21:58:58 2004 UTC revision 738 by schoenebeck, Tue Aug 16 17:14:25 2005 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6     *   Copyright (C) 2005 Christian Schoenebeck                              *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 27  Line 28 
28  #include "Synthesizer.h"  #include "Synthesizer.h"
29  #include "Profiler.h"  #include "Profiler.h"
30    
31  #define SYNTHESIZE(IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH) \  #define SYNTHESIZE(IMPL,CHAN,LOOP,FILTER,INTERPOLATE) \
32          Synthesizer<IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH>::SynthesizeFragment( \          Synthesizer<IMPL,CHAN,LOOP,FILTER,INTERPOLATE>::SynthesizeSubFragment( \
33          voice, samples, pSrc, skip)          voice, samples, pSrc, skip)
34  #define SYNTHESIZEP(IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH) \  #define SYNTHESIZEP(IMPL,CHAN,FILTER,INTERPOLATE,LOOP,CONSTPITCH) \
35          RTMath::time_stamp_t start = Profiler::Stamp(); \          RTMath::time_stamp_t start = Profiler::Stamp(); \
# Line 38  Line 39 
39    
40  namespace LinuxSampler { namespace gig {  namespace LinuxSampler { namespace gig {
41    
42        void SynthesizeFragment_mode00(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
43            SYNTHESIZE(CPP,MONO,0,0,0);
44        }
45    
46      void SynthesizeFragment_mode01(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode01(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
47          SYNTHESIZE(CPP,MONO,0,0,0,1);          SYNTHESIZE(CPP,MONO,0,0,1);
48      }      }
49    
50      void SynthesizeFragment_mode02(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode02(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
51          SYNTHESIZE(CPP,MONO,0,0,1,1);          SYNTHESIZE(CPP,MONO,0,1,0);
52      }      }
53    
54      void SynthesizeFragment_mode03(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode03(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
55          SYNTHESIZE(CPP,MONO,0,0,1,1);          SYNTHESIZE(CPP,MONO,0,1,1);
56      }      }
57    
58      void SynthesizeFragment_mode04(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode04(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
59          SYNTHESIZE(CPP,MONO,0,1,0,0);          SYNTHESIZE(CPP,MONO,1,0,0);
60      }      }
61    
62      void SynthesizeFragment_mode05(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode05(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
63          SYNTHESIZE(CPP,MONO,0,1,0,1);          SYNTHESIZE(CPP,MONO,1,0,1);
64      }      }
65    
66      void SynthesizeFragment_mode06(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode06(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
67          SYNTHESIZE(CPP,MONO,0,1,1,0);          SYNTHESIZE(CPP,MONO,1,1,0);
68      }      }
69    
70      void SynthesizeFragment_mode07(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode07(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
71          SYNTHESIZE(CPP,MONO,0,1,1,1);          SYNTHESIZE(CPP,MONO,1,1,1);
72      }      }
73    
74      void SynthesizeFragment_mode08(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode08(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
75          SYNTHESIZE(CPP,MONO,1,0,0,1);          SYNTHESIZE(CPP,STEREO,0,0,0);
76      }      }
77    
78      void SynthesizeFragment_mode09(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode09(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
79          SYNTHESIZE(CPP,MONO,1,0,0,1);          SYNTHESIZE(CPP,STEREO,0,0,1);
80      }      }
81    
82      void SynthesizeFragment_mode0a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
83          SYNTHESIZE(CPP,MONO,1,0,1,1);          SYNTHESIZE(CPP,STEREO,0,1,0);
84      }      }
85    
86      void SynthesizeFragment_mode0b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
87          SYNTHESIZE(CPP,MONO,1,0,1,1);          SYNTHESIZE(CPP,STEREO,0,1,1);
88      }      }
89    
90      void SynthesizeFragment_mode0c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
91          SYNTHESIZE(CPP,MONO,1,1,0,0);          SYNTHESIZE(CPP,STEREO,1,0,0);
92      }      }
93    
94      void SynthesizeFragment_mode0d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
95          SYNTHESIZE(CPP,MONO,1,1,0,1);          SYNTHESIZE(CPP,STEREO,1,0,1);
96      }      }
97    
98      void SynthesizeFragment_mode0e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
99          SYNTHESIZE(CPP,MONO,1,1,1,0);          SYNTHESIZE(CPP,STEREO,1,1,0);
100      }      }
101    
102      void SynthesizeFragment_mode0f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode0f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
103          SYNTHESIZE(CPP,MONO,1,1,1,1);          SYNTHESIZE(CPP,STEREO,1,1,1);
104        }
105    
106    #if CONFIG_ASM && ARCH_X86
107    
108        void SynthesizeFragment_mode10(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
109            SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,0);
110      }      }
111    
112      void SynthesizeFragment_mode11(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode11(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
113          SYNTHESIZE(CPP,STEREO,0,0,0,1);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,1);
114        }
115    
116        void SynthesizeFragment_mode12(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
117            SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,0);
118      }      }
119    
120      void SynthesizeFragment_mode13(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode13(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
121          SYNTHESIZE(CPP,STEREO,0,0,1,1);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,1);
122      }      }
123    
124      void SynthesizeFragment_mode14(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode14(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
125          SYNTHESIZE(CPP,STEREO,0,1,0,0);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,0);
126      }      }
127    
128      void SynthesizeFragment_mode15(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode15(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
129          SYNTHESIZE(CPP,STEREO,0,1,0,1);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,1);
130      }      }
131    
132      void SynthesizeFragment_mode16(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode16(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
133          SYNTHESIZE(CPP,STEREO,0,1,1,0);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,0);
134      }      }
135    
136      void SynthesizeFragment_mode17(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode17(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
137          SYNTHESIZE(CPP,STEREO,0,1,1,1);          SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,1);
138        }
139    
140        void SynthesizeFragment_mode18(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
141            SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,0);
142      }      }
143    
144      void SynthesizeFragment_mode19(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode19(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
145          SYNTHESIZE(CPP,STEREO,1,0,0,1);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,1);
146        }
147    
148        void SynthesizeFragment_mode1a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
149            SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,0);
150      }      }
151    
152      void SynthesizeFragment_mode1b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode1b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
153          SYNTHESIZE(CPP,STEREO,1,0,1,1);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,1);
154      }      }
155    
156      void SynthesizeFragment_mode1c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode1c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
157          SYNTHESIZE(CPP,STEREO,1,1,0,0);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,0);
158      }      }
159    
160      void SynthesizeFragment_mode1d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode1d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
161          SYNTHESIZE(CPP,STEREO,1,1,0,1);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,1);
162      }      }
163    
164      void SynthesizeFragment_mode1e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode1e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
165          SYNTHESIZE(CPP,STEREO,1,1,1,0);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,0);
166      }      }
167    
168      void SynthesizeFragment_mode1f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {      void SynthesizeFragment_mode1f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {
169          SYNTHESIZE(CPP,STEREO,1,1,1,1);          SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,1);
     }  
   
 #if ARCH_X86  
   
     void SynthesizeFragment_mode21(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode23(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode24(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode25(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode26(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode27(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode29(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode2b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode2c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode2d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode2e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode2f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,MONO,1,1,1,1);  
     }  
   
     void SynthesizeFragment_mode31(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode33(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode34(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode35(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode36(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode37(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode39(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode3b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode3c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode3d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode3e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode3f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZE(ASM_X86_MMX_SSE,STEREO,1,1,1,1);  
     }  
   
 #endif // ARCH_X86  
   
 //These are the same thing but with performance monitoring  
     void SynthesizeFragment_mode41(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode42(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode43(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode44(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode45(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode46(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode47(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode48(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode49(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode4a(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode4b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode4c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode4d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode4e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode4f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,MONO,1,1,1,1);  
     }  
   
     void SynthesizeFragment_mode51(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode53(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode54(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode55(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode56(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode57(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode59(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode5b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode5c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode5d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode5e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode5f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(CPP,STEREO,1,1,1,1);  
     }  
   
 #if ARCH_X86  
   
     void SynthesizeFragment_mode61(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode63(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode64(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode65(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode66(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode67(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode69(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode6b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode6c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode6d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode6e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode6f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,MONO,1,1,1,1);  
     }  
   
     void SynthesizeFragment_mode71(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,0,0,1);  
     }  
   
     void SynthesizeFragment_mode73(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,0,1,1);  
     }  
   
     void SynthesizeFragment_mode74(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,0,0);  
     }  
   
     void SynthesizeFragment_mode75(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,0,1);  
     }  
   
     void SynthesizeFragment_mode76(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,1,0);  
     }  
   
     void SynthesizeFragment_mode77(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,0,1,1,1);  
     }  
   
     void SynthesizeFragment_mode79(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,0,0,1);  
     }  
   
     void SynthesizeFragment_mode7b(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,0,1,1);  
     }  
   
     void SynthesizeFragment_mode7c(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,0,0);  
     }  
   
     void SynthesizeFragment_mode7d(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,0,1);  
     }  
   
     void SynthesizeFragment_mode7e(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,1,0);  
     }  
   
     void SynthesizeFragment_mode7f(VOICE &voice, uint samples, sample_t* pSrc, uint skip) {  
         SYNTHESIZEP(ASM_X86_MMX_SSE,STEREO,1,1,1,1);  
170      }      }
171    
172  #endif // ARCH_X86  #endif // CONFIG_ASM && ARCH_X86
173    
174      void* GetSynthesisFunction(const int SynthesisMode) {      void* GetSynthesisFunction(int SynthesisMode) {
175          // Mode Bits:  IMPL,CHAN,FILT,INTERP,LOOP,CONSTPITCH          // Mode Bits: IMPL,CHAN,LOOP,FILT,INTERP
176            SynthesisMode &= 0x1f;
177          switch (SynthesisMode) {          switch (SynthesisMode) {
178              case 0x00: // redundant              case 0x00: return (void*) SynthesizeFragment_mode00;
179              case 0x01: return (void*) SynthesizeFragment_mode01;              case 0x01: return (void*) SynthesizeFragment_mode01;
180              case 0x02: // redundant              case 0x02: return (void*) SynthesizeFragment_mode02;
181              case 0x03: return (void*) SynthesizeFragment_mode03;              case 0x03: return (void*) SynthesizeFragment_mode03;
182              case 0x04: return (void*) SynthesizeFragment_mode04;              case 0x04: return (void*) SynthesizeFragment_mode04;
183              case 0x05: return (void*) SynthesizeFragment_mode05;              case 0x05: return (void*) SynthesizeFragment_mode05;
184              case 0x06: return (void*) SynthesizeFragment_mode06;              case 0x06: return (void*) SynthesizeFragment_mode06;
185              case 0x07: return (void*) SynthesizeFragment_mode07;              case 0x07: return (void*) SynthesizeFragment_mode07;
186              case 0x08: // redundant              case 0x08: return (void*) SynthesizeFragment_mode08;
187              case 0x09: return (void*) SynthesizeFragment_mode09;              case 0x09: return (void*) SynthesizeFragment_mode09;
188              case 0x0a: // redundant              case 0x0a: return (void*) SynthesizeFragment_mode0a;
189              case 0x0b: return (void*) SynthesizeFragment_mode0b;              case 0x0b: return (void*) SynthesizeFragment_mode0b;
190              case 0x0c: return (void*) SynthesizeFragment_mode0c;              case 0x0c: return (void*) SynthesizeFragment_mode0c;
191              case 0x0d: return (void*) SynthesizeFragment_mode0d;              case 0x0d: return (void*) SynthesizeFragment_mode0d;
192              case 0x0e: return (void*) SynthesizeFragment_mode0e;              case 0x0e: return (void*) SynthesizeFragment_mode0e;
193              case 0x0f: return (void*) SynthesizeFragment_mode0f;              case 0x0f: return (void*) SynthesizeFragment_mode0f;
194              case 0x10: // redundant  #if CONFIG_ASM && ARCH_X86
195                case 0x10: return (void*) SynthesizeFragment_mode10;
196              case 0x11: return (void*) SynthesizeFragment_mode11;              case 0x11: return (void*) SynthesizeFragment_mode11;
197              case 0x12: // redundant              case 0x12: return (void*) SynthesizeFragment_mode12;
198              case 0x13: return (void*) SynthesizeFragment_mode13;              case 0x13: return (void*) SynthesizeFragment_mode13;
199              case 0x14: return (void*) SynthesizeFragment_mode14;              case 0x14: return (void*) SynthesizeFragment_mode14;
200              case 0x15: return (void*) SynthesizeFragment_mode15;              case 0x15: return (void*) SynthesizeFragment_mode15;
201              case 0x16: return (void*) SynthesizeFragment_mode16;              case 0x16: return (void*) SynthesizeFragment_mode16;
202              case 0x17: return (void*) SynthesizeFragment_mode17;              case 0x17: return (void*) SynthesizeFragment_mode17;
203              case 0x18: // redundant              case 0x18: return (void*) SynthesizeFragment_mode18;
204              case 0x19: return (void*) SynthesizeFragment_mode19;              case 0x19: return (void*) SynthesizeFragment_mode19;
205              case 0x1a: // redundant              case 0x1a: return (void*) SynthesizeFragment_mode1a;
206              case 0x1b: return (void*) SynthesizeFragment_mode1b;              case 0x1b: return (void*) SynthesizeFragment_mode1b;
207              case 0x1c: return (void*) SynthesizeFragment_mode1c;              case 0x1c: return (void*) SynthesizeFragment_mode1c;
208              case 0x1d: return (void*) SynthesizeFragment_mode1d;              case 0x1d: return (void*) SynthesizeFragment_mode1d;
209              case 0x1e: return (void*) SynthesizeFragment_mode1e;              case 0x1e: return (void*) SynthesizeFragment_mode1e;
210              case 0x1f: return (void*) SynthesizeFragment_mode1f;              case 0x1f: return (void*) SynthesizeFragment_mode1f;
211  #if ARCH_X86  #endif // CONFIG_ASM && ARCH_X86
             case 0x20: // redundant  
             case 0x21: return (void*) SynthesizeFragment_mode21;  
             case 0x22: // redundant  
             case 0x23: return (void*) SynthesizeFragment_mode23;  
             case 0x24: return (void*) SynthesizeFragment_mode24;  
             case 0x25: return (void*) SynthesizeFragment_mode25;  
             case 0x26: return (void*) SynthesizeFragment_mode26;  
             case 0x27: return (void*) SynthesizeFragment_mode27;  
             case 0x28: // redundant  
             case 0x29: return (void*) SynthesizeFragment_mode29;  
             case 0x2a: // redundant  
             case 0x2b: return (void*) SynthesizeFragment_mode2b;  
             case 0x2c: return (void*) SynthesizeFragment_mode2c;  
             case 0x2d: return (void*) SynthesizeFragment_mode2d;  
             case 0x2e: return (void*) SynthesizeFragment_mode2e;  
             case 0x2f: return (void*) SynthesizeFragment_mode2f;  
             case 0x30: // redundant  
             case 0x31: return (void*) SynthesizeFragment_mode31;  
             case 0x32: // redundant  
             case 0x33: return (void*) SynthesizeFragment_mode33;  
             case 0x34: return (void*) SynthesizeFragment_mode34;  
             case 0x35: return (void*) SynthesizeFragment_mode35;  
             case 0x36: return (void*) SynthesizeFragment_mode36;  
             case 0x37: return (void*) SynthesizeFragment_mode37;  
             case 0x38: // redundant  
             case 0x39: return (void*) SynthesizeFragment_mode39;  
             case 0x3a: // redundant  
             case 0x3b: return (void*) SynthesizeFragment_mode3b;  
             case 0x3c: return (void*) SynthesizeFragment_mode3c;  
             case 0x3d: return (void*) SynthesizeFragment_mode3d;  
             case 0x3e: return (void*) SynthesizeFragment_mode3e;  
             case 0x3f: return (void*) SynthesizeFragment_mode3f;  
 #endif // ARCH_X86  
   
             //these are the same with performance monitoring  
             case 0x40: // redundant  
             case 0x41: return (void*) SynthesizeFragment_mode41;  
             case 0x42: // redundant  
             case 0x43: return (void*) SynthesizeFragment_mode43;  
             case 0x44: return (void*) SynthesizeFragment_mode44;  
             case 0x45: return (void*) SynthesizeFragment_mode45;  
             case 0x46: return (void*) SynthesizeFragment_mode46;  
             case 0x47: return (void*) SynthesizeFragment_mode47;  
             case 0x48: // redundant  
             case 0x49: return (void*) SynthesizeFragment_mode49;  
             case 0x4a: // redundant  
             case 0x4b: return (void*) SynthesizeFragment_mode4b;  
             case 0x4c: return (void*) SynthesizeFragment_mode4c;  
             case 0x4d: return (void*) SynthesizeFragment_mode4d;  
             case 0x4e: return (void*) SynthesizeFragment_mode4e;  
             case 0x4f: return (void*) SynthesizeFragment_mode4f;  
             case 0x50: // redundant  
             case 0x51: return (void*) SynthesizeFragment_mode51;  
             case 0x52: // redundant  
             case 0x53: return (void*) SynthesizeFragment_mode53;  
             case 0x54: return (void*) SynthesizeFragment_mode54;  
             case 0x55: return (void*) SynthesizeFragment_mode55;  
             case 0x56: return (void*) SynthesizeFragment_mode56;  
             case 0x57: return (void*) SynthesizeFragment_mode57;  
             case 0x58: // redundant  
             case 0x59: return (void*) SynthesizeFragment_mode59;  
             case 0x5a: // redundant  
             case 0x5b: return (void*) SynthesizeFragment_mode5b;  
             case 0x5c: return (void*) SynthesizeFragment_mode5c;  
             case 0x5d: return (void*) SynthesizeFragment_mode5d;  
             case 0x5e: return (void*) SynthesizeFragment_mode5e;  
             case 0x5f: return (void*) SynthesizeFragment_mode5f;  
 #if ARCH_X86  
             case 0x60: // redundant  
             case 0x61: return (void*) SynthesizeFragment_mode61;  
             case 0x62: // redundant  
             case 0x63: return (void*) SynthesizeFragment_mode63;  
             case 0x64: return (void*) SynthesizeFragment_mode64;  
             case 0x65: return (void*) SynthesizeFragment_mode65;  
             case 0x66: return (void*) SynthesizeFragment_mode66;  
             case 0x67: return (void*) SynthesizeFragment_mode67;  
             case 0x68: // redundant  
             case 0x69: return (void*) SynthesizeFragment_mode69;  
             case 0x6a: // redundant  
             case 0x6b: return (void*) SynthesizeFragment_mode6b;  
             case 0x6c: return (void*) SynthesizeFragment_mode6c;  
             case 0x6d: return (void*) SynthesizeFragment_mode6d;  
             case 0x6e: return (void*) SynthesizeFragment_mode6e;  
             case 0x6f: return (void*) SynthesizeFragment_mode6f;  
             case 0x70: // redundant  
             case 0x71: return (void*) SynthesizeFragment_mode71;  
             case 0x72: // redundant  
             case 0x73: return (void*) SynthesizeFragment_mode73;  
             case 0x74: return (void*) SynthesizeFragment_mode74;  
             case 0x75: return (void*) SynthesizeFragment_mode75;  
             case 0x76: return (void*) SynthesizeFragment_mode76;  
             case 0x77: return (void*) SynthesizeFragment_mode77;  
             case 0x78: // redundant  
             case 0x79: return (void*) SynthesizeFragment_mode79;  
             case 0x7a: // redundant  
             case 0x7b: return (void*) SynthesizeFragment_mode7b;  
             case 0x7c: return (void*) SynthesizeFragment_mode7c;  
             case 0x7d: return (void*) SynthesizeFragment_mode7d;  
             case 0x7e: return (void*) SynthesizeFragment_mode7e;  
             case 0x7f: return (void*) SynthesizeFragment_mode7f;  
 #endif // ARCH_X86  
212              default: {              default: {
213                  printf("gig::Synthesizer: Invalid Synthesis Mode: %d\n", SynthesisMode);                  printf("gig::Synthesizer: Invalid Synthesis Mode: %d\n", SynthesisMode);
214                  exit(-1);                  exit(-1);

Legend:
Removed from v.328  
changed lines
  Added in v.738

  ViewVC Help
Powered by ViewVC