commit e77ead5cc3f2ed1f965f35812308e0286df2227a
parent 2057f4ab5a04d924e1a93808882c97044e7f72ac
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Thu, 24 Feb 2022 00:31:49 +0100
fix play mode not correctly updated when loading presets
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/source/virusLib/microcontroller.cpp b/source/virusLib/microcontroller.cpp
@@ -515,15 +515,12 @@ bool Microcontroller::sendSysex(const std::vector<uint8_t>& _data, bool _cancelI
{
case PlayModeSingle:
{
- m_globalSettings[PLAY_MODE] = playMode;
-
LOG("Switch to Single mode");
return writeSingle(BankNumber::EditBuffer, SINGLE, m_singleEditBuffer);
}
case PlayModeMultiSingle:
case PlayModeMulti:
{
- m_globalSettings[PLAY_MODE] = PlayModeMulti;
writeMulti(BankNumber::EditBuffer, 0, m_multiEditBuffer);
for(uint8_t i=0; i<16; ++i)
writeSingle(BankNumber::EditBuffer, i, m_singleEditBuffers[i]);
@@ -691,6 +688,9 @@ bool Microcontroller::writeSingle(BankNumber _bank, uint8_t _program, const TPre
LOG("Loading Single " << ROMFile::getSingleName(_data) << " to part " << (int)_program);
+ if(_program == SINGLE)
+ m_globalSettings[PLAY_MODE] = PlayModeSingle;
+
// Send to DSP
return sendPreset(_program, presetToDSPWords(_data), false);
}
@@ -707,6 +707,8 @@ bool Microcontroller::writeMulti(BankNumber _bank, uint8_t _program, const TPres
LOG("Loading Multi " << ROMFile::getMultiName(_data));
+ m_globalSettings[PLAY_MODE] = PlayModeMulti;
+
// Convert array of uint8_t to vector of 24bit TWord
return sendPreset(_program, presetToDSPWords(_data), true);
}