//==============================================================================
This is part of MainComponent.h
class PanelUp8 : public Component
{
public:
PanelUp8()
{
//delay
addAndMakeVisible(s_delay);
s_delay.setLookAndFeel(&otherLookAndFeel5);
s_delay.setSliderStyle(Slider::Rotary);
s_delay.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_delay.setRange(0.0, 127.0, 1.0);
s_delay.setRotaryParameters(3.1415926, 9.4247778, true);
//
addAndMakeVisible(l_delay);
l_delay.setFont(labelFaderLayerFont);
l_delay.setText("DELAY", dontSendNotification);
l_delay.setJustificationType(Justification::Flags::horizontallyCentred);
l_delay.attachToComponent(&s_delay, false);
//pan
addAndMakeVisible(s_pan);
s_pan.setLookAndFeel(&otherLookAndFeel5);
s_pan.setSliderStyle(Slider::Rotary);
s_pan.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_pan.setRange(0.0, 74.0, 1.0);
s_pan.setRotaryParameters(3.1415926, 9.4247778, true);
//
addAndMakeVisible(l_pan);
l_pan.setFont(labelFaderLayerFont);
l_pan.setText("PAN", dontSendNotification);
l_pan.setJustificationType(Justification::Flags::horizontallyCentred);
l_pan.attachToComponent(&s_pan, false);
//
addAndMakeVisible(lr);
lr.setButtonText("LR");
//
addAndMakeVisible(mono);
mono.setButtonText("MONO");
}
~PanelUp8()
{
s_delay.setLookAndFeel(nullptr);
s_pan.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight() / 5.0f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
//
FlexItem::Margin m(height, 0.0f, 0.0f, 0.0f);
//
fb.items.addArray(
{ FlexItem(s_delay).withWidth(50.0f).withHeight(50.0f).withMargin(m),
FlexItem(s_pan).withWidth(50.0f).withHeight(50.0f),
FlexItem(lr).withWidth(40.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center),
FlexItem(mono).withWidth(40.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center )});
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_delay;
Slider s_delay;
Label l_pan;
Slider s_pan;
TextButton lr;
TextButton mono;
OtherLookAndFeel5 otherLookAndFeel5;
};
//==============================================================================
class PanelUp7 : public Component
{
public:
PanelUp7()
{
//attack
addAndMakeVisible(s_q1);
s_q1.setLookAndFeel(&otherLookAndFeel4);
s_q1.setSliderStyle(Slider::Rotary);
s_q1.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_q1.setRotaryParameters(3.1415926, 9.4247778, true);
s_q1.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_q1);
l_q1.setFont(labelFaderLayerFont);
l_q1.setText("Q", dontSendNotification);
l_q1.setJustificationType(Justification::Flags::horizontallyCentred);
l_q1.attachToComponent(&s_q1, false);
//release
addAndMakeVisible(s_q2);
s_q2.setLookAndFeel(&otherLookAndFeel4);
s_q2.setSliderStyle(Slider::Rotary);
s_q2.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_q2.setRotaryParameters(3.1415926, 9.4247778, true);
s_q2.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_q2);
l_q2.setFont(labelFaderLayerFont);
l_q2.setText("Q", dontSendNotification);
l_q2.setJustificationType(Justification::Flags::horizontallyCentred);
l_q2.attachToComponent(&s_q2, false);
//gain
addAndMakeVisible(s_q3);
s_q3.setLookAndFeel(&otherLookAndFeel4);
s_q3.setSliderStyle(Slider::Rotary);
s_q3.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_q3.setRotaryParameters(3.1415926, 9.4247778, true);
s_q3.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_q3);
l_q3.setFont(labelFaderLayerFont);
l_q3.setText("Q", dontSendNotification);
l_q3.setJustificationType(Justification::Flags::horizontallyCentred);
l_q3.attachToComponent(&s_q3, false);
//threshold
addAndMakeVisible(s_q4);
s_q4.setLookAndFeel(&otherLookAndFeel4);
s_q4.setSliderStyle(Slider::Rotary);
s_q4.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_q4.setRotaryParameters(3.1415926, 9.4247778, true);
s_q4.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_q4);
l_q4.setFont(labelFaderLayerFont);
l_q4.setText("Q", dontSendNotification);
l_q4.setJustificationType(Justification::Flags::horizontallyCentred);
l_q4.attachToComponent(&s_q4, false);
}
~PanelUp7()
{
s_q1.setLookAndFeel(nullptr);
s_q2.setLookAndFeel(nullptr);
s_q3.setLookAndFeel(nullptr);
s_q4.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight() / 7.0f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
//
FlexItem::Margin m(0.0f, 0.0f, height, 0.0f);
//
fb.items.addArray(
{ FlexItem(s_q1).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_q2).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_q3).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_q4).withWidth(50.0f).withHeight(50.0f).withMargin(m) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_q1;
Slider s_q1;
Label l_q2;
Slider s_q2;
Label l_q3;
Slider s_q3;
Label l_q4;
Slider s_q4;
OtherLookAndFeel4 otherLookAndFeel4;
};
//==============================================================================
//==============================================================================
class PanelUp6 : public Component
{
public:
PanelUp6()
{
//attack
addAndMakeVisible(s_freq1);
s_freq1.setLookAndFeel(&otherLookAndFeel);
s_freq1.setSliderStyle(Slider::Rotary);
s_freq1.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_freq1.setRotaryParameters(3.1415926, 9.4247778, true);
s_freq1.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_freq1);
l_freq1.setFont(labelFaderLayerFont);
l_freq1.setText("FREQ", dontSendNotification);
l_freq1.setJustificationType(Justification::Flags::horizontallyCentred);
l_freq1.attachToComponent(&s_freq1, false);
//release
addAndMakeVisible(s_freq2);
s_freq2.setLookAndFeel(&otherLookAndFeel);
s_freq2.setSliderStyle(Slider::Rotary);
s_freq2.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_freq2.setRotaryParameters(3.1415926, 9.4247778, true);
s_freq2.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_freq2);
l_freq2.setFont(labelFaderLayerFont);
l_freq2.setText("FREQ", dontSendNotification);
l_freq2.setJustificationType(Justification::Flags::horizontallyCentred);
l_freq2.attachToComponent(&s_freq2, false);
//gain
addAndMakeVisible(s_freq3);
s_freq3.setLookAndFeel(&otherLookAndFeel);
s_freq3.setSliderStyle(Slider::Rotary);
s_freq3.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_freq3.setRotaryParameters(3.1415926, 9.4247778, true);
s_freq3.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_freq3);
l_freq3.setFont(labelFaderLayerFont);
l_freq3.setText("FREQ", dontSendNotification);
l_freq3.setJustificationType(Justification::Flags::horizontallyCentred);
l_freq3.attachToComponent(&s_freq3, false);
//threshold
addAndMakeVisible(s_freq4);
s_freq4.setLookAndFeel(&otherLookAndFeel);
s_freq4.setSliderStyle(Slider::Rotary);
s_freq4.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_freq4.setRotaryParameters(3.1415926, 9.4247778, true);
s_freq4.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_freq4);
l_freq4.setFont(labelFaderLayerFont);
l_freq4.setText("FREQ", dontSendNotification);
l_freq4.setJustificationType(Justification::Flags::horizontallyCentred);
l_freq4.attachToComponent(&s_freq4, false);
}
~PanelUp6()
{
s_freq1.setLookAndFeel(nullptr);
s_freq2.setLookAndFeel(nullptr);
s_freq3.setLookAndFeel(nullptr);
s_freq4.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight() / 7.0f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
//
FlexItem::Margin m(0.0f, 0.0f, height, 0.0f);
//
fb.items.addArray(
{ FlexItem(s_freq1).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_freq2).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_freq3).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_freq4).withWidth(50.0f).withHeight(50.0f).withMargin(m) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_freq1;
Slider s_freq1;
Label l_freq2;
Slider s_freq2;
Label l_freq3;
Slider s_freq3;
Label l_freq4;
Slider s_freq4;
OtherLookAndFeel4 otherLookAndFeel;
};
//==============================================================================
//==============================================================================
class PanelUp5 : public Component
{
public:
PanelUp5()
{
//HF
addAndMakeVisible(s_hf);
s_hf.setLookAndFeel(&otherLookAndFeel);
s_hf.setSliderStyle(Slider::Rotary);
s_hf.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_hf.setRotaryParameters(3.1415926, 9.4247778, true);
s_hf.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_hf);
l_hf.setFont(labelFaderLayerFont);
l_hf.setText("HF", dontSendNotification);
l_hf.setJustificationType(Justification::Flags::horizontallyCentred);
l_hf.attachToComponent(&s_hf, false);
//hi_mid
addAndMakeVisible(s_hi_mid);
s_hi_mid.setLookAndFeel(&otherLookAndFeel);
s_hi_mid.setSliderStyle(Slider::Rotary);
s_hi_mid.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_hi_mid.setRotaryParameters(3.1415926, 9.4247778, true);
s_hi_mid.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_hi_mid);
l_hi_mid.setFont(labelFaderLayerFont);
l_hi_mid.setText("HI MID", dontSendNotification);
l_hi_mid.setJustificationType(Justification::Flags::horizontallyCentred);
l_hi_mid.attachToComponent(&s_hi_mid, false);
//lo_mid
addAndMakeVisible(s_lo_mid);
s_lo_mid.setLookAndFeel(&otherLookAndFeel);
s_lo_mid.setSliderStyle(Slider::Rotary);
s_lo_mid.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_lo_mid.setRotaryParameters(3.1415926, 9.4247778, true);
s_lo_mid.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_lo_mid);
l_lo_mid.setFont(labelFaderLayerFont);
l_lo_mid.setText("LO MID", dontSendNotification);
l_lo_mid.setJustificationType(Justification::Flags::horizontallyCentred);
l_lo_mid.attachToComponent(&s_lo_mid, false);
//lf
addAndMakeVisible(s_lf);
s_lf.setLookAndFeel(&otherLookAndFeel);
s_lf.setSliderStyle(Slider::Rotary);
s_lf.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_lf.setRotaryParameters(3.1415926, 9.4247778, true);
s_lf.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_lf);
l_lf.setFont(labelFaderLayerFont);
l_lf.setText("LF", dontSendNotification);
l_lf.setJustificationType(Justification::Flags::horizontallyCentred);
l_lf.attachToComponent(&s_lf, false);
//
addAndMakeVisible(eq);
eq.setButtonText("EQ");
}
~PanelUp5()
{
s_hf.setLookAndFeel(nullptr);
s_hi_mid.setLookAndFeel(nullptr);
s_lo_mid.setLookAndFeel(nullptr);
s_lf.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
fb.items.addArray(
{ FlexItem(s_hf).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_hi_mid).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_lo_mid).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_lf).withWidth(50.0f).withHeight(50.0f),
FlexItem(eq).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_hf;
Slider s_hf;
Label l_hi_mid;
Slider s_hi_mid;;
Label l_lo_mid;
Slider s_lo_mid;
Label l_lf;
Slider s_lf;
TextButton eq;
OtherLookAndFeel4 otherLookAndFeel;
};
//==============================================================================
//==============================================================================
class PanelUp4 : public Component
{
public:
PanelUp4()
{
//attack
addAndMakeVisible(s_attack);
s_attack.setLookAndFeel(&otherLookAndFeel);
s_attack.setSliderStyle(Slider::Rotary);
s_attack.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_attack.setRotaryParameters(3.1415926, 9.4247778, true);
s_attack.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_attack);
l_attack.setFont(labelFaderLayerFont);
l_attack.setText("ATTACK", dontSendNotification);
l_attack.setJustificationType(Justification::Flags::horizontallyCentred);
l_attack.attachToComponent(&s_attack, false);
//release
addAndMakeVisible(s_release);
s_release.setLookAndFeel(&otherLookAndFeel);
s_release.setSliderStyle(Slider::Rotary);
s_release.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_release.setRotaryParameters(3.1415926, 9.4247778, true);
s_release.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_release);
l_release.setFont(labelFaderLayerFont);
l_release.setText("RELEASE", dontSendNotification);
l_release.setJustificationType(Justification::Flags::horizontallyCentred);
l_release.attachToComponent(&s_release, false);
//gain
addAndMakeVisible(s_gain);
s_gain.setLookAndFeel(&otherLookAndFeel);
s_gain.setSliderStyle(Slider::Rotary);
s_gain.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_gain.setRotaryParameters(3.1415926, 9.4247778, true);
s_gain.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_gain);
l_gain.setFont(labelFaderLayerFont);
l_gain.setText("GAIN", dontSendNotification);
l_gain.setJustificationType(Justification::Flags::horizontallyCentred);
l_gain.attachToComponent(&s_gain, false);
//threshold
addAndMakeVisible(s_threshold);
s_threshold.setLookAndFeel(&otherLookAndFeel);
s_threshold.setSliderStyle(Slider::Rotary);
s_threshold.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_threshold.setRotaryParameters(3.1415926, 9.4247778, true);
s_threshold.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_threshold);
l_threshold.setFont(labelFaderLayerFont);
l_threshold.setText("THRESHOLD", dontSendNotification);
l_threshold.setJustificationType(Justification::Flags::horizontallyCentred);
l_threshold.attachToComponent(&s_threshold, false);
}
~PanelUp4()
{
s_attack.setLookAndFeel(nullptr);
s_release.setLookAndFeel(nullptr);
s_gain.setLookAndFeel(nullptr);
s_threshold.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight() / 7.0f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
//
FlexItem::Margin m(0.0f, 0.0f, height, 0.0f);
//
fb.items.addArray(
{ FlexItem(s_attack).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_release).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_gain).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_threshold).withWidth(50.0f).withHeight(50.0f).withMargin(m) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_attack;
Slider s_attack;
Label l_release;
Slider s_release;
Label l_gain;
Slider s_gain;
Label l_threshold;
Slider s_threshold;
OtherLookAndFeel3 otherLookAndFeel;
};
//==============================================================================
//==============================================================================
class PanelUp3 : public Component
{
public:
PanelUp3()
{
//lpf
addAndMakeVisible(s_lpf);
s_lpf.setLookAndFeel(&otherLookAndFeel2);
s_lpf.setSliderStyle(Slider::Rotary);
s_lpf.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_lpf.setRotaryParameters(3.1415926, 9.4247778, true);
//
addAndMakeVisible(l_lpf);
l_lpf.setFont(labelFaderLayerFont);
l_lpf.setText("S/C LPF", dontSendNotification);
l_lpf.setJustificationType(Justification::Flags::horizontallyCentred);
l_lpf.attachToComponent(&s_lpf, false);
//hpf
addAndMakeVisible(s_hpf);
s_hpf.setLookAndFeel(&otherLookAndFeel2);
s_hpf.setSliderStyle(Slider::Rotary);
s_hpf.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_hpf.setRotaryParameters(3.1415926, 9.4247778, true);
//
addAndMakeVisible(l_hpf);
l_hpf.setFont(labelFaderLayerFont);
l_hpf.setText("S/C HPF", dontSendNotification);
l_hpf.setJustificationType(Justification::Flags::horizontallyCentred);
l_hpf.attachToComponent(&s_hpf, false);
//ratio
addAndMakeVisible(s_ratio);
s_ratio.setLookAndFeel(&otherLookAndFeel3);
s_ratio.setSliderStyle(Slider::Rotary);
s_ratio.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_ratio.setRotaryParameters(3.1415926, 9.4247778, true);
//
addAndMakeVisible(l_ratio);
l_ratio.setFont(labelFaderLayerFont);
l_ratio.setText("RATIO", dontSendNotification);
l_ratio.setJustificationType(Justification::Flags::horizontallyCentred);
l_ratio.attachToComponent(&s_ratio, false);
addAndMakeVisible(compressor);
compressor.setButtonText("COMP");
}
~PanelUp3()
{
s_lpf.setLookAndFeel(nullptr);
s_hpf.setLookAndFeel(nullptr);
s_ratio.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight()/4.5f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
//
FlexItem::Margin m(0.0f, 0.0f, height, 0.0f);
//
fb.items.addArray(
{ FlexItem(s_lpf).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_hpf).withWidth(50.0f).withHeight(50.0f).withMargin(m),
FlexItem(s_ratio).withWidth(50.0f).withHeight(50.0f),
FlexItem(compressor).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class MainComponent;
friend class PanelUp;
private:
Label l_lpf;
Slider s_lpf;
Label l_hpf;
Slider s_hpf;
Label l_ratio;
Slider s_ratio;
TextButton compressor;
OtherLookAndFeel2 otherLookAndFeel2;
OtherLookAndFeel3 otherLookAndFeel3;
};
//==============================================================================
//==============================================================================
class PanelUp2 : public Component
{
public:
PanelUp2()
{
//attack
addAndMakeVisible(s_attack);
s_attack.setLookAndFeel(&otherLookAndFeel);
s_attack.setSliderStyle(Slider::Rotary);
s_attack.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_attack.setRotaryParameters(3.1415926, 9.4247778, true);
s_attack.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_attack);
l_attack.setFont(labelFaderLayerFont);
l_attack.setText("ATTACK", dontSendNotification);
l_attack.setJustificationType(Justification::Flags::horizontallyCentred);
l_attack.attachToComponent(&s_attack, false);
//release
addAndMakeVisible(s_release);
s_release.setLookAndFeel(&otherLookAndFeel);
s_release.setSliderStyle(Slider::Rotary);
s_release.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_release.setRotaryParameters(3.1415926, 9.4247778, true);
s_release.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_release);
l_release.setFont(labelFaderLayerFont);
l_release.setText("RELEASE", dontSendNotification);
l_release.setJustificationType(Justification::Flags::horizontallyCentred);
l_release.attachToComponent(&s_release, false);
//depth
addAndMakeVisible(s_depth);
s_depth.setLookAndFeel(&otherLookAndFeel);
s_depth.setSliderStyle(Slider::Rotary);
s_depth.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_depth.setRotaryParameters(3.1415926, 9.4247778, true);
s_depth.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_depth);
l_depth.setFont(labelFaderLayerFont);
l_depth.setText("DEPTH", dontSendNotification);
l_depth.setJustificationType(Justification::Flags::horizontallyCentred);
l_depth.attachToComponent(&s_depth, false);
//threshold
addAndMakeVisible(s_threshold);
s_threshold.setLookAndFeel(&otherLookAndFeel);
s_threshold.setSliderStyle(Slider::Rotary);
s_threshold.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
s_threshold.setRotaryParameters(3.1415926, 9.4247778, true);
s_threshold.setRange(0.0, 127.0, 1.0);
//
addAndMakeVisible(l_threshold);
l_threshold.setFont(labelFaderLayerFont);
l_threshold.setText("THRESHOLD", dontSendNotification);
l_threshold.setJustificationType(Justification::Flags::horizontallyCentred);
l_threshold.attachToComponent(&s_threshold, false);
//
addAndMakeVisible(gate);
gate.setButtonText("GATE");
}
~PanelUp2()
{
s_attack.setLookAndFeel(nullptr);
s_release.setLookAndFeel(nullptr);
s_depth.setLookAndFeel(nullptr);
s_threshold.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
fb.items.addArray(
{ FlexItem(s_attack).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_release).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_depth).withWidth(50.0f).withHeight(50.0f),
FlexItem(s_threshold).withWidth(50.0f).withHeight(50.0f),
FlexItem(gate).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class PanelUp;
friend class MainComponent;
private:
Label l_attack;
Slider s_attack;
Label l_release;
Slider s_release;
Label l_depth;
Slider s_depth;
Label l_threshold;
Slider s_threshold;
TextButton gate;
OtherLookAndFeel2 otherLookAndFeel;
};
//==============================================================================
class PanelUp1 : public Component
{
public:
PanelUp1()
{
addAndMakeVisible(b_48v);
b_48v.setButtonText("48V");
//
addAndMakeVisible(b_phase);
b_phase.setButtonText("PHASE");
//
addAndMakeVisible(gain);
gain.setLookAndFeel(&otherLookAndFeel);
gain.setSliderStyle(Slider::Rotary);
gain.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
gain.setRotaryParameters(3.1415926, 9.4247778, true);
gain.setRange(0.0, 127.0, 1.0);
////
addAndMakeVisible(Hz);
Hz.setLookAndFeel(&otherLookAndFeel);
Hz.setSliderStyle(Slider::Rotary);
Hz.setTextBoxStyle(Slider::NoTextBox, false, 0, 0);
Hz.setRotaryParameters(3.1415926, 9.4247778, true);
Hz.setRange(0.0, 127.0, 1.0);
//Gain_trim Hpf
addAndMakeVisible(Gain_trim);
Gain_trim.setFont(labelFaderLayerFont);
Gain_trim.setText("Gain/Trim", dontSendNotification);
Gain_trim.setJustificationType(Justification::Flags::horizontallyCentred);
Gain_trim.attachToComponent(&gain, false);
//
addAndMakeVisible(Hpf);
Hpf.setFont(labelFaderLayerFont);
Hpf.setText("HPF", dontSendNotification);
Hpf.setJustificationType(Justification::Flags::horizontallyCentred);
Hpf.attachToComponent(&Hz, false);
////
addAndMakeVisible(hpf_switch);
hpf_switch.setButtonText("HPF");
}
~PanelUp1()
{
gain.setLookAndFeel(nullptr);
Hz.setLookAndFeel(nullptr);
}
void paint(Graphics& g) override
{
g.fillAll(Colours::darkgrey);
}
void resized() override
{
auto area = getLocalBounds();
float height = (float)(area.getHeight() / 7.0f);
//
FlexBox fb;
fb.flexDirection = FlexBox::Direction::column;
fb.flexWrap = FlexBox::Wrap::noWrap;
fb.justifyContent = FlexBox::JustifyContent::spaceAround;
fb.alignContent = FlexBox::AlignContent::center;
FlexItem::Margin m(0.0f, 0.0f, height, 0.0f);
fb.items.addArray(
{ FlexItem(b_48v).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center),
FlexItem(b_phase).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center).withMargin(m),
FlexItem(gain).withMinWidth(50.0f).withMinHeight(50.0f),
FlexItem(Hz).withMinWidth(50.0f).withMinHeight(50.0f),
FlexItem(hpf_switch).withWidth(45.0f).withHeight(20.0f).withAlignSelf(FlexItem::AlignSelf::center) });
fb.performLayout(getLocalBounds().toFloat());
}
friend class PanelUp;
friend class MainComponent;
private:
TextButton b_48v;
TextButton b_phase;
Label Gain_trim;
Slider gain;
Label Hpf;
Slider Hz;
TextButton hpf_switch;
OtherLookAndFeel1 otherLookAndFeel;
};