All UI exists

This commit is contained in:
Roland Rabien 2023-08-26 13:01:59 -07:00
commit dd3ba968ca
5 changed files with 48 additions and 5 deletions

@ -1 +1 @@
Subproject commit f3252033e5e408357e0075ed8730755e0e7b725d
Subproject commit a5f117c0c12ad1e1ed52312debb1bd9d6dd503fe

View file

@ -9,11 +9,13 @@
{ "id": "lfo[1..3]", "x": 0, "y": "prevB()+1,prevY()", "w": 340, "h": 163 },
{ "id": "env[1..3]", "x": "getR('lfo1')+1", "y": "prevY()", "w": 240, "h": 163 },
{ "id": "step", "x": "prevR()+1", "y": "prevY()", "w": 240, "h": 163 },
{ "id": "mod", "x": "prevR()+1", "y": "prevY()", "w": 240, "h": 163 },
{ "id": "gate", "x": "0", "y": "prevB()+1", "w": 240, "h": 163 },
{ "id": "reverb", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "delay", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "distort", "x": "prevR()+1", "y": "prevY()", "w": 100, "h": 163 },
{ "id": "chorus", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "distort", "x": "prevR()+1", "y": "prevY()", "w": 100, "h": 163 },
{ "id": "delay", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "reverb", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "global", "x": "prevR()+1", "y": "prevY()", "w": 175, "h": 163 },
{ "id": "scope", "x": 0, "y": "prevB()+1", "w": "parW()-2", "b": "parH()-1" }
]
}

View file

@ -12,6 +12,8 @@ Editor::Editor (WavetableAudioProcessor& proc_)
addAndMakeVisible (adsr);
addAndMakeVisible (filter);
addAndMakeVisible (step);
addAndMakeVisible (mod);
addAndMakeVisible (global);
addAndMakeVisible (gate);
addAndMakeVisible (chorus);
addAndMakeVisible (distort);

View file

@ -27,6 +27,8 @@ private:
LFOBox lfos[Cfg::numLFOs] { { "LFO 1", proc, 0 }, { "LFO 2", proc, 1 }, { "LFO 3", proc, 2 } };
ENVBox envs[Cfg::numENVs] { { "ENV 1", proc, 0 }, { "ENV 2", proc, 1 }, { "ENV 3", proc, 2 } };
StepBox step { "step", proc };
ModBox mod { "mod", proc };
GlobalBox global { "global", proc };
GateBox gate { proc };
ChorusBox chorus { proc };

View file

@ -367,7 +367,44 @@ public:
}
WavetableAudioProcessor& proc;
int idx;
};
//==============================================================================
class ModBox : public gin::ParamBox
{
public:
ModBox (const juce::String& name, WavetableAudioProcessor& proc_)
: gin::ParamBox (name), proc (proc_)
{
setName ("mod");
addControl (new gin::ModSrcListBox (proc.modMatrix), 0, 0, 3, 2);
}
WavetableAudioProcessor& proc;
};
//==============================================================================
class GlobalBox : public gin::ParamBox
{
public:
GlobalBox (const juce::String& name, WavetableAudioProcessor& proc_)
: gin::ParamBox (name), proc (proc_)
{
setName ("global");
addControl (new gin::Knob (proc.globalParams.level), 0, 0);
addControl (new gin::Select (proc.globalParams.glideMode), 1, 0);
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);
setSize (168, 163);
}
WavetableAudioProcessor& proc;
};
//==============================================================================