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

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

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

revision 563 by schoenebeck, Sun May 22 20:43:32 2005 UTC revision 617 by schoenebeck, Wed Jun 8 21:00:06 2005 UTC
# Line 82  namespace LinuxSampler { namespace gig { Line 82  namespace LinuxSampler { namespace gig {
82              using __RTMath<IMPLEMENTATION>::Float;              using __RTMath<IMPLEMENTATION>::Float;
83              using LinuxSampler::Resampler<INTERPOLATE>::GetNextSampleMonoCPP;              using LinuxSampler::Resampler<INTERPOLATE>::GetNextSampleMonoCPP;
84              using LinuxSampler::Resampler<INTERPOLATE>::GetNextSampleStereoCPP;              using LinuxSampler::Resampler<INTERPOLATE>::GetNextSampleStereoCPP;
85  #if ARCH_X86  #if CONFIG_ASM && ARCH_X86
86              using LinuxSampler::Resampler<INTERPOLATE>::GetNext4SamplesMonoMMXSSE;              using LinuxSampler::Resampler<INTERPOLATE>::GetNext4SamplesMonoMMXSSE;
87              using LinuxSampler::Resampler<INTERPOLATE>::GetNext4SamplesStereoMMXSSE;              using LinuxSampler::Resampler<INTERPOLATE>::GetNext4SamplesStereoMMXSSE;
88  #endif  #endif
# Line 107  namespace LinuxSampler { namespace gig { Line 107  namespace LinuxSampler { namespace gig {
107                                         Voice.PitchBase,                                         Voice.PitchBase,
108                                         Voice.PitchBend,                                         Voice.PitchBend,
109                                         &panLeft, &panRight);                                         &panLeft, &panRight);
110                      #if  ARCH_X86                      #if CONFIG_ASM && ARCH_X86
111                      if (INTERPOLATE) EMMS;                      if (INTERPOLATE) EMMS;
112                      #endif                      #endif
113                      Voice.Pos = (double) fPos;                      Voice.Pos = (double) fPos;
# Line 197  namespace LinuxSampler { namespace gig { Line 197  namespace LinuxSampler { namespace gig {
197                      case CPP: {                      case CPP: {
198                          return uint((LoopEnd - *((double *)Pos)) / Pitch);                          return uint((LoopEnd - *((double *)Pos)) / Pitch);
199                      }                      }
200                      #if ARCH_X86                      #if CONFIG_ASM && ARCH_X86
201                      case ASM_X86_MMX_SSE: {                      case ASM_X86_MMX_SSE: {
202                          int result;                          int result;
203                          __asm__ __volatile__ (                          __asm__ __volatile__ (
# Line 212  namespace LinuxSampler { namespace gig { Line 212  namespace LinuxSampler { namespace gig {
212                          );                          );
213                          return result;                          return result;
214                      }                      }
215                      #endif // ARCH_X86                      #endif // CONFIG_ASM && ARCH_X86
216                  }                  }
217              }              }
218    
# Line 232  namespace LinuxSampler { namespace gig { Line 232  namespace LinuxSampler { namespace gig {
232                          *Pos = fmod(*Pos - LoopEnd, LoopSize) + LoopStart;                          *Pos = fmod(*Pos - LoopEnd, LoopSize) + LoopStart;
233                          return 1;                          return 1;
234                      }                      }
235                      #if ARCH_X86                      #if CONFIG_ASM && ARCH_X86
236                      case ASM_X86_MMX_SSE: {                      case ASM_X86_MMX_SSE: {
237                          int result = 0;                          int result = 0;
238                          __asm__ __volatile__ (                          __asm__ __volatile__ (
# Line 264  namespace LinuxSampler { namespace gig { Line 264  namespace LinuxSampler { namespace gig {
264                          );                          );
265                          return result;                          return result;
266                      }                      }
267                      #endif // ARCH_X86                      #endif // CONFIG_ASM && ARCH_X86
268                  }                  }
269              }              }
270    
# Line 301  namespace LinuxSampler { namespace gig { Line 301  namespace LinuxSampler { namespace gig {
301                          }                          }
302                          break;                          break;
303                      }                      }
304                      #if ARCH_X86                      #if CONFIG_ASM && ARCH_X86
305                      // Assembly optimization using the MMX & SSE(1) instruction set (thus only for x86)                      // Assembly optimization using the MMX & SSE(1) instruction set (thus only for x86)
306                      case ASM_X86_MMX_SSE: {                      case ASM_X86_MMX_SSE: {
307                          const int ii = i & 0xfffffffc;                          const int ii = i & 0xfffffffc;
# Line 387  namespace LinuxSampler { namespace gig { Line 387  namespace LinuxSampler { namespace gig {
387                                "r" (&pOutR[ii])  /* %1 - must be 16 byte aligned ! */                                "r" (&pOutR[ii])  /* %1 - must be 16 byte aligned ! */
388                          );                          );
389                      }                      }
390                      #endif // ARCH_X86                      #endif // CONFIG_ASM && ARCH_X86
391                  }                  }
392              }              }
393      };      };

Legend:
Removed from v.563  
changed lines
  Added in v.617

  ViewVC Help
Powered by ViewVC