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:
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({});
}