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 8565ecc6be6641b490065fb17a425f901e65f5fe
parent 38c50aab34f548432f29e8ac93804951f2941443
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Thu, 30 Dec 2021 22:46:53 +0100

fix UI not updating presets after loading plugin state

Diffstat:
Msource/jucePlugin/PluginProcessor.cpp | 2++
Msource/jucePlugin/VirusController.cpp | 5+++++
Msource/jucePlugin/VirusController.h | 3++-
3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/source/jucePlugin/PluginProcessor.cpp b/source/jucePlugin/PluginProcessor.cpp @@ -397,6 +397,8 @@ void AudioPluginAudioProcessor::setState(const void* _data, size_t _sizeInBytes) state.resize(_sizeInBytes); memcpy(&state[0], _data, _sizeInBytes); m_plugin.setState(state); + if (m_controller) + m_controller->onStateLoaded(); } //============================================================================== diff --git a/source/jucePlugin/VirusController.cpp b/source/jucePlugin/VirusController.cpp @@ -1658,6 +1658,11 @@ namespace Virus m_processor.addMidiEvent(ev); } + void Controller::onStateLoaded() + { + sendSysEx(constructMessage({ MessageType::REQUEST_TOTAL })); + } + std::vector<uint8_t> Controller::constructMessage(SysEx msg) { const uint8_t start[] = {0xf0, 0x00, 0x20, 0x33, 0x01, static_cast<uint8_t>(m_deviceId)}; diff --git a/source/jucePlugin/VirusController.h b/source/jucePlugin/VirusController.h @@ -45,7 +45,8 @@ namespace Virus uint32_t getBankCount() const { return static_cast<uint32_t>(m_singles.size()); } void parseMessage(const SysEx &); void sendSysEx(const SysEx &); - private: + void onStateLoaded(); + private: void timerCallback() override; static constexpr size_t kDataSizeInBytes = 256; // same for multi and single