gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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:
Msource/virusLib/microcontroller.cpp | 11++++-------
Msource/virusLib/microcontroller.h | 4++--
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);