From: <sv...@op...> - 2024-11-18 18:52:59
|
Author: sagamusix Date: Mon Nov 18 19:52:52 2024 New Revision: 22223 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22223 Log: [Fix] IMF: Muted channel bug detection was broken due to missing integer promotion. Broken since r20949. Modified: trunk/OpenMPT/soundlib/Load_imf.cpp Modified: trunk/OpenMPT/soundlib/Load_imf.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_imf.cpp Mon Nov 18 19:47:12 2024 (r22222) +++ trunk/OpenMPT/soundlib/Load_imf.cpp Mon Nov 18 19:52:52 2024 (r22223) @@ -437,12 +437,12 @@ // Read channel configuration std::bitset<32> ignoreChannels; // bit set for each channel that's completely disabled - uint64 channelMuteStatus = 0xAAAA'AAAA << (GetNumChannels() * 2); + uint64 channelMuteStatus = static_cast<uint64>(0xAAAA'AAAA) << (GetNumChannels() * 2); for(CHANNELINDEX chn = 0; chn < GetNumChannels(); chn++) { ChnSettings[chn].nPan = static_cast<uint16>(fileHeader.channels[chn].panning * 256 / 255); ChnSettings[chn].szName = mpt::String::ReadBuf(mpt::String::nullTerminated, fileHeader.channels[chn].name); - channelMuteStatus |= fileHeader.channels[chn].status << (chn * 2); + channelMuteStatus |= static_cast<uint64>(fileHeader.channels[chn].status) << (chn * 2); // TODO: reverb/chorus? switch(fileHeader.channels[chn].status) { |