Skip to content

Commit 5526960

Browse files
committed
Danger for Send 2 to 1
1 parent 87aeb30 commit 5526960

File tree

10 files changed

+712
-54
lines changed

10 files changed

+712
-54
lines changed

Plateau2/Plateau2.cpp

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ Plateau2::Plateau2(const InstanceInfo& info)
9595
PageBackgroundControl = new ISVGControl(pGraphics->GetBounds(), PageBackgrounds[0]);
9696
pGraphics->AttachControl(PageBackgroundControl);
9797

98+
SVGs[3] = new ISVGControl(IRECT::MakeMidXYWH(157.5f, 471.9415f, 192.880f, 190.783), pGraphics->LoadSVG(DANGERPANEL_FN));
99+
pGraphics->AttachControl(SVGs[3]);
100+
SVGs[3]->Hide(true);
101+
98102
pGraphics->LoadFont("Roboto-Regular", ROBOTO_FN);
99103
const ISVG NeedleSVG = pGraphics->LoadSVG(NEEDLE_FN);
100104
const ISVG NeedleBGSVG = pGraphics->LoadSVG(NEEDLEBG_FN);
@@ -124,16 +128,15 @@ Plateau2::Plateau2(const InstanceInfo& info)
124128
Knobs[13]->StartAngle = -72.6923f;
125129
Knobs[13]->EndAngle = 72.6923f;
126130

