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 ddce56ac3430fcdcfe9c637805f08910738c6112
parent 297fb5c9b136b9da314f31cd2906a2cc209100e6
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Fri,  2 Aug 2024 17:21:37 +0200

support setting midi channel to off

Diffstat:
Msource/nord/n2x/n2xJucePlugin/n2xPart.cpp | 26+++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/source/nord/n2x/n2xJucePlugin/n2xPart.cpp b/source/nord/n2x/n2xJucePlugin/n2xPart.cpp @@ -24,21 +24,29 @@ namespace n2xJucePlugin juce::PopupMenu menu; - juce::PopupMenu menuChannel; - auto& controller = m_editor.getN2xController(); - const auto paramMidiChannel = static_cast<n2x::MultiParam>(n2x::MultiParam::SlotAMidiChannel + getPart()); - const auto ch = controller.getMultiParameter(paramMidiChannel); - for(uint8_t c=0; c<16; ++c) { - menuChannel.addItem((std::string("Channel ") + std::to_string(c+1)).c_str(), true, c == ch, [&controller, c, paramMidiChannel] + juce::PopupMenu menuChannel; + + const auto paramMidiChannel = static_cast<n2x::MultiParam>(n2x::MultiParam::SlotAMidiChannel + getPart()); + const auto ch = controller.getMultiParameter(paramMidiChannel); + for(uint8_t c=0; c<16; ++c) + { + menuChannel.addItem((std::string("Channel ") + std::to_string(c+1)).c_str(), true, c == ch, [&controller, c, paramMidiChannel] + { + controller.setMultiParameter(paramMidiChannel, c); + }); + } + + menuChannel.addSeparator(); + menuChannel.addItem("Off", true, ch == 16, [&controller, paramMidiChannel] { - controller.setMultiParameter(paramMidiChannel, c); + controller.setMultiParameter(paramMidiChannel, 16); }); - } - menu.addSubMenu("Midi Channel", menuChannel); + menu.addSubMenu("Midi Channel", menuChannel); + } menu.showMenuAsync({}); }