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 f4b5e90042fbf93cde11cbd32b23dd1958cfad83
parent fdb963aad124c84c913418ebfd87555e283852d0
Author: Tal Aviram <me@talaviram.com>
Date:   Fri, 20 Aug 2021 00:48:30 +0300

controller - single dump of edit buffer update single params.

Diffstat:
Msource/jucePlugin/VirusController.cpp | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/source/jucePlugin/VirusController.cpp b/source/jucePlugin/VirusController.cpp @@ -234,7 +234,14 @@ namespace Virus (deviceId + 0x10 + patch.bankNumber + patch.progNumber + dataSum) & 0x7f; assert(expectedSum == checksum); } - m_singles[patch.bankNumber - 1][patch.progNumber] = patch; + if (patch.bankNumber == 0) + { + constexpr auto bankSize = kDataSizeInBytes / 2; + const auto ch = patch.progNumber == 0x40 ? 0 : patch.progNumber; + for (auto i = 0; i < kDataSizeInBytes; i++) + findSynthParam(ch, i > bankSize ? 1 : 0, i % bankSize)->setValueNotifyingHost(patch.data[i]); + } + m_singles[patch.bankNumber - 1][patch.progNumber] = patch; const auto namePos = kHeaderWithMsgCodeLen + 2 + 128 + 112; assert(namePos < msg.size());