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 f12e103a0ed637ee41523b1bccc39cc238187e43
parent d5731f76a9d2c5d1986566be1e27b08f7d5013f9
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Tue, 27 Aug 2024 21:40:25 +0200

fix crash when storing performance via "Store" button while slot A is selected

Diffstat:
Mdoc/changelog.txt | 1+
Msource/jucePluginEditorLib/patchmanager/patchmanager.h | 4++--
Msource/nord/n2x/n2xJucePlugin/n2xEditor.cpp | 2+-
Msource/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp | 6+++---
4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/doc/changelog.txt b/doc/changelog.txt @@ -13,6 +13,7 @@ NodalRed2x: - [Fix] Negative VM MAP values were displayed as maximum positive values after loading a patch or DAW state - [Fix] Performances saved via "Store" button couldn't be loaded +- [Fix] Crash when storing a performance via "Store" button while slot A is selected 1.3.19 diff --git a/source/jucePluginEditorLib/patchmanager/patchmanager.h b/source/jucePluginEditorLib/patchmanager/patchmanager.h @@ -93,9 +93,9 @@ namespace jucePluginEditorLib::patchManager void copyPatchesToLocalStorage(const pluginLib::patchDB::DataSourceNodePtr& _ds, const std::vector<pluginLib::patchDB::PatchPtr>& _patches, int _part); uint32_t createSaveMenuEntries(juce::PopupMenu& _menu, uint32_t _part, const std::string& _name = "patch", uint64_t _userData = 0); - uint32_t createSaveMenuEntries(juce::PopupMenu& _menu, const std::string& _name = "patch") + uint32_t createSaveMenuEntries(juce::PopupMenu& _menu, const std::string& _name = "patch", uint64_t _userData = 0) { - return createSaveMenuEntries(_menu, getCurrentPart(), _name); + return createSaveMenuEntries(_menu, getCurrentPart(), _name, _userData); } std::string getTagTypeName(pluginLib::patchDB::TagType _type) const; diff --git a/source/nord/n2x/n2xJucePlugin/n2xEditor.cpp b/source/nord/n2x/n2xJucePlugin/n2xEditor.cpp @@ -201,7 +201,7 @@ namespace n2xJucePlugin if(getPatchManager()->createSaveMenuEntries(menu, "Program")) menu.addSeparator(); - getPatchManager()->createSaveMenuEntries(menu, m_controller.getPartCount(), "Performance"); + getPatchManager()->createSaveMenuEntries(menu, "Performance", 1); menu.showMenuAsync({}); } diff --git a/source/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp b/source/nord/n2x/n2xJucePlugin/n2xPatchManager.cpp @@ -35,10 +35,10 @@ namespace n2xJucePlugin bool PatchManager::requestPatchForPart(pluginLib::patchDB::Data& _data, const uint32_t _part, const uint64_t _userData) { - if(_part < m_controller.getPartCount()) - _data = m_controller.createSingleDump(n2x::SysexByte::SingleDumpBankA, 0, static_cast<uint8_t>(_part)); - else + if(_userData) _data = m_controller.createMultiDump(n2x::SysexByte::MultiDumpBankA, 0); + else + _data = m_controller.createSingleDump(n2x::SysexByte::SingleDumpBankA, 0, static_cast<uint8_t>(_part)); return !_data.empty(); }