aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2010-04-23 07:54:43 -0700
committerChris Robinson <[email protected]>2010-04-23 07:54:43 -0700
commit110be7f500f08e4d926af80bbae8586ebafef983 (patch)
tree3285d039ff5f8febfff49db05b1fef71f0e9faa7 /Alc
parent52663e8a44471570a9b2519e163e3252fc2f65bf (diff)
Add an option to scale the output mix
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALu.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 4c23dad4..c5915c1b 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -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 */