diff options
author | Chris Robinson <[email protected]> | 2010-04-23 07:54:43 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-04-23 07:54:43 -0700 |
commit | 110be7f500f08e4d926af80bbae8586ebafef983 (patch) | |
tree | 3285d039ff5f8febfff49db05b1fef71f0e9faa7 /Alc | |
parent | 52663e8a44471570a9b2519e163e3252fc2f65bf (diff) |
Add an option to scale the output mix
Diffstat (limited to 'Alc')
-rw-r--r-- | Alc/ALu.c | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -234,7 +234,6 @@ ALvoid aluInitPanning(ALCdevice *Device) Channel Speaker2Chan[OUTPUTCHANNELS]; ALfloat Alpha, Theta; ALint pos, offset; - ALfloat maxout; ALuint s, s2; for(s = 0;s < OUTPUTCHANNELS;s++) @@ -381,23 +380,25 @@ ALvoid aluInitPanning(ALCdevice *Device) assert(0); } - maxout = 1.0f; - for(s = 0;s < OUTPUTCHANNELS;s++) + if(GetConfigValueBool(NULL, "scalemix", 0)) { - ALfloat out = 0.0f; - for(s2 = 0;s2 < OUTPUTCHANNELS;s2++) - out += Device->ChannelMatrix[s2][s]; - maxout = __max(maxout, out); - } + ALfloat maxout = 1.0f; + for(s = 0;s < OUTPUTCHANNELS;s++) + { + ALfloat out = 0.0f; + for(s2 = 0;s2 < OUTPUTCHANNELS;s2++) + out += Device->ChannelMatrix[s2][s]; + maxout = __max(maxout, out); + } - maxout = 1.0f/maxout; - for(s = 0;s < OUTPUTCHANNELS;s++) - { - for(s2 = 0;s2 < OUTPUTCHANNELS;s2++) - Device->ChannelMatrix[s2][s] *= maxout; + maxout = 1.0f/maxout; + for(s = 0;s < OUTPUTCHANNELS;s++) + { + for(s2 = 0;s2 < OUTPUTCHANNELS;s2++) + Device->ChannelMatrix[s2][s] *= maxout; + } } - for(pos = 0; pos < LUT_NUM; pos++) { /* clear all values */ |