From: <sv...@op...> - 2024-06-08 21:25:20
|
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); |