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 * |
* Copyright (C) 2005 - 2007 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 * |
21 |
* MA 02111-1307 USA * |
* MA 02111-1307 USA * |
22 |
***************************************************************************/ |
***************************************************************************/ |
23 |
|
|
24 |
|
// Note: the assembly code is currently disabled, as it doesn't fit into |
25 |
|
// the new synthesis core introduced by LS 0.4.0 |
26 |
|
|
27 |
#ifndef __LS_RESAMPLER_H__ |
#ifndef __LS_RESAMPLER_H__ |
28 |
#define __LS_RESAMPLER_H__ |
#define __LS_RESAMPLER_H__ |
29 |
|
|
78 |
} |
} |
79 |
} |
} |
80 |
|
|
81 |
#if CONFIG_ASM && ARCH_X86 |
#if 0 // CONFIG_ASM && ARCH_X86 |
82 |
inline static void GetNext4SamplesMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) { |
inline static void GetNext4SamplesMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) { |
83 |
if (INTERPOLATE) Interpolate4StepsMonoMMXSSE(pSrc, Pos, Pitch); |
if (INTERPOLATE) Interpolate4StepsMonoMMXSSE(pSrc, Pos, Pitch); |
84 |
else { // no pitch, so no interpolation necessary |
else { // no pitch, so no interpolation necessary |
225 |
return samplePoint; |
return samplePoint; |
226 |
} |
} |
227 |
|
|
228 |
#if CONFIG_ASM && ARCH_X86 |
#if 0 // CONFIG_ASM && ARCH_X86 |
229 |
// TODO: no support for cubic interpolation yet |
// TODO: no support for cubic interpolation yet |
230 |
inline static void Interpolate4StepsMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) { |
inline static void Interpolate4StepsMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) { |
231 |
/* calculate playback position of each of the 4 samples by adding the associated pitch */ |
/* calculate playback position of each of the 4 samples by adding the associated pitch */ |