commit 03773f1c1569bad126b933e671ba1f72c846dbec
parent 3a98fcc7b67371adb5e95506265985edeafe8f06
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Thu, 15 Jul 2021 19:56:50 +0200
fix load of multis went broken
Diffstat:
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/source/virusLib/microcontroller.cpp b/source/virusLib/microcontroller.cpp
@@ -546,7 +546,7 @@ bool Microcontroller::requestSingle(uint8_t _bank, uint8_t _program, TPreset& _d
return getSingle(_bank - 1, _program, _data);
}
-bool Microcontroller::writeSingle(uint8_t _bank, uint8_t _program, const TPreset& _data, bool cancelIfFull, bool pendingSingleWrite)
+bool Microcontroller::writeSingle(uint8_t _bank, uint8_t _program, const TPreset& _data, bool cancelIfFull)
{
if (_bank > 0)
{
@@ -565,9 +565,6 @@ bool Microcontroller::writeSingle(uint8_t _bank, uint8_t _program, const TPreset
LOG("Loading Single " << ROMFile::getSingleName(_data) << " to part " << _program);
- if(pendingSingleWrite)
- return true;
-
// Send to DSP
return sendPreset(_program, presetToDSPWords(_data), cancelIfFull, false);
}
@@ -598,14 +595,14 @@ bool Microcontroller::partBankSelect(const uint8_t _part, const uint8_t _value,
return true;
}
-bool Microcontroller::partProgramChange(const uint8_t _part, const uint8_t _value, bool pendingSingleWrite)
+bool Microcontroller::partProgramChange(const uint8_t _part, const uint8_t _value)
{
TPreset single;
if(getSingle(m_currentBanks[_part], _value, single))
{
m_currentSingles[_part] = _value;
- return writeSingle(0, _part, single, true, pendingSingleWrite);
+ return writeSingle(0, _part, single, true);
}
return true;
@@ -643,7 +640,7 @@ bool Microcontroller::loadMultiSingle(uint8_t _part, const TPreset& _multi)
const auto partSingle = _multi[MD_PART_PROGRAM_NUMBER + _part];
partBankSelect(_part, partBank, false);
- return partProgramChange(_part, partSingle, true);
+ return partProgramChange(_part, partSingle);
}
void Microcontroller::process(size_t _size)
diff --git a/source/virusLib/microcontroller.h b/source/virusLib/microcontroller.h
@@ -184,7 +184,7 @@ public:
bool send(Page page, uint8_t part, uint8_t param, uint8_t value, bool cancelIfFull = false);
bool sendSysex(const std::vector<uint8_t>& _data, bool _cancelIfFull, std::vector<synthLib::SMidiEvent>& _responses);
- bool writeSingle(uint8_t _bank, uint8_t _program, const TPreset& _data, bool cancelIfFull, bool pendingSingleWrite = false);
+ bool writeSingle(uint8_t _bank, uint8_t _program, const TPreset& _data, bool cancelIfFull);
bool writeMulti(uint8_t _bank, uint8_t _program, const TPreset& _data, bool cancelIfFull);
bool requestMulti(uint8_t _bank, uint8_t _program, TPreset& _data) const;
bool requestSingle(uint8_t _bank, uint8_t _program, TPreset& _data) const;
@@ -206,7 +206,7 @@ private:
bool getSingle(uint32_t _bank, uint32_t _preset, TPreset& _result) const;
bool partBankSelect(uint8_t _part, uint8_t _value, bool _immediatelySelectSingle);
- bool partProgramChange(uint8_t _part, uint8_t _value, bool pendingSingleWrite = false);
+ bool partProgramChange(uint8_t _part, uint8_t _value);
bool multiProgramChange(uint8_t _value);
bool loadMulti(uint8_t _program, const TPreset& _multi);
bool loadMultiSingle(uint8_t _part);