aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/alc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/alc.cpp')
-rw-r--r--Alc/alc.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Alc/alc.cpp b/Alc/alc.cpp
index 1ae92779..441add06 100644
--- a/Alc/alc.cpp
+++ b/Alc/alc.cpp
@@ -36,6 +36,7 @@
#include <string>
#include <numeric>
#include <algorithm>
+#include <functional>
#include "alMain.h"
#include "alcontext.h"
@@ -114,6 +115,8 @@
namespace {
+using namespace std::placeholders;
+
/************************************************
* Backends
************************************************/
@@ -2648,6 +2651,11 @@ void AllocateVoices(ALCcontext *context, ALsizei num_voices, ALsizei old_sends)
voice->mResampleState = old_voice->mResampleState;
+ voice->mAmbiScales = old_voice->mAmbiScales;
+ voice->mAmbiSplitter = old_voice->mAmbiSplitter;
+ std::for_each(voice->mAmbiSplitter.begin(),voice->mAmbiSplitter.end(),
+ std::bind(std::mem_fn(&BandSplitter::clear), _1));
+
voice->mDirect = old_voice->mDirect;
std::copy_n(old_voice->mSend.begin(), s_count, voice->mSend.begin());