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:
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