Added mod matrix

This commit is contained in:
Roland Rabien 2023-09-08 17:11:50 -07:00
commit 4421c1e9b9
7 changed files with 31 additions and 3 deletions

@ -1 +1 @@
Subproject commit 10c188347a176c78a626be3a6cd19c03b82fa02c
Subproject commit 636ac6050cc20b6e33b0814e170651b913db2e18

View file

@ -75,7 +75,13 @@
{ "id": "mod", "x": "prevR()+1", "y": "prevY()", "r": "parW()", "h": 163, "children":
[
{ "id": "modlist", "x": 0, "y": 23, "r": "parW()", "b": "parH()" }
] },
]
},
{ "id": "mtx", "x": "prevX()", "y": "prevY()", "r": "parR()", "h": 163, "children":
[
{ "id": "matrix", "x": 0, "y": 23, "r": "parW()", "b": "parH()" }
]
},
{ "id": "gate", "x": "0", "y": "prevB()+1", "w": 290, "h": 137, "children":
[
{ "id": "Beat", "x": 61, "y": 30, "w": 42, "h": 57 },

View file

@ -13,6 +13,7 @@ Editor::Editor (WavetableAudioProcessor& proc_)
addAndMakeVisible (filter);
addAndMakeVisible (step);
addAndMakeVisible (mod);
addAndMakeVisible (mtx);
addAndMakeVisible (global);
addAndMakeVisible (gate);
addAndMakeVisible (chorus);

View file

@ -27,6 +27,7 @@ private:
ENVBox envs[Cfg::numENVs] { { "ENV 1", proc, 0 }, { "ENV 2", proc, 1 }, { "ENV 3", proc, 2 } };
StepBox step { "step", proc };
ModBox mod { "mod", proc };
MatrixBox mtx { "mtx", proc };
GlobalBox global { "global", proc };
GateBox gate { proc };

View file

@ -417,6 +417,8 @@ public:
: gin::ParamBox (name), proc (proc_)
{
setName ("mod");
addHeader ({"SRC", "MTX"}, 0, proc.uiParams.activeMOD);
addControl (new gin::ModSrcListBox (proc.modMatrix), 0, 0, 3, 2);
}
@ -424,6 +426,23 @@ public:
WavetableAudioProcessor& proc;
};
//==============================================================================
class MatrixBox : public gin::ParamBox
{
public:
MatrixBox (const juce::String& name, WavetableAudioProcessor& proc_)
: gin::ParamBox (name), proc (proc_)
{
setName ("mtx");
addHeader ({"SRC", "MTX"}, 1, proc.uiParams.activeMOD);
addControl (new gin::ModMatrixBox (proc, proc.modMatrix), 0, 0, 3, 2);
}
WavetableAudioProcessor& proc;
};
//==============================================================================
class GlobalBox : public gin::ParamBox
{

View file

@ -294,6 +294,7 @@ void WavetableAudioProcessor::UIParams::setup (WavetableAudioProcessor& p)
{
activeLFO = p.addIntParam ("uiLFO", "LFO", "", "", { 0.0, 2.0, 0.0, 1.0 }, 0.0, 0.0f);
activeENV = p.addIntParam ("uiENV", "ENV", "", "", { 0.0, 2.0, 0.0, 1.0 }, 0.0f, 0.0f);
activeMOD = p.addIntParam ("uiMOD", "MOD", "", "", { 0.0, 1.0, 0.0, 1.0 }, 0.0f, 0.0f);
}
//==============================================================================

View file

@ -155,7 +155,7 @@ public:
{
UIParams() = default;
gin::Parameter::Ptr activeLFO, activeENV;
gin::Parameter::Ptr activeLFO, activeENV, activeMOD;
void setup (WavetableAudioProcessor& p);