From: <sag...@us...> - 2012-05-04 11:25:20
|
Revision: 1259 http://modplug.svn.sourceforge.net/modplug/?rev=1259&view=rev Author: saga-games Date: 2012-05-04 11:25:10 +0000 (Fri, 04 May 2012) Log Message: ----------- [Fix] IT compatibility: Sample and instrument panning overrides surround if Quad Surround is disabled (Test case: SmpInsPanSurround.it) Modified Paths: -------------- trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2012-04-28 16:39:50 UTC (rev 1258) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2012-05-04 11:25:10 UTC (rev 1259) @@ -716,14 +716,32 @@ if (pIns) { pChn->nInsVol = (pSmp->nGlobalVol * pIns->nGlobalVol) >> 6; - if (pIns->dwFlags & INS_SETPANNING) pChn->nPan = pIns->nPan; + // Default instrument panning + if (pIns->dwFlags & INS_SETPANNING) + { + pChn->nPan = pIns->nPan; + // IT compatibility: Sample and instrument panning overrides channel surround status. + // Test case: SmpInsPanSurround.it + if(IsCompatibleMode(TRK_IMPULSETRACKER) && !(m_dwSongFlags & SONG_SURROUNDPAN)) + { + pChn->dwFlags &= ~CHN_SURROUND; + } + } } else { pChn->nInsVol = pSmp->nGlobalVol; } + + // Default sample panning if((pSmp->uFlags & CHN_PANNING) || (GetType() & MOD_TYPE_XM)) { pChn->nPan = pSmp->nPan; + // IT compatibility: Sample and instrument panning overrides channel surround status. + // Test case: SmpInsPanSurround.it + if(IsCompatibleMode(TRK_IMPULSETRACKER) && !(m_dwSongFlags & SONG_SURROUNDPAN)) + { + pChn->dwFlags &= ~CHN_SURROUND; + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |