Lookandfeel class assertion failures in debug mode?

Hi there,
After i clicked the Start Debugging item in the Debug tab of vs 2019, it comes the assertion failure after i click the close button of the compiled program after a while. This time, the program can not be closed, it stuck.

2

customization.h
class OtherLookAndFeel1 : public LookAndFeel_V4
{
public:
	OtherLookAndFeel1()
	{
		//setColour(Slider::thumbColourId, Colours::red);
	}

	void drawRotarySlider(Graphics& g, int x, int y, int width, int height, float sliderPos,
		const float rotaryStartAngle, const float rotaryEndAngle, Slider&) override
	{
		auto radius = jmin(width / 2, height / 2) - 4.0f;
		auto centreX = x + width * 0.5f;
		auto centreY = y + height * 0.5f;
		auto rx = centreX - radius;
		auto ry = centreY - radius;
		auto rw = radius * 2.0f;
		auto angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle);
		// fill
		g.setColour(Colours::orange);
		g.fillEllipse(rx, ry, rw, rw);

		// outline
		g.setColour(Colours::red);
		g.drawEllipse(rx, ry, rw, rw, 1.0f);

		Path p;
		auto pointerLength = radius * 0.8f;
		auto pointerThickness = 4.0f;
		p.addRectangle(-pointerThickness * 0.5f, -radius, pointerThickness, pointerLength);
		p.applyTransform(AffineTransform::rotation(angle).translated(centreX, centreY));

		// pointer
		g.setColour(Colours::yellow);
		g.fillPath(p);
	}
};

class OtherLookAndFeel2 : public LookAndFeel_V4
{
public:
	OtherLookAndFeel2()
	{
		//setColour(Slider::thumbColourId, Colours::red);
	}

	void drawRotarySlider(Graphics& g, int x, int y, int width, int height, float sliderPos,
		const float rotaryStartAngle, const float rotaryEndAngle, Slider&) override
	{
		auto radius = jmin(width / 2, height / 2) - 4.0f;
		auto centreX = x + width * 0.5f;
		auto centreY = y + height * 0.5f;
		auto rx = centreX - radius;
		auto ry = centreY - radius;
		auto rw = radius * 2.0f;
		auto angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle);
		// fill
		g.setColour(Colours::purple);
		g.fillEllipse(rx, ry, rw, rw);

		// outline
		g.setColour(Colours::red);
		g.drawEllipse(rx, ry, rw, rw, 1.0f);

		Path p;
		auto pointerLength = radius * 0.8f;
		auto pointerThickness = 4.0f;
		p.addRectangle(-pointerThickness * 0.5f, -radius, pointerThickness, pointerLength);
		p.applyTransform(AffineTransform::rotation(angle).translated(centreX, centreY));

		// pointer
		g.setColour(Colours::yellow);
		g.fillPath(p);
	}
};

class OtherLookAndFeel3 : public LookAndFeel_V4
{
public:
	OtherLookAndFeel3()
	{
		//setColour(Slider::thumbColourId, Colours::red);
	}

	void drawRotarySlider(Graphics& g, int x, int y, int width, int height, float sliderPos,
		const float rotaryStartAngle, const float rotaryEndAngle, Slider&) override
	{
		auto radius = jmin(width / 2, height / 2) - 4.0f;
		auto centreX = x + width * 0.5f;
		auto centreY = y + height * 0.5f;
		auto rx = centreX - radius;
		auto ry = centreY - radius;
		auto rw = radius * 2.0f;
		auto angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle);
		// fill
		g.setColour(Colours::seagreen);
		g.fillEllipse(rx, ry, rw, rw);

		// outline
		g.setColour(Colours::red);
		g.drawEllipse(rx, ry, rw, rw, 1.0f);

		Path p;
		auto pointerLength = radius * 0.8f;
		auto pointerThickness = 4.0f;
		p.addRectangle(-pointerThickness * 0.5f, -radius, pointerThickness, pointerLength);
		p.applyTransform(AffineTransform::rotation(angle).translated(centreX, centreY));

		// pointer
		g.setColour(Colours::yellow);
		g.fillPath(p);
	}
};

class OtherLookAndFeel4 : public LookAndFeel_V4
{
public:
	OtherLookAndFeel4()
	{
		//setColour(Slider::thumbColourId, Colours::red);
	}

	void drawRotarySlider(Graphics& g, int x, int y, int width, int height, float sliderPos,
		const float rotaryStartAngle, const float rotaryEndAngle, Slider&) override
	{
		auto radius = jmin(width / 2, height / 2) - 4.0f;
		auto centreX = x + width * 0.5f;
		auto centreY = y + height * 0.5f;
		auto rx = centreX - radius;
		auto ry = centreY - radius;
		auto rw = radius * 2.0f;
		auto angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle);
		// fill
		g.setColour(Colours::skyblue);
		g.fillEllipse(rx, ry, rw, rw);

		// outline
		g.setColour(Colours::red);
		g.drawEllipse(rx, ry, rw, rw, 1.0f);

		Path p;
		auto pointerLength = radius * 0.8f;
		auto pointerThickness = 4.0f;
		p.addRectangle(-pointerThickness * 0.5f, -radius, pointerThickness, pointerLength);
		p.applyTransform(AffineTransform::rotation(angle).translated(centreX, centreY));

		// pointer
		g.setColour(Colours::yellow);
		g.fillPath(p);
	}
};
//

class OtherLookAndFeel5 : public LookAndFeel_V4
{
public:
	OtherLookAndFeel5()
	{
		//setColour(Slider::thumbColourId, Colours::red);
	}

	void drawRotarySlider(Graphics& g, int x, int y, int width, int height, float sliderPos,
		const float rotaryStartAngle, const float rotaryEndAngle, Slider&) override
	{
		auto radius = jmin(width / 2, height / 2) - 4.0f;
		auto centreX = x + width * 0.5f;
		auto centreY = y + height * 0.5f;
		auto rx = centreX - radius;
		auto ry = centreY - radius;
		auto rw = radius * 2.0f;
		auto angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle);
		// fill
		g.setColour(Colours::yellowgreen);
		g.fillEllipse(rx, ry, rw, rw);

		// outline
		g.setColour(Colours::red);
		g.drawEllipse(rx, ry, rw, rw, 1.0f);

		Path p;
		auto pointerLength = radius * 0.8f;
		auto pointerThickness = 4.0f;
		p.addRectangle(-pointerThickness * 0.5f, -radius, pointerThickness, pointerLength);
		p.applyTransform(AffineTransform::rotation(angle).translated(centreX, centreY));

		// pointer
		g.setColour(Colours::yellow);
		g.fillPath(p);
	}
};
//==============================================================================
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;

};