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 - 2007 Christian Schoenebeck * |
* Copyright (C) 2005 - 2011 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 * |
169 |
double dPos = pFinalParam->dPos; |
double dPos = pFinalParam->dPos; |
170 |
float fPitch = pFinalParam->fFinalPitch; |
float fPitch = pFinalParam->fFinalPitch; |
171 |
if (USEFILTER) { |
if (USEFILTER) { |
172 |
Filter filterL = pFinalParam->filterLeft; |
Filter& filterL = pFinalParam->filterLeft; |
173 |
for (int i = 0; i < uiToGo; ++i) { |
for (int i = 0; i < uiToGo; ++i) { |
174 |
samplePoint = Interpolate1StepMonoCPP(pSrc, &dPos, fPitch); |
samplePoint = Interpolate1StepMonoCPP(pSrc, &dPos, fPitch); |
175 |
samplePoint = filterL.Apply(samplePoint); |
samplePoint = filterL.Apply(samplePoint); |
195 |
} else { // no interpolation |
} else { // no interpolation |
196 |
int pos_offset = (int) pFinalParam->dPos; |
int pos_offset = (int) pFinalParam->dPos; |
197 |
if (USEFILTER) { |
if (USEFILTER) { |
198 |
Filter filterL = pFinalParam->filterLeft; |
Filter& filterL = pFinalParam->filterLeft; |
199 |
for (int i = 0; i < uiToGo; ++i) { |
for (int i = 0; i < uiToGo; ++i) { |
200 |
samplePoint = getSample(pSrc, i + pos_offset); |
samplePoint = getSample(pSrc, i + pos_offset); |
201 |
samplePoint = filterL.Apply(samplePoint); |
samplePoint = filterL.Apply(samplePoint); |
227 |
double dPos = pFinalParam->dPos; |
double dPos = pFinalParam->dPos; |
228 |
float fPitch = pFinalParam->fFinalPitch; |
float fPitch = pFinalParam->fFinalPitch; |
229 |
if (USEFILTER) { |
if (USEFILTER) { |
230 |
Filter filterL = pFinalParam->filterLeft; |
Filter& filterL = pFinalParam->filterLeft; |
231 |
Filter filterR = pFinalParam->filterRight; |
Filter& filterR = pFinalParam->filterRight; |
232 |
for (int i = 0; i < uiToGo; ++i) { |
for (int i = 0; i < uiToGo; ++i) { |
233 |
samplePoint = Interpolate1StepStereoCPP(pSrc, &dPos, fPitch); |
samplePoint = Interpolate1StepStereoCPP(pSrc, &dPos, fPitch); |
234 |
samplePoint.left = filterL.Apply(samplePoint.left); |
samplePoint.left = filterL.Apply(samplePoint.left); |
255 |
} else { // no interpolation |
} else { // no interpolation |
256 |
int pos_offset = ((int) pFinalParam->dPos) << 1; |
int pos_offset = ((int) pFinalParam->dPos) << 1; |
257 |
if (USEFILTER) { |
if (USEFILTER) { |
258 |
Filter filterL = pFinalParam->filterLeft; |
Filter& filterL = pFinalParam->filterLeft; |
259 |
Filter filterR = pFinalParam->filterRight; |
Filter& filterR = pFinalParam->filterRight; |
260 |
for (int i = 0, ii = 0; i < uiToGo; ++i, ii+=2) { |
for (int i = 0, ii = 0; i < uiToGo; ++i, ii+=2) { |
261 |
samplePoint.left = getSample(pSrc, ii + pos_offset); |
samplePoint.left = getSample(pSrc, ii + pos_offset); |
262 |
samplePoint.right = getSample(pSrc, ii + pos_offset + 1); |
samplePoint.right = getSample(pSrc, ii + pos_offset + 1); |