From: <sv...@op...> - 2024-09-19 14:31:13
|
Author: sagamusix Date: Thu Sep 19 16:31:01 2024 New Revision: 21635 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21635 Log: Merged revision(s) 21634 from trunk/OpenMPT: [Fix] PTM: Revert fix of assumed PolyTracker panning bug. I keep forgetting that there's still no official DOSBox build with the fix for this bug in their GUS emulation... ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Sndmix.cpp Modified: branches/OpenMPT-1.31/soundlib/Sndmix.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Sndmix.cpp Thu Sep 19 16:30:32 2024 (r21634) +++ branches/OpenMPT-1.31/soundlib/Sndmix.cpp Thu Sep 19 16:31:01 2024 (r21635) @@ -2502,18 +2502,10 @@ // Test case: FT2PanLaw.xm LimitMax(pan, 255); - // PolyTracker also uses square root panning, but there's a bug where the leftmost and rightmost pan positions play the sample centered, without any attenuation. - if(GetType() == MOD_TYPE_PTM && (pan == 0 || pan == 255)) - { - chn.newLeftVol = realvol; - chn.newRightVol = realvol; - } else - { - const int panL = pan > 0 ? XMPanningTable[256 - pan] : 65536; - const int panR = XMPanningTable[pan]; - chn.newLeftVol = (realvol * panL) / 65536; - chn.newRightVol = (realvol * panR) / 65536; - } + const int panL = pan > 0 ? XMPanningTable[256 - pan] : 65536; + const int panR = XMPanningTable[pan]; + chn.newLeftVol = (realvol * panL) / 65536; + chn.newRightVol = (realvol * panR) / 65536; } else { chn.newLeftVol = (realvol * (256 - pan)) / 256; |