127-
Knobs[14] = new NeedleKnob(IRECT::MakeXYWH(93, 160, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kInput1, kInput2);
128-
Knobs[15] = new NeedleKnob(IRECT::MakeXYWH(166, 160, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kStereoSource1, kStereoSource2);
131+
Knobs[14] = new NeedleKnob(IRECT::MakeXYWH(93, 170, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kInput1, kInput2);
132+
Knobs[15] = new NeedleKnob(IRECT::MakeXYWH(166, 170, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kStereoSource1, kStereoSource2);
129133

130-
Knobs[16] = new NeedleKnob(IRECT::MakeXYWH(93, 250, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kWidth1, kWidth2);
131-
Knobs[17] = new NeedleKnob(IRECT::MakeXYWH(166, 250, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kPan1, kPan2);
134+
Knobs[16] = new NeedleKnob(IRECT::MakeXYWH(93, 294, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kWidth1, kWidth2);
135+
Knobs[17] = new NeedleKnob(IRECT::MakeXYWH(166, 294, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, kPan1, kPan2);
132136

133-
Knobs[18] = new NeedleKnob(IRECT::MakeXYWH(93, 340, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG1PNG, k1to2Level, k1to2Level);
134-
Knobs[19] = new NeedleKnob(IRECT::MakeXYWH(166, 340, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG2PNG, NeedleFG2PNG, k2to1Level, k2to1Level);
137+
Knobs[18] = new NeedleKnob(IRECT::MakeXYWH(130, 454, 56, 56), NeedleSVG, NeedleBGSVG, NeedleFG1PNG, NeedleFG2PNG, k1to2Level, k2to1Level);
135138

136-
for (int i = 12; i <= 19; i++) {
139+
for (int i = 12; i <= 18; i++) {
137140
pGraphics->AttachControl(Knobs[i]);
138141
Knobs[i]->Hide(true);
139142
}
@@ -189,14 +192,21 @@ Plateau2::Plateau2(const InstanceInfo& info)
189192
Switches[6] = new LEDSwitch(IRECT::MakeXYWH(102, 301, 112, 112), 1, DangerOffSVG, DangerOnSVG, DangerOnSVG, kDanger, kDanger);
190193

191194
//Routing page Switches
192-
Switches[7] = new LEDSwitch(IRECT::MakeXYWH(106.5 - 20, 430, 102, 102), LEDScale, LedOffSVG, LedOn1SVG, LedOn1SVG, k1to2, k1to2);
193-
Switches[8] = new LEDSwitch(IRECT::MakeXYWH(106.5 + 20, 430, 102, 102), LEDScale, LedOffSVG, LedOn2SVG, LedOn2SVG, k2to1, k2to1);
195+
Switches[7] = new LEDSwitch(IRECT::MakeXYWH(106.5, 374, 102, 102), LEDScale, LedOffSVG, LedOn1SVG, LedOn2SVG, k1to2, k2to1);
194196

195-
for (int i = 5; i <= 8; i++) {
197+
for (int i = 5; i <= 7; i++) {
196198
pGraphics->AttachControl(Switches[i]);
197199
Switches[i]->Hide(true);
198200
}
199201

202+
SVGs[0] = new ISVGControl(IRECT::MakeMidXYWH(157.5f, 395, 86.109f, 14.207f), pGraphics->LoadSVG(SEND1TO2_FN));
203+
SVGs[1] = new ISVGControl(IRECT::MakeMidXYWH(157.5f, 395, 89.227f, 17.208f), pGraphics->LoadSVG(SEND2TO1_FN));
204+
SVGs[2] = new ISVGControl(IRECT::MakeMidXYWH(157.5f, 480, 162.106f, 45.576f), pGraphics->LoadSVG(REQUIRESDANGER_FN));
205+
206+
for (int i = 0; i <= 2; i++) {
207+
pGraphics->AttachControl(SVGs[i]);
208+
SVGs[i]->Hide(true);
209+
}
200210

201211

202212
LEDRadio* tank1Select = new LEDRadio(IRECT::MakeXYWH(106.5 - 20, 40, 102, 102), LEDScale, LedOffSVG, LedOn1SVG, [this](IControl* radioControl) {SelectTank(false);});
@@ -228,6 +238,9 @@ void Plateau2::SelectTank(bool tank2) {
228238
for (int i = 0; i < kNumButtons; i++) {
229239
Buttons[i]->SelectTank(tank2);
230240
}
241+
242+
UpdateSendVisibility();
243+
231244
IEditorDelegate::SendCurrentParamValuesFromDelegate();
232245
}
233246

@@ -268,12 +281,24 @@ void Plateau2::UpdatePageVisibility()
268281
}
269282

270283
//Routing page
271-
for (int i = 14; i <= 19; i++) {
284+
for (int i = 14; i <= 17; i++) {
272285
Knobs[i]->Hide(currentPage != 2);
273286
}
274-
for (int i = 7; i <= 8; i++) {
275-
Switches[i]->Hide(currentPage != 2);
276-
}
287+
UpdateSendVisibility();
288+
}
289+
290+
void Plateau2::UpdateSendVisibility() {
291+
for (int i = 7; i <= 7; i++) {
292+
Switches[i]->Hide(currentPage != 2);
293+
}
294+
bool dangerous = GetParam(kDanger)->Value();
295+
for (int i = 18; i <= 18; i++) {
296+
Knobs[i]->Hide(currentPage != 2 || (!dangerous && tank2Selected));
297+
}
298+
SVGs[0]->Hide(currentPage != 2 || tank2Selected);
299+
SVGs[1]->Hide(currentPage != 2 || !tank2Selected);
300+
SVGs[2]->Hide(currentPage != 2 || !tank2Selected || dangerous);
301+
SVGs[3]->Hide(currentPage != 2 || !tank2Selected);
277302
}
278303

279304

@@ -464,6 +489,7 @@ void Plateau2::OnParamChange(int index)
464489
if (initalizedInterface) {
465490
Knobs[13]->SetValue((tank2Selected ? GetParam(kDiffusionDecay2)->Value() : GetParam(kDiffusionDecay1)->Value()) / 100);
466491
Knobs[13]->SetDirty(false);
492+
UpdateSendVisibility();
467493
}
468494
break;
469495
}
@@ -493,7 +519,7 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
493519
const double wet1Param = GetParam(kWet1)->Value() / 100;
494520
const double input1 = GetParam(kInput1)->Value() / 100;
495521
const double level2to1 = GetParam(k2to1Level)->Value() / 100;
496-
const bool send2to1 = tank2Enabled && GetParam(k2to1)->Value();
522+
const bool send2to1 = tank2Enabled && GetParam(k2to1)->Value() && GetParam(kDanger)->Value();
497523

498524
if (clear1Param && !clear1 && cleared1) {
499525
cleared1 = false;

Plateau2/Plateau2.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,11 @@ enum EParams
7878
kNumParams
7979
};
8080

81-
const int kNumKnobs = 20;
82-
const int kNumSwitches = 9;
81+
const int kNumKnobs = 19;
82+
const int kNumSwitches = 8;
8383
const int kNumButtons = 2;
8484
const int kNumPages = 3;
85+
const int kNumSVGs = 4;
8586

8687
using namespace iplug;
8788
using namespace igraphics;
@@ -98,6 +99,7 @@ class Plateau2 final : public Plugin
9899
void ProcessBlock(sample** inputs, sample** outputs, int nFrames) override;
99100
void ChangePage(int direction, const ISVG PageBackgrounds[kNumPages], const ISVG NextButtons[kNumPages], const ISVG PreviousButtons[kNumPages]);
100101
void UpdatePageVisibility();
102+
void UpdateSendVisibility();
101103
void OnParamChange(int index) override;
102104
void SelectTank(bool tank2);
103105
#endif
@@ -129,6 +131,7 @@ class Plateau2 final : public Plugin
129131
NeedleKnob* Knobs[kNumKnobs];
130132
LEDSwitch* Switches[kNumSwitches];
131133
LEDButton* Buttons[kNumButtons];
134+
ISVGControl* SVGs[kNumSVGs];
132135

133136

134137
int currentPage = 0;

Plateau2/config.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,13 @@
7575
#define NEEDLEBG_FN "NeedleDial-bg.svg"
7676
#define NEEDLEFG1_FN "NeedleDialFG1.png"
7777
#define NEEDLEFG2_FN "NeedleDialFG2.png"
78-
//#define LED_FN "LEDButton.png"
7978
#define LEDOFF_FN "LEDButtonOff.svg"
8079
#define LEDON1_FN "LEDButtonOn1.svg"
8180
#define LEDON2_FN "LEDButtonOn2.svg"
8281
#define LEDONBOTH_FN "LEDButtonGradient.svg"
8382
#define DANGEROFF_FN "DangerOff.svg"
8483
#define DANGERON_FN "DangerOn.svg"
84+
#define SEND1TO2_FN "Send1To2.svg"
85+
#define SEND2TO1_FN "Send2To1.svg"
86+
#define REQUIRESDANGER_FN "RequiresDanger.svg"
87+
#define DANGERPANEL_FN "DangerPanel.svg"
Lines changed: 86 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)