This commit is contained in:
tildearrow 2024-08-24 17:41:41 -05:00
parent c06759b235
commit 0ab9f6c6fd
8 changed files with 163 additions and 239 deletions

View file

@ -135,19 +135,12 @@ static short const gauss [512] =
1299,1300,1300,1301,1302,1302,1303,1303,1303,1304,1304,1304,1304,1304,1305,1305,
};
void SPC_DSP::setupInterpolation(bool interpolate)
{
for(int i = 0; i < voice_count; i++)
{
m.voices[i].interpolate = interpolate;
}
}
void SPC_DSP::setupInterpolation(bool interpolate){for(int i=0;i<voice_count;i++){m.voices[i].interpolate=interpolate;}}
inline int SPC_DSP::interpolate( voice_t const* v )
{
// Make pointers into gaussian based on fractional position between samples
if(v->interpolate)
{
if (v->interpolate) {
int offset = v->interp_pos >> 4 & 0xFF;
short const* fwd = gauss + 255 - offset;
short const* rev = gauss + offset; // mirror left half of gaussian
@ -163,9 +156,7 @@ inline int SPC_DSP::interpolate( voice_t const* v )
CLAMP16( out );
out &= ~1;
return out;
}
else
{
} else {
return v->buf [(v->interp_pos >> 12) + v->buf_pos]; //Furnace addition -- no interpolation
}
}