commit 6f9fbdca74107e50c0bcb5356b505e832aac0946
parent e908e0ce5854522912000e010ced17c9bb0cb1a3
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Sun, 24 Nov 2024 03:47:29 +0100
toggle vm map via shift key
Diffstat:
5 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/source/nord/n2x/n2xJucePlugin/CMakeLists.txt b/source/nord/n2x/n2xJucePlugin/CMakeLists.txt
@@ -19,6 +19,7 @@ set(SOURCES
n2xPatchManager.cpp n2xPatchManager.h
n2xPluginEditorState.cpp n2xPluginEditorState.h
n2xPluginProcessor.cpp n2xPluginProcessor.h
+ n2xSlider.cpp n2xSlider.h
n2xVmMap.cpp n2xVmMap.h
parameterDescriptions_n2x.json
skins/n2xTrancy/n2xTrancy.json
diff --git a/source/nord/n2x/n2xJucePlugin/n2xEditor.cpp b/source/nord/n2x/n2xJucePlugin/n2xEditor.cpp
@@ -12,6 +12,7 @@
#include "n2xParts.h"
#include "n2xPatchManager.h"
#include "n2xPluginProcessor.h"
+#include "n2xSlider.h"
#include "n2xVmMap.h"
#include "jucePluginEditorLib/midiPorts.h"
@@ -185,6 +186,18 @@ namespace n2xJucePlugin
m_lcd->updatePatchName();
}
+ genericUI::Slider* Editor::createJuceComponent(genericUI::Slider* _slider, genericUI::UiObject& _object)
+ {
+ return new Slider(*this);
+ }
+
+ void Editor::modifierKeysChanged(const juce::ModifierKeys& modifiers)
+ {
+ jucePluginEditorLib::Editor::modifierKeysChanged(modifiers);
+
+ m_vmMap->setEnabled(modifiers.isShiftDown());
+ }
+
void Editor::mouseEnter(const juce::MouseEvent& _ev)
{
m_focusedParameter->onMouseEnter(_ev);
diff --git a/source/nord/n2x/n2xJucePlugin/n2xEditor.h b/source/nord/n2x/n2xJucePlugin/n2xEditor.h
@@ -56,7 +56,7 @@ namespace n2xJucePlugin
Lcd& getLCD() const
{
assert(m_lcd);
- return *m_lcd.get();
+ return *m_lcd;
}
FocusedParameter& getFocusedParameter() const
@@ -65,6 +65,16 @@ namespace n2xJucePlugin
return *m_focusedParameter;
}
+ VmMap& getVmMap() const
+ {
+ assert(m_vmMap);
+ return *m_vmMap;
+ }
+
+ genericUI::Slider* createJuceComponent(genericUI::Slider*, genericUI::UiObject& _object) override;
+
+ void modifierKeysChanged(const juce::ModifierKeys& modifiers) override;
+
private:
void mouseEnter(const juce::MouseEvent& _ev) override;
void onBtSave() const;
diff --git a/source/nord/n2x/n2xJucePlugin/n2xSlider.cpp b/source/nord/n2x/n2xJucePlugin/n2xSlider.cpp
@@ -0,0 +1,16 @@
+#include "n2xSlider.h"
+
+#include "n2xEditor.h"
+#include "n2xVmMap.h"
+
+namespace n2xJucePlugin
+{
+ Slider::Slider(Editor& _editor) : genericUI::Slider(), m_editor(_editor)
+ {
+ }
+
+ void Slider::modifierKeysChanged(const juce::ModifierKeys& _modifiers)
+ {
+ m_editor.getVmMap().setEnabled(_modifiers.isShiftDown());
+ }
+}
diff --git a/source/nord/n2x/n2xJucePlugin/n2xSlider.h b/source/nord/n2x/n2xJucePlugin/n2xSlider.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "juceUiLib/slider.h"
+
+namespace genericUI
+{
+ class UiObject;
+}
+
+namespace n2xJucePlugin
+{
+ class Editor;
+
+ class Slider : public genericUI::Slider
+ {
+ public:
+ Slider(Editor& _editor);
+
+ void modifierKeysChanged(const juce::ModifierKeys& _modifiers) override;
+
+ private:
+ Editor& m_editor;
+ };
+}