From: <sv...@op...> - 2024-06-01 13:58:12
|
Author: sagamusix Date: Sat Jun 1 15:58:00 2024 New Revision: 20894 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20894 Log: Merged revision(s) 20867, 20872, 20883 from trunk/OpenMPT: [Fix] ModCommand::GetEffectWeight did not contain a weight for CMD_CHANNELVOLSLIDE. ........ [Fix] Also disable loop wrap-around buffer logic if the sample loop start doesn't match. ........ [Fix] AMS: Default channel panning was broken, using all-center panning instead of MOD panning. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Fastmix.cpp branches/OpenMPT-1.31/soundlib/Load_ams.cpp branches/OpenMPT-1.31/soundlib/modcommand.cpp Modified: branches/OpenMPT-1.31/soundlib/Fastmix.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Fastmix.cpp Sat Jun 1 15:56:54 2024 (r20893) +++ branches/OpenMPT-1.31/soundlib/Fastmix.cpp Sat Jun 1 15:58:00 2024 (r20894) @@ -76,7 +76,7 @@ const bool inSustainLoop = chn.InSustainLoop() && chn.nLoopStart == chn.pModSample->nSustainStart && chn.nLoopEnd == chn.pModSample->nSustainEnd; // Do not enable wraparound magic if we're previewing a custom loop! - if(inSustainLoop || chn.nLoopEnd == chn.pModSample->nLoopEnd) + if(inSustainLoop || (chn.nLoopStart == chn.pModSample->nLoopStart && chn.nLoopEnd == chn.pModSample->nLoopEnd)) { SmpLength lookaheadOffset = 3 * InterpolationLookaheadBufferSize + chn.pModSample->nLength - chn.nLoopEnd; if(inSustainLoop) Modified: branches/OpenMPT-1.31/soundlib/Load_ams.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Load_ams.cpp Sat Jun 1 15:56:54 2024 (r20893) +++ branches/OpenMPT-1.31/soundlib/Load_ams.cpp Sat Jun 1 15:58:00 2024 (r20894) @@ -401,6 +401,7 @@ } InitializeGlobals(MOD_TYPE_AMS); + InitializeChannels(); m_SongFlags = SONG_ITCOMPATGXX | SONG_ITOLDEFFECTS; m_nChannels = (fileHeader.channelConfig & 0x1F) + 1; @@ -435,7 +436,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.31/soundlib/modcommand.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/modcommand.cpp Sat Jun 1 15:56:54 2024 (r20893) +++ branches/OpenMPT-1.31/soundlib/modcommand.cpp Sat Jun 1 15:58:00 2024 (r20894) @@ -1173,7 +1173,7 @@ CMD_TONEPORTAMENTO, CMD_TONEPORTAVOL, CMD_DBMECHO, - CMD_GLOBALVOLSLIDE, + CMD_CHANNELVOLSLIDE, CMD_CHANNELVOLUME, CMD_GLOBALVOLSLIDE, CMD_GLOBALVOLUME, @@ -1192,6 +1192,7 @@ } } // Invalid / unknown command. + MPT_ASSERT_NOTREACHED(); return 0; } |