/*
==============================================================================
This is an automatically generated GUI class created by the Projucer!
Be careful when adding custom code to these files, as only the code within
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
and re-saved.
Created with Projucer version: 5.4.4
------------------------------------------------------------------------------
The Projucer is part of the JUCE library.
Copyright (c) 2017 - ROLI Ltd.
==============================================================================
*/
//[Headers] You can add your own extra header files here...
#include "AudioParameters.h"
//[/Headers]
#include "GuiMix.h"
//[MiscUserDefs] You can add your own user definitions and misc code here...
//[/MiscUserDefs]
//==============================================================================
GUIMix::GUIMix ( const String& name, const String & text)
: GroupComponent (name, text)
{
//[Constructor_pre] You can add your own custom stuff here..
molossLNF = std::make_unique< MolossLookNFeel>(MolossLookNFeel::GREEN_LNF);
molossCyanLNF = std::make_unique< MolossLookNFeel>(MolossLookNFeel::CYAN_LNF);
setLookAndFeel(molossLNF.get());
//[/Constructor_pre]
setName ("GUIMix");
labelVoice1.reset (new Label ("labelVoice1",
TRANS("Voice 1")));
addAndMakeVisible (labelVoice1.get());
labelVoice1->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice1->setJustificationType (Justification::centred);
labelVoice1->setEditable (false, false, false);
labelVoice1->setColour (TextEditor::textColourId, Colours::black);
labelVoice1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice1.reset (new Slider ("lvlVoice1"));
addAndMakeVisible (lvlVoice1.get());
lvlVoice1->setTooltip (TRANS("Voice 1 level in ouput mix"));
lvlVoice1->setRange (0, 100, 1);
lvlVoice1->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice1->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice2.reset (new Label ("labelVoice2",
TRANS("Voice 2")));
addAndMakeVisible (labelVoice2.get());
labelVoice2->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice2->setJustificationType (Justification::centred);
labelVoice2->setEditable (false, false, false);
labelVoice2->setColour (TextEditor::textColourId, Colours::black);
labelVoice2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice2.reset (new Slider ("lvlVoice2"));
addAndMakeVisible (lvlVoice2.get());
lvlVoice2->setTooltip (TRANS("Voice 2 level in ouput mix"));
lvlVoice2->setRange (0, 100, 1);
lvlVoice2->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice1x2.reset (new Label ("labelVoice1x2",
TRANS("Voice 1x2")));
addAndMakeVisible (labelVoice1x2.get());
labelVoice1x2->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice1x2->setJustificationType (Justification::centred);
labelVoice1x2->setEditable (false, false, false);
labelVoice1x2->setColour (TextEditor::textColourId, Colours::black);
labelVoice1x2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice1x2.reset (new Slider ("lvlVoice1x2"));
addAndMakeVisible (lvlVoice1x2.get());
lvlVoice1x2->setTooltip (TRANS("% of Voice 1 x voice 2 in voice 2 TVF input"));
lvlVoice1x2->setRange (0, 100, 1);
lvlVoice1x2->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice1x2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice1fm2.reset (new Label ("labelVoice1fm2",
TRANS("Voice 1 fm 2")));
addAndMakeVisible (labelVoice1fm2.get());
labelVoice1fm2->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice1fm2->setJustificationType (Justification::centred);
labelVoice1fm2->setEditable (false, false, false);
labelVoice1fm2->setColour (TextEditor::textColourId, Colours::black);
labelVoice1fm2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice1fm2.reset (new Slider ("lvlVoice1fm2"));
addAndMakeVisible (lvlVoice1fm2.get());
lvlVoice1fm2->setTooltip (TRANS("Intensity of voice 2 frequency modulation by voice 1"));
lvlVoice1fm2->setRange (0, 100, 1);
lvlVoice1fm2->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice1fm2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice2x3.reset (new Label ("labelVoice2x3",
TRANS("Voice 2x3")));
addAndMakeVisible (labelVoice2x3.get());
labelVoice2x3->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice2x3->setJustificationType (Justification::centred);
labelVoice2x3->setEditable (false, false, false);
labelVoice2x3->setColour (TextEditor::textColourId, Colours::black);
labelVoice2x3->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice2x3.reset (new Slider ("lvlVoice2x3"));
addAndMakeVisible (lvlVoice2x3.get());
lvlVoice2x3->setTooltip (TRANS("% of Voice 2 x voice 3 in voice 3 TVF input"));
lvlVoice2x3->setRange (0, 100, 1);
lvlVoice2x3->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice2x3->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice3x4.reset (new Label ("labelVoice3x4",
TRANS("Voice 3x4")));
addAndMakeVisible (labelVoice3x4.get());
labelVoice3x4->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice3x4->setJustificationType (Justification::centred);
labelVoice3x4->setEditable (false, false, false);
labelVoice3x4->setColour (TextEditor::textColourId, Colours::black);
labelVoice3x4->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice3x4.reset (new Slider ("lvlVoice3x4"));
addAndMakeVisible (lvlVoice3x4.get());
lvlVoice3x4->setTooltip (TRANS("% of Voice 3 x voice 4 in voice 4 TVF input"));
lvlVoice3x4->setRange (0, 100, 1);
lvlVoice3x4->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice3x4->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice2fm3.reset (new Label ("labelVoice2fm3",
TRANS("Voice 2 fm 3")));
addAndMakeVisible (labelVoice2fm3.get());
labelVoice2fm3->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice2fm3->setJustificationType (Justification::centred);
labelVoice2fm3->setEditable (false, false, false);
labelVoice2fm3->setColour (TextEditor::textColourId, Colours::black);
labelVoice2fm3->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice2fm3.reset (new Slider ("lvlVoice2fm3"));
addAndMakeVisible (lvlVoice2fm3.get());
lvlVoice2fm3->setTooltip (TRANS("Intensity of voice 3 frequency modulation by voice 2"));
lvlVoice2fm3->setRange (0, 100, 1);
lvlVoice2fm3->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice2fm3->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice3fm4.reset (new Label ("labelVoice3fm4",
TRANS("Voice 3 fm 4")));
addAndMakeVisible (labelVoice3fm4.get());
labelVoice3fm4->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice3fm4->setJustificationType (Justification::centred);
labelVoice3fm4->setEditable (false, false, false);
labelVoice3fm4->setColour (TextEditor::textColourId, Colours::black);
labelVoice3fm4->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice3fm4.reset (new Slider ("lvlVoice3fm4"));
addAndMakeVisible (lvlVoice3fm4.get());
lvlVoice3fm4->setTooltip (TRANS("Intensity of voice 4 frequency modulation by voice 3"));
lvlVoice3fm4->setRange (0, 100, 1);
lvlVoice3fm4->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice3fm4->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice3.reset (new Label ("labelVoice3",
TRANS("Voice 3")));
addAndMakeVisible (labelVoice3.get());
labelVoice3->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice3->setJustificationType (Justification::centred);
labelVoice3->setEditable (false, false, false);
labelVoice3->setColour (TextEditor::textColourId, Colours::black);
labelVoice3->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice3.reset (new Slider ("lvlVoice3"));
addAndMakeVisible (lvlVoice3.get());
lvlVoice3->setTooltip (TRANS("Voice 3 level in ouput mix"));
lvlVoice3->setRange (0, 100, 1);
lvlVoice3->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice3->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice4.reset (new Label ("labelVoice4",
TRANS("Voice 4")));
addAndMakeVisible (labelVoice4.get());
labelVoice4->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice4->setJustificationType (Justification::centred);
labelVoice4->setEditable (false, false, false);
labelVoice4->setColour (TextEditor::textColourId, Colours::black);
labelVoice4->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
lvlVoice4.reset (new Slider ("lvlVoice4"));
addAndMakeVisible (lvlVoice4.get());
lvlVoice4->setTooltip (TRANS("Voice 4 level in ouput mix"));
lvlVoice4->setRange (0, 100, 1);
lvlVoice4->setSliderStyle (Slider::RotaryVerticalDrag);
lvlVoice4->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelBalVoice1.reset (new Label ("labelBalVoice1",
TRANS("Bal. 1")));
addAndMakeVisible (labelBalVoice1.get());
labelBalVoice1->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelBalVoice1->setJustificationType (Justification::centred);
labelBalVoice1->setEditable (false, false, false);
labelBalVoice1->setColour (TextEditor::textColourId, Colours::black);
labelBalVoice1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balVoice1.reset (new Slider ("balVoice1"));
addAndMakeVisible (balVoice1.get());
balVoice1->setTooltip (TRANS("Voice 1 balance"));
balVoice1->setRange (0, 100, 1);
balVoice1->setSliderStyle (Slider::RotaryVerticalDrag);
balVoice1->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice6.reset (new Label ("labelVoice2",
TRANS("Bal. 2")));
addAndMakeVisible (labelVoice6.get());
labelVoice6->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice6->setJustificationType (Justification::centred);
labelVoice6->setEditable (false, false, false);
labelVoice6->setColour (TextEditor::textColourId, Colours::black);
labelVoice6->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balVoice2.reset (new Slider ("balVoice2"));
addAndMakeVisible (balVoice2.get());
balVoice2->setTooltip (TRANS("Voice 2 balance"));
balVoice2->setRange (0, 100, 1);
balVoice2->setSliderStyle (Slider::RotaryVerticalDrag);
balVoice2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice7.reset (new Label ("labelVoice3",
TRANS("Bal. 3")));
addAndMakeVisible (labelVoice7.get());
labelVoice7->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice7->setJustificationType (Justification::centred);
labelVoice7->setEditable (false, false, false);
labelVoice7->setColour (TextEditor::textColourId, Colours::black);
labelVoice7->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balVoice3.reset (new Slider ("balVoice3"));
addAndMakeVisible (balVoice3.get());
balVoice3->setTooltip (TRANS("Voice 3 balance"));
balVoice3->setRange (0, 100, 1);
balVoice3->setSliderStyle (Slider::RotaryVerticalDrag);
balVoice3->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice8.reset (new Label ("labelVoice4",
TRANS("Bal. 4")));
addAndMakeVisible (labelVoice8.get());
labelVoice8->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice8->setJustificationType (Justification::centred);
labelVoice8->setEditable (false, false, false);
labelVoice8->setColour (TextEditor::textColourId, Colours::black);
labelVoice8->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balVoice4.reset (new Slider ("balVoice4"));
addAndMakeVisible (balVoice4.get());
balVoice4->setTooltip (TRANS("Voice 4 balance"));
balVoice4->setRange (0, 100, 1);
balVoice4->setSliderStyle (Slider::RotaryVerticalDrag);
balVoice4->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labeBalLFOVoice1.reset (new Label ("labeBalLFOVoice1",
TRANS("Bal LFO 1")));
addAndMakeVisible (labeBalLFOVoice1.get());
labeBalLFOVoice1->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labeBalLFOVoice1->setJustificationType (Justification::centred);
labeBalLFOVoice1->setEditable (false, false, false);
labeBalLFOVoice1->setColour (TextEditor::textColourId, Colours::black);
labeBalLFOVoice1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balLFOVoice1.reset (new Slider ("balLFOVoice1"));
addAndMakeVisible (balLFOVoice1.get());
balLFOVoice1->setTooltip (TRANS("Voice 1 Balance LFO depth"));
balLFOVoice1->setRange (0, 100, 1);
balLFOVoice1->setSliderStyle (Slider::RotaryVerticalDrag);
balLFOVoice1->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice10.reset (new Label ("labelVoice2",
TRANS("Bal LFO 2")));
addAndMakeVisible (labelVoice10.get());
labelVoice10->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice10->setJustificationType (Justification::centred);
labelVoice10->setEditable (false, false, false);
labelVoice10->setColour (TextEditor::textColourId, Colours::black);
labelVoice10->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balLFOVoice2.reset (new Slider ("balLFOVoice2"));
addAndMakeVisible (balLFOVoice2.get());
balLFOVoice2->setTooltip (TRANS("Voice 2 Balance LFO depth"));
balLFOVoice2->setRange (0, 100, 1);
balLFOVoice2->setSliderStyle (Slider::RotaryVerticalDrag);
balLFOVoice2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice11.reset (new Label ("labelVoice3",
TRANS("Bal LFO 3")));
addAndMakeVisible (labelVoice11.get());
labelVoice11->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice11->setJustificationType (Justification::centred);
labelVoice11->setEditable (false, false, false);
labelVoice11->setColour (TextEditor::textColourId, Colours::black);
labelVoice11->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balLFOVoice3.reset (new Slider ("balLFOVoice3"));
addAndMakeVisible (balLFOVoice3.get());
balLFOVoice3->setTooltip (TRANS("Voice 3 Balance LFO depth"));
balLFOVoice3->setRange (0, 100, 1);
balLFOVoice3->setSliderStyle (Slider::RotaryVerticalDrag);
balLFOVoice3->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
labelVoice12.reset (new Label ("labelVoice4",
TRANS("Bal LFO 4")));
addAndMakeVisible (labelVoice12.get());
labelVoice12->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
labelVoice12->setJustificationType (Justification::centred);
labelVoice12->setEditable (false, false, false);
labelVoice12->setColour (TextEditor::textColourId, Colours::black);
labelVoice12->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
balLFOVoice4.reset (new Slider ("balLFOVoice4"));
addAndMakeVisible (balLFOVoice4.get());
balLFOVoice4->setTooltip (TRANS("Voice 4 Balance LFO depth"));
balLFOVoice4->setRange (0, 100, 1);
balLFOVoice4->setSliderStyle (Slider::RotaryVerticalDrag);
balLFOVoice4->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20);
volume.reset (new Slider ("volume"));
addAndMakeVisible (volume.get());
volume->setTooltip (TRANS("Output volume"));
volume->setRange (0, 100, 1);
volume->setSliderStyle (Slider::LinearHorizontal);
volume->setTextBoxStyle (Slider::TextBoxRight, true, 40, 20);
volume->setBounds (47, 558, 216, 24);
volumeLabel.reset (new Label ("volumeLabel",
TRANS("Vol.")));
addAndMakeVisible (volumeLabel.get());
volumeLabel->setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular"));
volumeLabel->setJustificationType (Justification::centredLeft);
volumeLabel->setEditable (false, false, false);
volumeLabel->setColour (TextEditor::textColourId, Colours::black);
volumeLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
volumeLabel->setBounds (10, 558, 34, 24);
volAutoset.reset (new ToggleButton ("volAutoset"));
addAndMakeVisible (volAutoset.get());
volAutoset->setTooltip (TRANS("Autoset volume in order not to clip."));
volAutoset->setButtonText (TRANS("Volume autoset"));
volAutoset->setBounds (15, 584, 150, 24);
active1.reset (new ToggleButton ("active1"));
addAndMakeVisible (active1.get());
active1->setTooltip (TRANS("Activate / mute voice 1"));
active1->setButtonText (String());
active1->setToggleState (true, dontSendNotification);
active2.reset (new ToggleButton ("active1"));
addAndMakeVisible (active2.get());
active2->setTooltip (TRANS("Activate / mute voice 2"));
active2->setButtonText (String());
active2->setToggleState (true, dontSendNotification);
active3.reset (new ToggleButton ("active1"));
addAndMakeVisible (active3.get());
active3->setTooltip (TRANS("Activate / mute voice 3"));
active3->setButtonText (String());
active3->setToggleState (true, dontSendNotification);
active4.reset (new ToggleButton ("active1"));
addAndMakeVisible (active4.get());
active4->setTooltip (TRANS("Activate / mute voice 4"));
active4->setButtonText (String());
active4->setToggleState (true, dontSendNotification);
polyCombo.reset (new ComboBox ("polyCombo"));
addAndMakeVisible (polyCombo.get());
polyCombo->setTooltip (TRANS("Polyphony mode :\n"
"Poly stops a ringing note when retriggered,\n"
"Mono retriggers a new note at each press,\n"
"Mono legato just changes current note height.\n"
"Poly ringing doesn\'t stop a ringing note when retriggered"));
polyCombo->setEditableText (false);
polyCombo->setJustificationType (Justification::centredLeft);
polyCombo->setTextWhenNothingSelected (String());
polyCombo->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
polyCombo->addListener (this);
polyCombo->setBounds (55, 630, 150, 24);
//[UserPreSize]
//[/UserPreSize]
setSize (600, 400);
//[Constructor] You can add your own custom stuff here..
balLFOVoice1->setLookAndFeel(molossCyanLNF.get());
balLFOVoice2->setLookAndFeel(molossCyanLNF.get());
balLFOVoice3->setLookAndFeel(molossCyanLNF.get());
balLFOVoice4->setLookAndFeel(molossCyanLNF.get());
//[/Constructor]
}
GUIMix::~GUIMix()
{
//[Destructor_pre]. You can add your own custom destruction code here..
mAttachment = nullptr;
setLookAndFeel(nullptr);
balLFOVoice1->setLookAndFeel(nullptr);
balLFOVoice2->setLookAndFeel(nullptr);
balLFOVoice3->setLookAndFeel(nullptr);
balLFOVoice4->setLookAndFeel(nullptr);
//[/Destructor_pre]
labelVoice1 = nullptr;
lvlVoice1 = nullptr;
labelVoice2 = nullptr;
lvlVoice2 = nullptr;
labelVoice1x2 = nullptr;
lvlVoice1x2 = nullptr;
labelVoice1fm2 = nullptr;
lvlVoice1fm2 = nullptr;
labelVoice2x3 = nullptr;
lvlVoice2x3 = nullptr;
labelVoice3x4 = nullptr;
lvlVoice3x4 = nullptr;
labelVoice2fm3 = nullptr;
lvlVoice2fm3 = nullptr;
labelVoice3fm4 = nullptr;
lvlVoice3fm4 = nullptr;
labelVoice3 = nullptr;
lvlVoice3 = nullptr;
labelVoice4 = nullptr;
lvlVoice4 = nullptr;
labelBalVoice1 = nullptr;
balVoice1 = nullptr;
labelVoice6 = nullptr;
balVoice2 = nullptr;
labelVoice7 = nullptr;
balVoice3 = nullptr;
labelVoice8 = nullptr;
balVoice4 = nullptr;
labeBalLFOVoice1 = nullptr;
balLFOVoice1 = nullptr;
labelVoice10 = nullptr;
balLFOVoice2 = nullptr;
labelVoice11 = nullptr;
balLFOVoice3 = nullptr;
labelVoice12 = nullptr;
balLFOVoice4 = nullptr;
volume = nullptr;
volumeLabel = nullptr;
volAutoset = nullptr;
active1 = nullptr;
active2 = nullptr;
active3 = nullptr;
active4 = nullptr;
polyCombo = nullptr;
//[Destructor]. You can add your own custom destruction code here..
//[/Destructor]
}
//==============================================================================
void GUIMix::paint (Graphics& g)
{
//[UserPrePaint] Add your own custom painting code here..
GroupComponent::paint(g);
//[/UserPrePaint]
{
float x = static_cast<float> (34 - (20 / 2)), y = 20.0f, width = 20.0f, height = 20.0f;
Colour fillColour = Colours::chartreuse;
//[UserPaintCustomArguments] Customize the painting arguments here..
if (!bool(*mSynthParameters->mVCOIsActive[0]))
fillColour = Colours::lightgrey;
//[/UserPaintCustomArguments]
g.setColour (fillColour);
g.fillEllipse (x, y, width, height);
}
{
float x = static_cast<float> (100 - (20 / 2)), y = 20.0f, width = 20.0f, height = 20.0f;
Colour fillColour = Colours::chartreuse;
//[UserPaintCustomArguments] Customize the painting arguments here..
if (!bool(*mSynthParameters->mVCOIsActive[1]))
fillColour = Colours::lightgrey;
//[/UserPaintCustomArguments]
g.setColour (fillColour);
g.fillEllipse (x, y, width, height);
}
{
float x = static_cast<float> (166 - (20 / 2)), y = 20.0f, width = 20.0f, height = 20.0f;
Colour fillColour = Colours::chartreuse;
//[UserPaintCustomArguments] Customize the painting arguments here..
if (!bool(*mSynthParameters->mVCOIsActive[2]))
fillColour = Colours::lightgrey;
//[/UserPaintCustomArguments]
g.setColour (fillColour);
g.fillEllipse (x, y, width, height);
}
{
float x = static_cast<float> (232 - (20 / 2)), y = 20.0f, width = 20.0f, height = 20.0f;
Colour fillColour = Colours::chartreuse;
//[UserPaintCustomArguments] Customize the painting arguments here..
if (!bool(*mSynthParameters->mVCOIsActive[3]))
fillColour = Colours::lightgrey;
//[/UserPaintCustomArguments]
g.setColour (fillColour);
g.fillEllipse (x, y, width, height);
}
//[UserPaint] Add your own custom painting code here..
//[/UserPaint]
}
void GUIMix::resized()
{
//[UserPreResize] Add your own custom resize code here..
//[/UserPreResize]
labelVoice1->setBounds (38 - (73 / 2), 82 - (24 / 2), 73, 24);
lvlVoice1->setBounds (38 - (56 / 2), 122 - (72 / 2), 56, 72);
labelVoice2->setBounds (104 - (73 / 2), (82 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
lvlVoice2->setBounds (104 - (56 / 2), (122 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice1x2->setBounds (60 - (73 / 2), 374 - (24 / 2), 73, 24);
lvlVoice1x2->setBounds (61 - (56 / 2), 414 - (72 / 2), 56, 72);
labelVoice1fm2->setBounds (60 - (73 / 2), 458 - (24 / 2), 73, 24);
lvlVoice1fm2->setBounds (61 - (56 / 2), 498 - (72 / 2), 56, 72);
labelVoice2x3->setBounds (134 - (73 / 2), 362, 73, 24);
lvlVoice2x3->setBounds (135 - (56 / 2), (414 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice3x4->setBounds (208 - (73 / 2), 362, 73, 24);
lvlVoice3x4->setBounds (209 - (56 / 2), (414 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice2fm3->setBounds (134 - (73 / 2), (458 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
lvlVoice2fm3->setBounds (135 - (56 / 2), (498 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice3fm4->setBounds (208 - (73 / 2), (458 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
lvlVoice3fm4->setBounds (209 - (56 / 2), (498 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice3->setBounds (170 - (73 / 2), (82 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
lvlVoice3->setBounds (170 - (56 / 2), (122 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelVoice4->setBounds (236 - (73 / 2), (82 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
lvlVoice4->setBounds (236 - (56 / 2), (122 - (72 / 2)) + 72 / 2 - (72 / 2), 56, 72);
labelBalVoice1->setBounds (38 - (73 / 2), 187 - (24 / 2), 73, 24);
balVoice1->setBounds (38 - (56 / 2), 227 - (72 / 2), 56, 72);
labelVoice6->setBounds (104 - (73 / 2), (187 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
balVoice2->setBounds (104 - (56 / 2), (227 - (72 / 2)) + 72 / 2 + -1 - (72 / 2), 56, 72);
labelVoice7->setBounds (170 - (73 / 2), (187 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
balVoice3->setBounds (170 - (56 / 2), (227 - (72 / 2)) + 72 / 2 + -1 - (72 / 2), 56, 72);
labelVoice8->setBounds (236 - (73 / 2), (187 - (24 / 2)) + 24 / 2 - (24 / 2), 73, 24);
balVoice4->setBounds (236 - (56 / 2), (227 - (72 / 2)) + 72 / 2 + -1 - (72 / 2), 56, 72);
labeBalLFOVoice1->setBounds (38 - (73 / 2), 272 - (21 / 2), 73, 21);
balLFOVoice1->setBounds (38 - (56 / 2), 312 - (69 / 2), 56, 69);
labelVoice10->setBounds (104 - (73 / 2), (272 - (21 / 2)) + 21 / 2 - (21 / 2), 73, 21);
balLFOVoice2->setBounds (104 - (56 / 2), (312 - (69 / 2)) + 69 / 2 - (69 / 2), 56, 69);
labelVoice11->setBounds (170 - (73 / 2), (272 - (21 / 2)) + 21 / 2 - (21 / 2), 73, 21);
balLFOVoice3->setBounds (170 - (56 / 2), (312 - (69 / 2)) + 69 / 2 - (69 / 2), 56, 69);
labelVoice12->setBounds (236 - (73 / 2), (272 - (21 / 2)) + 21 / 2 - (21 / 2), 73, 21);
balLFOVoice4->setBounds (236 - (56 / 2), (312 - (69 / 2)) + 69 / 2 - (69 / 2), 56, 69);
active1->setBounds (38 - (32 / 2), 45, 32, 24);
active2->setBounds (104 - (32 / 2), 45 + 24 / 2 - (24 / 2), 32, 24);
active3->setBounds (170 - (32 / 2), 45 + 24 / 2 - (24 / 2), 32, 24);
active4->setBounds (236 - (32 / 2), 45 + 24 / 2 - (24 / 2), 32, 24);
//[UserResized] Add your own custom resize handling here..
//[/UserResized]
}
void GUIMix::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
{
//[UsercomboBoxChanged_Pre]
//[/UsercomboBoxChanged_Pre]
if (comboBoxThatHasChanged == polyCombo.get())
{
//[UserComboBoxCode_polyCombo] -- add your combo box handling code here..
//[/UserComboBoxCode_polyCombo]
}
//[UsercomboBoxChanged_Post]
//[/UsercomboBoxChanged_Post]
}
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
void GUIMix::setParameters(SynthParameters * paramSynth) {
mSynthParameters = paramSynth;
mAttachment = std::make_unique<GuiAttachment>(mSynthParameters->getProcessor());
updateFromParameters();
}
void GUIMix::updateFromParameters()
{
mAttachment->attachSlider(mSynthParameters->mVCODepth[0], *lvlVoice1);
mAttachment->attachSlider(mSynthParameters->mVCODepth[1], *lvlVoice2);
mAttachment->attachSlider(mSynthParameters->mVCODepth[2], *lvlVoice3);
mAttachment->attachSlider(mSynthParameters->mVCODepth[3], *lvlVoice4);
mAttachment->attachSlider(mSynthParameters->mVCOBalance[0], *balVoice1);
mAttachment->attachSlider(mSynthParameters->mVCOBalance[1], *balVoice2);
mAttachment->attachSlider(mSynthParameters->mVCOBalance[2], *balVoice3);
mAttachment->attachSlider(mSynthParameters->mVCOBalance[3], *balVoice4);
mAttachment->attachSlider(mSynthParameters->mVCOBalLFODepth[0], *balLFOVoice1);
mAttachment->attachSlider(mSynthParameters->mVCOBalLFODepth[1], *balLFOVoice2);
mAttachment->attachSlider(mSynthParameters->mVCOBalLFODepth[2], *balLFOVoice3);
mAttachment->attachSlider(mSynthParameters->mVCOBalLFODepth[3], *balLFOVoice4);
mAttachment->attachSlider(mSynthParameters->mVCORingDepth[0], *lvlVoice1x2);
mAttachment->attachSlider(mSynthParameters->mVCORingDepth[1], *lvlVoice2x3);
mAttachment->attachSlider(mSynthParameters->mVCORingDepth[2], *lvlVoice3x4);
mAttachment->attachSlider(mSynthParameters->mVCOFMDepth[0], *lvlVoice1fm2);
mAttachment->attachSlider(mSynthParameters->mVCOFMDepth[1], *lvlVoice2fm3);
mAttachment->attachSlider(mSynthParameters->mVCOFMDepth[2], *lvlVoice3fm4);
mAttachment->attachSlider(mSynthParameters->mGain, *volume);
mAttachment->attachButton(mSynthParameters->mGainAutoset, *volAutoset);
mAttachment->attachButton(mSynthParameters->mVCOActivate[0], *active1);
mAttachment->attachButton(mSynthParameters->mVCOActivate[1], *active2);
mAttachment->attachButton(mSynthParameters->mVCOActivate[2], *active3);
mAttachment->attachButton(mSynthParameters->mVCOActivate[3], *active4);
mAttachment->attachCombobox(mSynthParameters->mPolyMode, *polyCombo);
}
//[/MiscUserCode]
//==============================================================================
#if 0
/* -- Projucer information section --
This is where the Projucer stores the metadata that describe this GUI layout, so
make changes in here at your peril!
BEGIN_JUCER_METADATA
<JUCER_COMPONENT documentType="Component" className="GUIMix" componentName="GUIMix"
parentClasses="public GroupComponent" constructorParams=" const String& name, const String & text"
variableInitialisers="GroupComponent (name, text) " snapPixels="8"
snapActive="1" snapShown="1" overlayOpacity="0.330" fixedSize="0"
initialWidth="600" initialHeight="400">
<BACKGROUND backgroundColour="323e44">
<ELLIPSE pos="34c 20 20 20" fill="solid: ff7fff00" hasStroke="0"/>
<ELLIPSE pos="100c 20 20 20" fill="solid: ff7fff00" hasStroke="0"/>
<ELLIPSE pos="166c 20 20 20" fill="solid: ff7fff00" hasStroke="0"/>
<ELLIPSE pos="232c 20 20 20" fill="solid: ff7fff00" hasStroke="0"/>
</BACKGROUND>
<LABEL name="labelVoice1" id="b88f015ade4fde08" memberName="labelVoice1"
virtualName="" explicitFocusOrder="0" pos="38.5c 82c 73 24" posRelativeY="b8a5ef2d0601f570"
edTextCol="ff000000" edBkgCol="0" labelText="Voice 1" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15.0" kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice1" id="5e54bc9e1803a779" memberName="lvlVoice1"
virtualName="" explicitFocusOrder="0" pos="38c 122c 56 72" tooltip="Voice 1 level in ouput mix"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice2" id="1d3daf9d1c9d3a23" memberName="labelVoice2"
virtualName="" explicitFocusOrder="0" pos="104.5c 0Cc 73 24"
posRelativeY="b88f015ade4fde08" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 2" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice2" id="2c0288cab6c12b5e" memberName="lvlVoice2"
virtualName="" explicitFocusOrder="0" pos="104c 0Cc 56 72" posRelativeY="5e54bc9e1803a779"
tooltip="Voice 2 level in ouput mix" min="0.0" max="100.0" int="1.0"
style="RotaryVerticalDrag" textBoxPos="TextBoxBelow" textBoxEditable="1"
textBoxWidth="40" textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelVoice1x2" id="a2f30c61e148c032" memberName="labelVoice1x2"
virtualName="" explicitFocusOrder="0" pos="60.5c 374c 73 24"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 1x2" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice1x2" id="d3ae85ca9dfb9fa9" memberName="lvlVoice1x2"
virtualName="" explicitFocusOrder="0" pos="61c 414c 56 72" tooltip="% of Voice 1 x voice 2 in voice 2 TVF input"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice1fm2" id="76f8dc9d269e3e14" memberName="labelVoice1fm2"
virtualName="" explicitFocusOrder="0" pos="60.5c 458c 73 24"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 1 fm 2" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice1fm2" id="1644cd062b244c1a" memberName="lvlVoice1fm2"
virtualName="" explicitFocusOrder="0" pos="61c 498c 56 72" tooltip="Intensity of voice 2 frequency modulation by voice 1"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice2x3" id="30b52773f2bbc453" memberName="labelVoice2x3"
virtualName="" explicitFocusOrder="0" pos="134.5c 362 73 24"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 2x3" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice2x3" id="87a0a3a2c3f19c30" memberName="lvlVoice2x3"
virtualName="" explicitFocusOrder="0" pos="135c 0Cc 56 72" posRelativeY="d3ae85ca9dfb9fa9"
tooltip="% of Voice 2 x voice 3 in voice 3 TVF input" min="0.0"
max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice3x4" id="6bb9516b5ec3f036" memberName="labelVoice3x4"
virtualName="" explicitFocusOrder="0" pos="208.5c 362 73 24"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 3x4" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice3x4" id="f091c2c55d3be86a" memberName="lvlVoice3x4"
virtualName="" explicitFocusOrder="0" pos="209c 0Cc 56 72" posRelativeY="d3ae85ca9dfb9fa9"
tooltip="% of Voice 3 x voice 4 in voice 4 TVF input" min="0.0"
max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice2fm3" id="a40973fdd8d81100" memberName="labelVoice2fm3"
virtualName="" explicitFocusOrder="0" pos="134.5c 0Cc 73 24"
posRelativeY="76f8dc9d269e3e14" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 2 fm 3" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice2fm3" id="98c4bfb86c5e78c5" memberName="lvlVoice2fm3"
virtualName="" explicitFocusOrder="0" pos="135c 0Cc 56 72" posRelativeY="1644cd062b244c1a"
tooltip="Intensity of voice 3 frequency modulation by voice 2"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice3fm4" id="8cbcc15b51110e32" memberName="labelVoice3fm4"
virtualName="" explicitFocusOrder="0" pos="208.5c 0Cc 73 24"
posRelativeY="76f8dc9d269e3e14" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 3 fm 4" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice3fm4" id="6f28ddc0cdd9b4" memberName="lvlVoice3fm4"
virtualName="" explicitFocusOrder="0" pos="209c 0Cc 56 72" posRelativeY="1644cd062b244c1a"
tooltip="Intensity of voice 4 frequency modulation by voice 3"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice3" id="504fcf5300b1c3d7" memberName="labelVoice3"
virtualName="" explicitFocusOrder="0" pos="170.5c 0Cc 73 24"
posRelativeY="b88f015ade4fde08" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 3" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice3" id="8f066de490bbc7fc" memberName="lvlVoice3"
virtualName="" explicitFocusOrder="0" pos="170c 0Cc 56 72" posRelativeY="5e54bc9e1803a779"
tooltip="Voice 3 level in ouput mix" min="0.0" max="100.0" int="1.0"
style="RotaryVerticalDrag" textBoxPos="TextBoxBelow" textBoxEditable="1"
textBoxWidth="40" textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelVoice4" id="469649e523b4b521" memberName="labelVoice4"
virtualName="" explicitFocusOrder="0" pos="236.5c 0Cc 73 24"
posRelativeY="b88f015ade4fde08" edTextCol="ff000000" edBkgCol="0"
labelText="Voice 4" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="lvlVoice4" id="f85508e05ad43741" memberName="lvlVoice4"
virtualName="" explicitFocusOrder="0" pos="236c 0Cc 56 72" posRelativeY="5e54bc9e1803a779"
tooltip="Voice 4 level in ouput mix" min="0.0" max="100.0" int="1.0"
style="RotaryVerticalDrag" textBoxPos="TextBoxBelow" textBoxEditable="1"
textBoxWidth="40" textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelBalVoice1" id="461266eca7895152" memberName="labelBalVoice1"
virtualName="" explicitFocusOrder="0" pos="38.5c 187c 73 24"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Bal. 1" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balVoice1" id="cd5f023f010d846b" memberName="balVoice1"
virtualName="" explicitFocusOrder="0" pos="38c 227c 56 72" tooltip="Voice 1 balance"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice2" id="a58883980bfeb668" memberName="labelVoice6"
virtualName="" explicitFocusOrder="0" pos="104.5c 0Cc 73 24"
posRelativeY="461266eca7895152" edTextCol="ff000000" edBkgCol="0"
labelText="Bal. 2" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balVoice2" id="ccf61a2436ac077b" memberName="balVoice2"
virtualName="" explicitFocusOrder="0" pos="104c -1Cc 56 72" posRelativeY="cd5f023f010d846b"
tooltip="Voice 2 balance" min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelVoice3" id="29390bd598db1359" memberName="labelVoice7"
virtualName="" explicitFocusOrder="0" pos="170.5c 0Cc 73 24"
posRelativeY="461266eca7895152" edTextCol="ff000000" edBkgCol="0"
labelText="Bal. 3" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balVoice3" id="4ed53157dd62a67a" memberName="balVoice3"
virtualName="" explicitFocusOrder="0" pos="170c -1Cc 56 72" posRelativeY="cd5f023f010d846b"
tooltip="Voice 3 balance" min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelVoice4" id="b4ff4c0657efc581" memberName="labelVoice8"
virtualName="" explicitFocusOrder="0" pos="236.5c 0Cc 73 24"
posRelativeY="461266eca7895152" edTextCol="ff000000" edBkgCol="0"
labelText="Bal. 4" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balVoice4" id="1195f9f6dfbbae2d" memberName="balVoice4"
virtualName="" explicitFocusOrder="0" pos="236c -1Cc 56 72" posRelativeY="cd5f023f010d846b"
tooltip="Voice 4 balance" min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag"
textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="40"
textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labeBalLFOVoice1" id="28f5fbf1a020d6a0" memberName="labeBalLFOVoice1"
virtualName="" explicitFocusOrder="0" pos="38.5c 271.5c 73 21"
posRelativeY="b8a5ef2d0601f570" edTextCol="ff000000" edBkgCol="0"
labelText="Bal LFO 1" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balLFOVoice1" id="e520af9480a8e466" memberName="balLFOVoice1"
virtualName="" explicitFocusOrder="0" pos="38c 311.5c 56 69"
tooltip="Voice 1 Balance LFO depth" min="0.0" max="100.0" int="1.0"
style="RotaryVerticalDrag" textBoxPos="TextBoxBelow" textBoxEditable="1"
textBoxWidth="40" textBoxHeight="20" skewFactor="1.0" needsCallback="0"/>
<LABEL name="labelVoice2" id="b08f16f7739d6b59" memberName="labelVoice10"
virtualName="" explicitFocusOrder="0" pos="104.5c -0.5Cc 73 21"
posRelativeY="28f5fbf1a020d6a0" edTextCol="ff000000" edBkgCol="0"
labelText="Bal LFO 2" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balLFOVoice2" id="18e813830d076b3c" memberName="balLFOVoice2"
virtualName="" explicitFocusOrder="0" pos="104c -0.5Cc 56 69"
posRelativeY="e520af9480a8e466" tooltip="Voice 2 Balance LFO depth"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice3" id="d53e65e80733dddc" memberName="labelVoice11"
virtualName="" explicitFocusOrder="0" pos="170.5c -0.5Cc 73 21"
posRelativeY="28f5fbf1a020d6a0" edTextCol="ff000000" edBkgCol="0"
labelText="Bal LFO 3" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balLFOVoice3" id="1bdfab1326d3262d" memberName="balLFOVoice3"
virtualName="" explicitFocusOrder="0" pos="170c -0.5Cc 56 69"
posRelativeY="e520af9480a8e466" tooltip="Voice 3 Balance LFO depth"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="labelVoice4" id="2087aff83a30d61b" memberName="labelVoice12"
virtualName="" explicitFocusOrder="0" pos="236.5c -0.5Cc 73 21"
posRelativeY="28f5fbf1a020d6a0" edTextCol="ff000000" edBkgCol="0"
labelText="Bal LFO 4" editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="36"/>
<SLIDER name="balLFOVoice4" id="62ffb4b81f29ecf2" memberName="balLFOVoice4"
virtualName="" explicitFocusOrder="0" pos="236c -0.5Cc 56 69"
posRelativeY="e520af9480a8e466" tooltip="Voice 4 Balance LFO depth"
min="0.0" max="100.0" int="1.0" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
textBoxEditable="1" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<SLIDER name="volume" id="2646ef361cc34737" memberName="volume" virtualName=""
explicitFocusOrder="0" pos="47 558 216 24" tooltip="Output volume"
min="0.0" max="100.0" int="1.0" style="LinearHorizontal" textBoxPos="TextBoxRight"
textBoxEditable="0" textBoxWidth="40" textBoxHeight="20" skewFactor="1.0"
needsCallback="0"/>
<LABEL name="volumeLabel" id="9cc8d652d863f3c1" memberName="volumeLabel"
virtualName="" explicitFocusOrder="0" pos="10 558 34 24" edTextCol="ff000000"
edBkgCol="0" labelText="Vol." editableSingleClick="0" editableDoubleClick="0"
focusDiscardsChanges="0" fontname="Default font" fontsize="15.0"
kerning="0.0" bold="0" italic="0" justification="33"/>
<TOGGLEBUTTON name="volAutoset" id="f77e991b1ea20aa0" memberName="volAutoset"
virtualName="" explicitFocusOrder="0" pos="15 584 150 24" tooltip="Autoset volume in order not to clip."
buttonText="Volume autoset" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="active1" id="9c6f5128da3eecdd" memberName="active1" virtualName=""
explicitFocusOrder="0" pos="38c 45 32 24" tooltip="Activate / mute voice 1"
buttonText="" connectedEdges="0" needsCallback="0" radioGroupId="0"
state="1"/>
<TOGGLEBUTTON name="active1" id="f473cd73ba80a362" memberName="active2" virtualName=""
explicitFocusOrder="0" pos="104c 0Cc 32 24" posRelativeY="9c6f5128da3eecdd"
tooltip="Activate / mute voice 2" buttonText="" connectedEdges="0"
needsCallback="0" radioGroupId="0" state="1"/>
<TOGGLEBUTTON name="active1" id="4344a9ab3ab0db97" memberName="active3" virtualName=""
explicitFocusOrder="0" pos="170c 0Cc 32 24" posRelativeY="9c6f5128da3eecdd"
tooltip="Activate / mute voice 3" buttonText="" connectedEdges="0"
needsCallback="0" radioGroupId="0" state="1"/>
<TOGGLEBUTTON name="active1" id="acd3f8162734e452" memberName="active4" virtualName=""
explicitFocusOrder="0" pos="236c 0Cc 32 24" posRelativeY="9c6f5128da3eecdd"
tooltip="Activate / mute voice 4" buttonText="" connectedEdges="0"
needsCallback="0" radioGroupId="0" state="1"/>
<COMBOBOX name="polyCombo" id="19e763bfd8148067" memberName="polyCombo"
virtualName="" explicitFocusOrder="0" pos="55 630 150 24" tooltip="Polyphony mode : Poly stops a ringing note when retriggered, Mono retriggers a new note at each press, Mono legato just changes current note height. Poly ringing doesn't stop a ringing note when retriggered"
editable="0" layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
</JUCER_COMPONENT>
END_JUCER_METADATA
*/
#endif
//[EndFile] You can add extra defines here...
//[/EndFile]