From 47543eb382060e858234335158cb6f2d63a7bcc4 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Thu, 3 Sep 2020 14:38:56 +0100 Subject: [PATCH] Another Lanczos optimisation --- src/Backends/Audio/SoftwareMixer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Backends/Audio/SoftwareMixer.cpp b/src/Backends/Audio/SoftwareMixer.cpp index 1d71230e..d014882c 100644 --- a/src/Backends/Audio/SoftwareMixer.cpp +++ b/src/Backends/Audio/SoftwareMixer.cpp @@ -195,18 +195,20 @@ ATTRIBUTE_HOT void Mixer_MixSounds(long *stream, size_t frames_total) } } - const short output_sample = (short)(accumulator * 0x100); + // Mix, and apply volume + *stream_pointer++ += (short)(accumulator * sound->volume_l); + *stream_pointer++ += (short)(accumulator * sound->volume_r); #else // Perform linear interpolation const unsigned char interpolation_scale = sound->position_subsample >> 8; const short output_sample = sound->samples[sound->position] * (0x100 - interpolation_scale) + sound->samples[sound->position + 1] * interpolation_scale; - #endif // Mix, and apply volume *stream_pointer++ += (output_sample * sound->volume_l) >> 8; *stream_pointer++ += (output_sample * sound->volume_r) >> 8; + #endif // Increment sample const unsigned long next_position_subsample = sound->position_subsample + sound->advance_delta;