aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2012-12-04 05:30:06 -0800
committerChris Robinson <[email protected]>2012-12-04 05:30:06 -0800
commit893a1bedbc0048e159e4471ac21f03cfee3a72ea (patch)
treef82913e5aa8281c0c492b191b2deb859dab9b1ee /Alc
parent4621a7b426387e818b59cc654d8f3a47803e4d9a (diff)
Use +/-90 degrees for stereo sources with non-HRTF stereo output.
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALu.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 2ce2685b..282053c7 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -333,7 +333,15 @@ ALvoid CalcNonAttnSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
case FmtStereo:
if(!(Device->Flags&DEVICE_WIDE_STEREO))
- chans = StereoMap;
+ {
+ /* HACK: Place the stereo channels at +/-90 degrees when using non-
+ * HRTF stereo output. This helps reduce the "monoization" caused
+ * by them panning towards the center. */
+ if(Device->FmtChans == DevFmtStereo && !Device->Hrtf)
+ chans = StereoWideMap;
+ else
+ chans = StereoMap;
+ }
else
{
chans = StereoWideMap;