From 5ccbcd72184458d231300e8636953a4c8db9314e Mon Sep 17 00:00:00 2001 From: Roland Rabien Date: Thu, 31 Aug 2023 21:02:23 -0700 Subject: [PATCH] tweaks --- modules/gin | 2 +- plugin/Resources/layout.json | 2 +- plugin/Source/Editor.h | 1 - plugin/Source/Panels.h | 4 ++-- plugin/Source/PluginEditor.cpp | 9 +++++++++ plugin/Source/PluginEditor.h | 1 + plugin/Source/PluginProcessor.cpp | 20 +++++++++----------- 7 files changed, 23 insertions(+), 16 deletions(-) diff --git a/modules/gin b/modules/gin index 1685be0..8dd1b3d 160000 --- a/modules/gin +++ b/modules/gin @@ -1 +1 @@ -Subproject commit 1685be0cececd415a8c8d485efe18f9121b16ced +Subproject commit 8dd1b3db2ab0079d41c635370920d3783b2d253c diff --git a/plugin/Resources/layout.json b/plugin/Resources/layout.json index ea5caab..b72cb83 100644 --- a/plugin/Resources/layout.json +++ b/plugin/Resources/layout.json @@ -11,7 +11,7 @@ }, { "id": "sub", "x": "prevR()+1", "y": "prevY()", "w": 112, "h": 163, "children": [ - { "id": "Wave", "x": "56", "y": 23, "w": 56, "h": 70 }, + { "id": "Wave", "x": 0, "y": 23, "w": 56, "h": 70 }, { "id": "Tune", "x": "prevR()", "y": 23, "w": 56, "h": 70 }, { "id": "Level", "x": 0, "y": "prevB()", "w": 56, "h": 70 }, { "id": "Pan", "x": "prevR()", "y": "prevY()", "w": 56, "h": 70 } diff --git a/plugin/Source/Editor.h b/plugin/Source/Editor.h index f15df64..dc5775c 100644 --- a/plugin/Source/Editor.h +++ b/plugin/Source/Editor.h @@ -14,7 +14,6 @@ public: void resized() override; private: - WavetableAudioProcessor& proc; OscillatorBox oscillators[Cfg::numOSCs] { { "oscillator 1", proc, 0 }, { "oscillator 2", proc, 1 } }; diff --git a/plugin/Source/Panels.h b/plugin/Source/Panels.h index f89c9a5..ba15501 100644 --- a/plugin/Source/Panels.h +++ b/plugin/Source/Panels.h @@ -438,8 +438,8 @@ public: addControl (new gin::Knob (proc.globalParams.glideRate), 2, 0); addControl (new gin::Knob (proc.globalParams.voices), 0, 1); - addControl (new gin::Select (proc.globalParams.legato), 1, 1); - addControl (new gin::Select (proc.globalParams.mono), 2, 1); + addControl (new gin::Switch (proc.globalParams.legato), 1, 1); + addControl (new gin::Switch (proc.globalParams.mono), 2, 1); setSize (168, 163); } diff --git a/plugin/Source/PluginEditor.cpp b/plugin/Source/PluginEditor.cpp index 2677275..bc0967b 100644 --- a/plugin/Source/PluginEditor.cpp +++ b/plugin/Source/PluginEditor.cpp @@ -60,3 +60,12 @@ void WavetableAudioProcessorEditor::resized() editor.setBounds (rc); patchBrowser.setBounds (rc); } + +void WavetableAudioProcessorEditor::addMenuItems (juce::PopupMenu& m) +{ + m.addSeparator(); + m.addItem ("MPE", true, vaProc.globalParams.mpe->getUserValueBool(), [this] + { + vaProc.globalParams.mpe->setUserValue (vaProc.globalParams.mpe->getUserValueBool() ? 0.0f : 1.0f); + }); +} diff --git a/plugin/Source/PluginEditor.h b/plugin/Source/PluginEditor.h index b39cdc9..f6d8541 100644 --- a/plugin/Source/PluginEditor.h +++ b/plugin/Source/PluginEditor.h @@ -15,6 +15,7 @@ public: //============================================================================== void paint (juce::Graphics&) override; void resized() override; + void addMenuItems (juce::PopupMenu& m) override; void showAboutInfo() override; diff --git a/plugin/Source/PluginProcessor.cpp b/plugin/Source/PluginProcessor.cpp index aafb31c..8309eff 100644 --- a/plugin/Source/PluginProcessor.cpp +++ b/plugin/Source/PluginProcessor.cpp @@ -605,15 +605,6 @@ void WavetableAudioProcessor::setupModMatrix() modSrcNote = modMatrix.addPolyModSource ("note", "MIDI Note Number", false); modSrcVelocity = modMatrix.addPolyModSource ("vel", "MIDI Velocity", false); - for (int i = 0; i <= 119; i++) - { - juce::String name = juce::MidiMessage::getControllerName (i); - if (name.isEmpty()) - modSrcCC.add (modMatrix.addMonoModSource (juce::String::formatted ("cc%d", i), juce::String::formatted ("CC %d", i), false)); - else - modSrcCC.add (modMatrix.addMonoModSource (juce::String::formatted ("cc%d", i), juce::String::formatted ("CC %d ", i) + name, false)); - } - for (int i = 0; i < Cfg::numLFOs; i++) modSrcMonoLFO.add (modMatrix.addMonoModSource (juce::String::formatted ("mlfo%d", i + 1), juce::String::formatted ("LFO %d (Mono)", i + 1), true)); @@ -627,6 +618,15 @@ void WavetableAudioProcessor::setupModMatrix() for (int i = 0; i < Cfg::numENVs; i++) modSrcEnv.add (modMatrix.addPolyModSource (juce::String::formatted ("env%d", i + 1), juce::String::formatted ("Envelope %d", i + 1), false)); + for (int i = 0; i <= 119; i++) + { + juce::String name = juce::MidiMessage::getControllerName (i); + if (name.isEmpty()) + modSrcCC.add (modMatrix.addMonoModSource (juce::String::formatted ("cc%d", i), juce::String::formatted ("CC %d", i), false)); + else + modSrcCC.add (modMatrix.addMonoModSource (juce::String::formatted ("cc%d", i), juce::String::formatted ("CC %d ", i) + name, false)); + } + auto firstMonoParam = globalParams.mono; bool polyParam = true; for (auto pp : getPluginParameters()) @@ -635,9 +635,7 @@ void WavetableAudioProcessor::setupModMatrix() polyParam = false; if (! pp->isInternal()) - { modMatrix.addParameter (pp, polyParam); - } } modMatrix.build();