summaryrefslogtreecommitdiffstats
path: root/servers/audio_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/audio_server.cpp')
-rw-r--r--servers/audio_server.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp
index 90e35c7fce..60f7881c9c 100644
--- a/servers/audio_server.cpp
+++ b/servers/audio_server.cpp
@@ -29,6 +29,8 @@
#include "audio_server.h"
#include "globals.h"
#include "os/os.h"
+#include "servers/audio/effects/audio_effect_compressor.h"
+
AudioDriver *AudioDriver::singleton=NULL;
AudioDriver *AudioDriver::get_singleton() {
@@ -514,7 +516,12 @@ void AudioServer::_update_bus_effects(int p_bus) {
for(int i=0;i<buses[p_bus]->channels.size();i++) {
buses[p_bus]->channels[i].effect_instances.resize(buses[p_bus]->effects.size());
for(int j=0;j<buses[p_bus]->effects.size();j++) {
- buses[p_bus]->channels[i].effect_instances[j]=buses[p_bus]->effects[j].effect->instance();
+ Ref<AudioEffectInstance> fx = buses[p_bus]->effects[j].effect->instance();
+ if (fx->cast_to<AudioEffectCompressorInstance>()) {
+ fx->cast_to<AudioEffectCompressorInstance>()->set_current_channel(i);
+ }
+ buses[p_bus]->channels[i].effect_instances[j]=fx;
+
}
}
}