|
From: <man...@us...> - 2013-04-02 18:44:40
|
Revision: 1706
http://sourceforge.net/p/modplug/code/1706
Author: manxorist
Date: 2013-04-02 18:44:33 +0000 (Tue, 02 Apr 2013)
Log Message:
-----------
[Mod] Let quad surround always overwrite reverb channel setting.
[Fix] Actually do something sane when NO_REVERB is defined.
[Ref] Add copyright notice and #pragma once to Snd_rvb.h.
Modified Paths:
--------------
trunk/OpenMPT/soundlib/Fastmix.cpp
trunk/OpenMPT/soundlib/snd_rvb.h
Modified: trunk/OpenMPT/soundlib/Fastmix.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Fastmix.cpp 2013-04-02 18:35:55 UTC (rev 1705)
+++ trunk/OpenMPT/soundlib/Fastmix.cpp 2013-04-02 18:44:33 UTC (rev 1706)
@@ -1499,15 +1499,18 @@
pMixFuncTable = gpMixFunctionTable;
}
nsamples = count;
- #ifndef NO_REVERB
- pbuffer = (gdwSoundSetup & SNDMIX_REVERB) ? MixReverbBuffer : MixSoundBuffer;
- if(pChannel->dwFlags[CHN_SURROUND] && gnChannels > 2) pbuffer = MixRearBuffer;
- if(pChannel->dwFlags[CHN_NOREVERB]) pbuffer = MixSoundBuffer;
- #ifdef ENABLE_MMX
+ pbuffer = MixSoundBuffer;
+#ifndef NO_REVERB
+#ifdef ENABLE_MMX
+ if((gdwSoundSetup & SNDMIX_REVERB) && (gdwSysInfo & SYSMIX_ENABLEMMX) && !pChannel->dwFlags[CHN_NOREVERB])
+ pbuffer = MixReverbBuffer;
if(pChannel->dwFlags[CHN_REVERB] && (gdwSysInfo & SYSMIX_ENABLEMMX))
pbuffer = MixReverbBuffer;
- #endif
+#endif
+#endif
+ if(pChannel->dwFlags[CHN_SURROUND] && gnChannels > 2)
+ pbuffer = MixRearBuffer;
//Look for plugins associated with this implicit tracker channel.
PLUGINDEX nMixPlugin = GetBestPlugin(ChnMix[nChn], PrioritiseInstrument, RespectMutes);
@@ -1540,6 +1543,7 @@
}
}
}
+#ifndef NO_REVERB
if (pbuffer == MixReverbBuffer)
{
if (!gnReverbSend)
@@ -1550,10 +1554,8 @@
pOfsR = &gnRvbROfsVol;
pOfsL = &gnRvbLOfsVol;
}
+#endif
bSurround = (pbuffer == MixRearBuffer);
- #else
- pbuffer = MixSoundBuffer;
- #endif
nchused++;
////////////////////////////////////////////////////
SampleLooping:
Modified: trunk/OpenMPT/soundlib/snd_rvb.h
===================================================================
--- trunk/OpenMPT/soundlib/snd_rvb.h 2013-04-02 18:35:55 UTC (rev 1705)
+++ trunk/OpenMPT/soundlib/snd_rvb.h 2013-04-02 18:44:33 UTC (rev 1706)
@@ -1,6 +1,15 @@
-#ifndef _SNDMIX_REVERB_H_
-#define _SNDMIX_REVERB_H_
+/*
+ * Snd_rvb.h
+ * ---------
+ * Purpose: Mixing code for reverb.
+ * Notes : Ugh... This should really be removed at some point.
+ * Authors: Olivier Lapicque
+ * OpenMPT Devs
+ * The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
+ */
+#pragma once
+
/////////////////////////////////////////////////////////////////////////////
//
// SW Reverb structures
@@ -188,6 +197,3 @@
#define SNDMIX_REVERB_PRESET_PLATE \
-1000, -200, 1.30f,0.90f, 0,0.002f, 0,0.010f,100.0f, 75.0f
-
-#endif // _SNDMIX_REVERB_H_
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|