Author: sagamusix
Date: Sat Jun 8 23:25:08 2024
New Revision: 20977
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20977
Log:
Merged revision(s) 20883, 20947 from trunk/OpenMPT:
[Fix] AMS: Default channel panning was broken, using all-center panning instead of MOD panning.
........
[Fix] STM/STX: Don't import channels with panning. ST2 only outputs mono sound. The SoundBlaster Pro was only released around the same time as the last ST2 release, so stereo support was just not possible (tx cs127).
........
Modified:
branches/OpenMPT-1.30/ (props changed)
branches/OpenMPT-1.30/soundlib/Load_ams.cpp
branches/OpenMPT-1.30/soundlib/Load_stm.cpp
Modified: branches/OpenMPT-1.30/soundlib/Load_ams.cpp
==============================================================================
--- branches/OpenMPT-1.30/soundlib/Load_ams.cpp Sat Jun 8 23:21:16 2024 (r20976)
+++ branches/OpenMPT-1.30/soundlib/Load_ams.cpp Sat Jun 8 23:25:08 2024 (r20977)
@@ -400,6 +400,7 @@
}
InitializeGlobals(MOD_TYPE_AMS);
+ InitializeChannels();
m_SongFlags = SONG_ITCOMPATGXX | SONG_ITOLDEFFECTS;
m_nChannels = (fileHeader.channelConfig & 0x1F) + 1;
@@ -434,7 +435,6 @@
// Read channel names
for(CHANNELINDEX chn = 0; chn < GetNumChannels(); chn++)
{
- ChnSettings[chn].Reset();
file.ReadSizedString<uint8le, mpt::String::spacePadded>(ChnSettings[chn].szName);
}
Modified: branches/OpenMPT-1.30/soundlib/Load_stm.cpp
==============================================================================
--- branches/OpenMPT-1.30/soundlib/Load_stm.cpp Sat Jun 8 23:21:16 2024 (r20976)
+++ branches/OpenMPT-1.30/soundlib/Load_stm.cpp Sat Jun 8 23:25:08 2024 (r20977)
@@ -230,6 +230,7 @@
return true;
InitializeGlobals(MOD_TYPE_STM);
+ InitializeChannels();
m_songName = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, fileHeader.songname);
@@ -258,13 +259,6 @@
if(fileHeader.verMinor > 10)
m_nDefaultGlobalVolume = std::min(fileHeader.globalVolume, uint8(64)) * 4u;
- // Setting up channels
- for(CHANNELINDEX chn = 0; chn < 4; chn++)
- {
- ChnSettings[chn].Reset();
- ChnSettings[chn].nPan = (chn & 1) ? 0x40 : 0xC0;
- }
-
// Read samples
uint16 sampleOffsets[31];
for(SAMPLEINDEX smp = 1; smp <= 31; smp++)
@@ -462,6 +456,7 @@
return true;
InitializeGlobals(MOD_TYPE_STM);
+ InitializeChannels();
m_songName = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, fileHeader.songName);
@@ -480,13 +475,6 @@
m_nDefaultSpeed = initTempo >> 4;
m_nDefaultGlobalVolume = std::min(fileHeader.globalVolume, uint8(64)) * 4u;
- // Setting up channels
- for(CHANNELINDEX chn = 0; chn < 4; chn++)
- {
- ChnSettings[chn].Reset();
- ChnSettings[chn].nPan = (chn & 1) ? 0x40 : 0xC0;
- }
-
std::vector<uint16le> patternOffsets, sampleOffsets;
file.Seek(fileHeader.patTableOffset << 4);
file.ReadVector(patternOffsets, fileHeader.numPatterns);
|