This commit is contained in:
Roland Rabien 2023-08-31 21:02:23 -07:00
commit 5ccbcd7218
7 changed files with 23 additions and 16 deletions

View file

@ -14,7 +14,6 @@ public:
void resized() override;
private:
WavetableAudioProcessor& proc;
OscillatorBox oscillators[Cfg::numOSCs] { { "oscillator 1", proc, 0 }, { "oscillator 2", proc, 1 } };

View file

@ -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);
}

View file

@ -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);
});
}

View file

@ -15,6 +15,7 @@ public:
//==============================================================================
void paint (juce::Graphics&) override;
void resized() override;
void addMenuItems (juce::PopupMenu& m) override;
void showAboutInfo() override;

View file

@ -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();