Files
JaySynth/Source/JaySynthAudioProcessorEditor.cpp
T
jens 0f8abfd428 - LFO: added Sync modes Frequency, Phase and Frequency + Phase
- added GUI Parameter MIDISYNC_MODE and MIDISYNC_BERATDIV
- wired MIDISYNC params down to global LFO

git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@726 b431acfa-c32f-4a4a-93f1-934dc6c82436
2020-08-15 12:32:16 +00:00

6652 lines
378 KiB
C++

/*
==============================================================================
This is an automatically generated GUI class created by the Introjucer!
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 Introjucer version: 3.1.0
------------------------------------------------------------------------------
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-13 by Raw Material Software Ltd.
==============================================================================
*/
//[Headers] You can add your own extra header files here...
//[/Headers]
#include "JaySynthAudioProcessorEditor.h"
//[MiscUserDefs] You can add your own user definitions and misc code here...
//[/MiscUserDefs]
//==============================================================================
JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcessor* ownerFilter, bool has_wt)
: AudioProcessorEditor (ownerFilter)
{
addAndMakeVisible (m_label_colon = new Label ("Colon",
TRANS(":")));
m_label_colon->setFont (Font ("Times New Roman", 20.00f, Font::plain));
m_label_colon->setJustificationType (Justification::centredLeft);
m_label_colon->setEditable (false, false, false);
m_label_colon->setColour (Label::textColourId, Colours::white);
m_label_colon->setColour (TextEditor::textColourId, Colours::black);
m_label_colon->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
addAndMakeVisible (m_slider_master_volume = new Slider ("Master volume"));
m_slider_master_volume->setTooltip (TRANS("Master volume [%]"));
m_slider_master_volume->setRange (0, 1, 0);
m_slider_master_volume->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_master_volume->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_master_volume->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_master_volume->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_master_volume->addListener (this);
addAndMakeVisible (m_slider_vcf_f = new Slider ("VCF Cutoff"));
m_slider_vcf_f->setTooltip (TRANS("VCF Cutoff [Hz]"));
m_slider_vcf_f->setRange (0, 1, 0);
m_slider_vcf_f->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_f->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_f->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_f->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_f->addListener (this);
addAndMakeVisible (m_slider_vcf_q = new Slider ("VCF Resonance"));
m_slider_vcf_q->setTooltip (TRANS("VCF Resonance. Value = 1.0 means no resonance"));
m_slider_vcf_q->setRange (0, 1, 0);
m_slider_vcf_q->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_q->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_q->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_q->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_q->addListener (this);
addAndMakeVisible (m_slider_osc0_det = new Slider ("OSC 1 Detune"));
m_slider_osc0_det->setTooltip (TRANS("OSC 1 Detune [cent]"));
m_slider_osc0_det->setRange (0, 1, 0);
m_slider_osc0_det->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_det->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_det->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_det->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_det->addListener (this);
addAndMakeVisible (m_slider_osc1_det = new Slider ("OSC 2 Detune"));
m_slider_osc1_det->setTooltip (TRANS("OSC 2 Detune [cent]"));
m_slider_osc1_det->setRange (0, 1, 0);
m_slider_osc1_det->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_det->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_det->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_det->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_det->addListener (this);
addAndMakeVisible (m_slider_osc0_transpose = new Slider ("OSC 1 Transpose"));
m_slider_osc0_transpose->setTooltip (TRANS("OSC 1 Transpose [semitones]"));
m_slider_osc0_transpose->setRange (0, 1, 0);
m_slider_osc0_transpose->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_transpose->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_transpose->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_osc0_transpose->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_transpose->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_transpose->addListener (this);
addAndMakeVisible (m_slider_osc1_transpose = new Slider ("OSC 2 Transpose"));
m_slider_osc1_transpose->setTooltip (TRANS("OSC 2 Transpose [semitones]"));
m_slider_osc1_transpose->setRange (0, 1, 0);
m_slider_osc1_transpose->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_transpose->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_transpose->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_transpose->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_transpose->addListener (this);
addAndMakeVisible (m_slider_vca_env_attack = new Slider ("VCA Attack"));
m_slider_vca_env_attack->setTooltip (TRANS("VCA Attack Time [ms]"));
m_slider_vca_env_attack->setRange (0, 1, 0);
m_slider_vca_env_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_env_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_env_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_env_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_env_attack->addListener (this);
addAndMakeVisible (m_slider_vca_env_decay = new Slider ("VCA Decay"));
m_slider_vca_env_decay->setTooltip (TRANS("VCA Decay Time [ms]"));
m_slider_vca_env_decay->setRange (0, 1, 0);
m_slider_vca_env_decay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_env_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_env_decay->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_vca_env_decay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_env_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_env_decay->addListener (this);
addAndMakeVisible (m_slider_vca_env_release = new Slider ("VCA Release"));
m_slider_vca_env_release->setTooltip (TRANS("VCA Release Time [ms]"));
m_slider_vca_env_release->setRange (0, 1, 0);
m_slider_vca_env_release->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_env_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_env_release->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_env_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_env_release->addListener (this);
addAndMakeVisible (m_slider_vca_env_sustain = new Slider ("VCA Sustain"));
m_slider_vca_env_sustain->setTooltip (TRANS("VCA Sustain Level [%]"));
m_slider_vca_env_sustain->setRange (0, 1, 0);
m_slider_vca_env_sustain->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_env_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_env_sustain->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_env_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_env_sustain->addListener (this);
addAndMakeVisible (m_slider_vcf_env_attack = new Slider ("VCF Attack"));
m_slider_vcf_env_attack->setTooltip (TRANS("VCF Attack Time [ms]"));
m_slider_vcf_env_attack->setRange (0, 1, 0);
m_slider_vcf_env_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_env_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_env_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_env_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_env_attack->addListener (this);
addAndMakeVisible (m_slider_vcf_env_decay = new Slider ("VCF Decay"));
m_slider_vcf_env_decay->setTooltip (TRANS("VCF Decay Time [ms]"));
m_slider_vcf_env_decay->setRange (0, 1, 0);
m_slider_vcf_env_decay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_env_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_env_decay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_env_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_env_decay->addListener (this);
addAndMakeVisible (m_slider_vcf_env_release = new Slider ("VCF Release"));
m_slider_vcf_env_release->setTooltip (TRANS("VCF Release Time [ms]"));
m_slider_vcf_env_release->setRange (0, 1, 0);
m_slider_vcf_env_release->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_env_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_env_release->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_env_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_env_release->addListener (this);
addAndMakeVisible (m_slider_vcf_env_sustain = new Slider ("VCF Sustain"));
m_slider_vcf_env_sustain->setTooltip (TRANS("VCF Sustain Level [%]"));
m_slider_vcf_env_sustain->setRange (0, 1, 0);
m_slider_vcf_env_sustain->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_env_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_env_sustain->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_env_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_env_sustain->addListener (this);
addAndMakeVisible (m_slider_vcf_env_amount = new Slider ("VCF ENV Amount"));
m_slider_vcf_env_amount->setTooltip (TRANS("VCF Envelope Amount [%]"));
m_slider_vcf_env_amount->setRange (0, 1, 0);
m_slider_vcf_env_amount->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_env_amount->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_env_amount->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_env_amount->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_env_amount->addListener (this);
addAndMakeVisible (m_label_vcf_env_attack = new Label ("VCF Attack",
TRANS("value")));
m_label_vcf_env_attack->setFont (Font (14.00f, Font::plain));
m_label_vcf_env_attack->setJustificationType (Justification::centred);
m_label_vcf_env_attack->setEditable (true, true, false);
m_label_vcf_env_attack->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_env_attack->addListener (this);
addAndMakeVisible (m_label_vcf_f = new Label ("VCF Cutoff",
TRANS("value")));
m_label_vcf_f->setFont (Font (14.00f, Font::plain));
m_label_vcf_f->setJustificationType (Justification::centred);
m_label_vcf_f->setEditable (true, true, false);
m_label_vcf_f->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_f->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_f->addListener (this);
addAndMakeVisible (m_label_vca_env_attack = new Label ("VCA Attack",
TRANS("value")));
m_label_vca_env_attack->setFont (Font (14.00f, Font::plain));
m_label_vca_env_attack->setJustificationType (Justification::centred);
m_label_vca_env_attack->setEditable (true, true, false);
m_label_vca_env_attack->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_env_attack->addListener (this);
addAndMakeVisible (m_label_vca_env_decay = new Label ("VCA Decay",
TRANS("value")));
m_label_vca_env_decay->setFont (Font (14.00f, Font::plain));
m_label_vca_env_decay->setJustificationType (Justification::centred);
m_label_vca_env_decay->setEditable (true, true, false);
m_label_vca_env_decay->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_env_decay->addListener (this);
addAndMakeVisible (m_label_vca_env_sustain = new Label ("VCA Sustain",
TRANS("value")));
m_label_vca_env_sustain->setFont (Font (14.00f, Font::plain));
m_label_vca_env_sustain->setJustificationType (Justification::centred);
m_label_vca_env_sustain->setEditable (true, true, false);
m_label_vca_env_sustain->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_env_sustain->addListener (this);
addAndMakeVisible (m_label_vca_env_release = new Label ("VCA Release",
TRANS("value")));
m_label_vca_env_release->setFont (Font (14.00f, Font::plain));
m_label_vca_env_release->setJustificationType (Justification::centred);
m_label_vca_env_release->setEditable (true, true, false);
m_label_vca_env_release->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_env_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_env_release->addListener (this);
addAndMakeVisible (m_label_vcf_env_decay = new Label ("VCF Decay",
TRANS("value")));
m_label_vcf_env_decay->setFont (Font (14.00f, Font::plain));
m_label_vcf_env_decay->setJustificationType (Justification::centred);
m_label_vcf_env_decay->setEditable (true, true, false);
m_label_vcf_env_decay->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_env_decay->addListener (this);
addAndMakeVisible (m_label_vcf_env_sustain = new Label ("VCF Sustain",
TRANS("value")));
m_label_vcf_env_sustain->setFont (Font (14.00f, Font::plain));
m_label_vcf_env_sustain->setJustificationType (Justification::centred);
m_label_vcf_env_sustain->setEditable (true, true, false);
m_label_vcf_env_sustain->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_env_sustain->addListener (this);
addAndMakeVisible (m_label_vcf_env_release = new Label ("VCF Release",
TRANS("value")));
m_label_vcf_env_release->setFont (Font (14.00f, Font::plain));
m_label_vcf_env_release->setJustificationType (Justification::centred);
m_label_vcf_env_release->setEditable (true, true, false);
m_label_vcf_env_release->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_env_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_env_release->addListener (this);
addAndMakeVisible (m_label_vcf_q = new Label ("VCF Resonance",
TRANS("value")));
m_label_vcf_q->setFont (Font (14.00f, Font::plain));
m_label_vcf_q->setJustificationType (Justification::centred);
m_label_vcf_q->setEditable (true, true, false);
m_label_vcf_q->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_q->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_q->addListener (this);
addAndMakeVisible (m_label_vcf_env_amount = new Label ("VCF ENV Amount",
TRANS("value")));
m_label_vcf_env_amount->setFont (Font (14.00f, Font::plain));
m_label_vcf_env_amount->setJustificationType (Justification::centred);
m_label_vcf_env_amount->setEditable (true, true, false);
m_label_vcf_env_amount->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_env_amount->addListener (this);
addAndMakeVisible (m_label_master_volume = new Label ("Master volume",
TRANS("value")));
m_label_master_volume->setFont (Font (14.00f, Font::plain));
m_label_master_volume->setJustificationType (Justification::centred);
m_label_master_volume->setEditable (true, true, false);
m_label_master_volume->setColour (TextEditor::textColourId, Colours::black);
m_label_master_volume->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_master_volume->addListener (this);
addAndMakeVisible (m_label_osc0_transpose = new Label ("OSC 1 Transpose",
TRANS("value")));
m_label_osc0_transpose->setFont (Font (14.00f, Font::plain));
m_label_osc0_transpose->setJustificationType (Justification::centred);
m_label_osc0_transpose->setEditable (true, true, false);
m_label_osc0_transpose->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_transpose->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_transpose->addListener (this);
addAndMakeVisible (m_label_osc1_transpose = new Label ("OSC 2 Transpose",
TRANS("value")));
m_label_osc1_transpose->setFont (Font (14.00f, Font::plain));
m_label_osc1_transpose->setJustificationType (Justification::centred);
m_label_osc1_transpose->setEditable (true, true, false);
m_label_osc1_transpose->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_transpose->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_transpose->addListener (this);
addAndMakeVisible (m_label_osc0_det = new Label ("OSC 1 Detune",
TRANS("value")));
m_label_osc0_det->setFont (Font (14.00f, Font::plain));
m_label_osc0_det->setJustificationType (Justification::centred);
m_label_osc0_det->setEditable (true, true, false);
m_label_osc0_det->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_det->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_det->addListener (this);
addAndMakeVisible (m_label_osc1_det = new Label ("OSC 2 Detune",
TRANS("value")));
m_label_osc1_det->setFont (Font (14.00f, Font::plain));
m_label_osc1_det->setJustificationType (Justification::centred);
m_label_osc1_det->setEditable (true, true, false);
m_label_osc1_det->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_det->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_det->addListener (this);
addAndMakeVisible (m_slider_vca_env_amount = new Slider ("VCA ENV Amount"));
m_slider_vca_env_amount->setTooltip (TRANS("VCA Envelope Amount [%]"));
m_slider_vca_env_amount->setRange (0, 1, 0);
m_slider_vca_env_amount->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_env_amount->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_env_amount->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_env_amount->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_env_amount->addListener (this);
addAndMakeVisible (m_label_vca_env_amount = new Label ("VCA ENV Amount",
TRANS("value")));
m_label_vca_env_amount->setFont (Font (14.00f, Font::plain));
m_label_vca_env_amount->setJustificationType (Justification::centred);
m_label_vca_env_amount->setEditable (true, true, false);
m_label_vca_env_amount->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_env_amount->addListener (this);
addAndMakeVisible (m_slider_osc0_dutycycle = new Slider ("OSC 1 pulse width"));
m_slider_osc0_dutycycle->setTooltip (TRANS("OSC 1 pulse width [%]"));
m_slider_osc0_dutycycle->setRange (0, 1, 0);
m_slider_osc0_dutycycle->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_dutycycle->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_dutycycle->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_dutycycle->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_dutycycle->addListener (this);
addAndMakeVisible (m_slider_osc1_dutycycle = new Slider ("OSC 2 pulse width"));
m_slider_osc1_dutycycle->setTooltip (TRANS("OSC 2 pulse width [%]"));
m_slider_osc1_dutycycle->setRange (0, 1, 0);
m_slider_osc1_dutycycle->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_dutycycle->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_dutycycle->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_dutycycle->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_dutycycle->addListener (this);
addAndMakeVisible (m_label_osc0_dutycycle = new Label ("OSC 1 pulse width",
TRANS("value")));
m_label_osc0_dutycycle->setFont (Font (14.00f, Font::plain));
m_label_osc0_dutycycle->setJustificationType (Justification::centred);
m_label_osc0_dutycycle->setEditable (true, true, false);
m_label_osc0_dutycycle->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_dutycycle->addListener (this);
addAndMakeVisible (m_label_osc1_dutycycle = new Label ("OSC 2 pulse width",
TRANS("value")));
m_label_osc1_dutycycle->setFont (Font (14.00f, Font::plain));
m_label_osc1_dutycycle->setJustificationType (Justification::centred);
m_label_osc1_dutycycle->setEditable (true, true, false);
m_label_osc1_dutycycle->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_dutycycle->addListener (this);
addAndMakeVisible (m_slider_lfo0_speed = new Slider ("LFO 1 speed"));
m_slider_lfo0_speed->setTooltip (TRANS("LFO 1 speed [Hz]"));
m_slider_lfo0_speed->setRange (0, 1, 0);
m_slider_lfo0_speed->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_speed->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_speed->addListener (this);
addAndMakeVisible (m_slider_osc1_fm_amt0 = new Slider ("OSC 2 FM amount 1"));
m_slider_osc1_fm_amt0->setTooltip (TRANS("OSC 2 FM amount [semitones]"));
m_slider_osc1_fm_amt0->setRange (0, 1, 0);
m_slider_osc1_fm_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_fm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_fm_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_fm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_fm_amt0->addListener (this);
addAndMakeVisible (m_slider_osc0_fm_amt0 = new Slider ("OSC 1 FM amount 1"));
m_slider_osc0_fm_amt0->setTooltip (TRANS("OSC 1 FM amount [semitones]"));
m_slider_osc0_fm_amt0->setRange (0, 1, 0);
m_slider_osc0_fm_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_fm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_fm_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_fm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_fm_amt0->addListener (this);
addAndMakeVisible (m_label_lfo0_speed = new Label ("LFO 1 speed",
TRANS("value")));
m_label_lfo0_speed->setFont (Font (14.00f, Font::plain));
m_label_lfo0_speed->setJustificationType (Justification::centred);
m_label_lfo0_speed->setEditable (true, true, false);
m_label_lfo0_speed->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo0_speed->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo0_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_speed->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo0_speed->addListener (this);
addAndMakeVisible (m_label_osc0_fm_amt0 = new Label ("OSC 1 FM amt 1",
TRANS("value")));
m_label_osc0_fm_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc0_fm_amt0->setJustificationType (Justification::centred);
m_label_osc0_fm_amt0->setEditable (true, true, false);
m_label_osc0_fm_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_fm_amt0->addListener (this);
addAndMakeVisible (m_label_osc1_fm_amt0 = new Label ("OSC 2 FM amt 1",
TRANS("value")));
m_label_osc1_fm_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc1_fm_amt0->setJustificationType (Justification::centred);
m_label_osc1_fm_amt0->setEditable (true, true, false);
m_label_osc1_fm_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_fm_amt0->addListener (this);
addAndMakeVisible (m_slider_vcf_f_amt0 = new Slider ("VCF Cutoff amount 1"));
m_slider_vcf_f_amt0->setTooltip (TRANS("VCF Cutoff Amount [%]"));
m_slider_vcf_f_amt0->setRange (0, 1, 0);
m_slider_vcf_f_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_f_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_f_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_f_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_f_amt0->addListener (this);
addAndMakeVisible (m_label_vcf_f_amt0 = new Label ("VCF Cutoff amount 1",
TRANS("value")));
m_label_vcf_f_amt0->setFont (Font (14.00f, Font::plain));
m_label_vcf_f_amt0->setJustificationType (Justification::centred);
m_label_vcf_f_amt0->setEditable (true, true, false);
m_label_vcf_f_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_f_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_f_amt0->addListener (this);
addAndMakeVisible (m_slider_lfo1_speed = new Slider ("LFO 2 speed"));
m_slider_lfo1_speed->setTooltip (TRANS("LFO 2 speed [Hz]"));
m_slider_lfo1_speed->setRange (0, 1, 0);
m_slider_lfo1_speed->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo1_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo1_speed->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo1_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo1_speed->addListener (this);
addAndMakeVisible (m_label_lfo1_speed = new Label ("LFO 2 speed",
TRANS("value")));
m_label_lfo1_speed->setFont (Font (14.00f, Font::plain));
m_label_lfo1_speed->setJustificationType (Justification::centred);
m_label_lfo1_speed->setEditable (true, true, false);
m_label_lfo1_speed->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo1_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo1_speed->addListener (this);
addAndMakeVisible (m_comboBox_osc0_shape = new ComboBox ("OSC 1 shape"));
m_comboBox_osc0_shape->setTooltip (TRANS("OSC 1 shape"));
m_comboBox_osc0_shape->setEditableText (false);
m_comboBox_osc0_shape->setJustificationType (Justification::centred);
m_comboBox_osc0_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_shape->addItem (TRANS("Saw"), 1);
m_comboBox_osc0_shape->addItem (TRANS("Pulse"), 2);
m_comboBox_osc0_shape->addItem (TRANS("Tri"), 3);
m_comboBox_osc0_shape->addItem (TRANS("Sine"), 4);
m_comboBox_osc0_shape->addItem (TRANS("Impulse"), 5);
m_comboBox_osc0_shape->addListener (this);
addAndMakeVisible (m_comboBox_osc1_shape = new ComboBox ("OSC 2 shape"));
m_comboBox_osc1_shape->setTooltip (TRANS("OSC 2 shape"));
m_comboBox_osc1_shape->setEditableText (false);
m_comboBox_osc1_shape->setJustificationType (Justification::centred);
m_comboBox_osc1_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_shape->addItem (TRANS("Saw"), 1);
m_comboBox_osc1_shape->addItem (TRANS("Pulse"), 2);
m_comboBox_osc1_shape->addItem (TRANS("Tri"), 3);
m_comboBox_osc1_shape->addItem (TRANS("Sine"), 4);
m_comboBox_osc1_shape->addItem (TRANS("Impulse"), 5);
m_comboBox_osc1_shape->addListener (this);
addAndMakeVisible (m_comboBox_lfo0_shape = new ComboBox ("LFO 1 shape"));
m_comboBox_lfo0_shape->setTooltip (TRANS("LFO 1 shape"));
m_comboBox_lfo0_shape->setEditableText (false);
m_comboBox_lfo0_shape->setJustificationType (Justification::centred);
m_comboBox_lfo0_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_lfo0_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_lfo0_shape->addItem (TRANS("Sine"), 1);
m_comboBox_lfo0_shape->addItem (TRANS("Cosine"), 2);
m_comboBox_lfo0_shape->addItem (TRANS("Saw"), 3);
m_comboBox_lfo0_shape->addItem (TRANS("Square"), 4);
m_comboBox_lfo0_shape->addItem (TRANS("Tri"), 5);
m_comboBox_lfo0_shape->addItem (TRANS("S&H 1"), 6);
m_comboBox_lfo0_shape->addItem (TRANS("S&H 2"), 7);
m_comboBox_lfo0_shape->addItem (TRANS("1-Sine"), 8);
m_comboBox_lfo0_shape->addItem (TRANS("1-Cosine"), 9);
m_comboBox_lfo0_shape->addItem (TRANS("1-Saw"), 10);
m_comboBox_lfo0_shape->addItem (TRANS("1-Square"), 11);
m_comboBox_lfo0_shape->addItem (TRANS("1-Tri"), 12);
m_comboBox_lfo0_shape->addListener (this);
addAndMakeVisible (m_comboBox_lfo1_shape = new ComboBox ("LFO 2 shape"));
m_comboBox_lfo1_shape->setTooltip (TRANS("LFO 2 shape"));
m_comboBox_lfo1_shape->setEditableText (false);
m_comboBox_lfo1_shape->setJustificationType (Justification::centred);
m_comboBox_lfo1_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_lfo1_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_lfo1_shape->addItem (TRANS("Sine"), 1);
m_comboBox_lfo1_shape->addItem (TRANS("Cosine"), 2);
m_comboBox_lfo1_shape->addItem (TRANS("Saw"), 3);
m_comboBox_lfo1_shape->addItem (TRANS("Square"), 4);
m_comboBox_lfo1_shape->addItem (TRANS("Tri"), 5);
m_comboBox_lfo1_shape->addItem (TRANS("S&H 1"), 6);
m_comboBox_lfo1_shape->addItem (TRANS("S&H 2"), 7);
m_comboBox_lfo1_shape->addItem (TRANS("1-Sine"), 8);
m_comboBox_lfo1_shape->addItem (TRANS("1-Cosine"), 9);
m_comboBox_lfo1_shape->addItem (TRANS("1-Saw"), 10);
m_comboBox_lfo1_shape->addItem (TRANS("1-Square"), 11);
m_comboBox_lfo1_shape->addItem (TRANS("1-Tri"), 12);
m_comboBox_lfo1_shape->addListener (this);
addAndMakeVisible (m_slider_lfo2_speed = new Slider ("LFO 3 speed"));
m_slider_lfo2_speed->setTooltip (TRANS("LFO 3 speed [Hz]"));
m_slider_lfo2_speed->setRange (0, 1, 0);
m_slider_lfo2_speed->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo2_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo2_speed->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo2_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo2_speed->addListener (this);
addAndMakeVisible (m_slider_lfo3_speed = new Slider ("LFO 4 speed"));
m_slider_lfo3_speed->setTooltip (TRANS("LFO 4 speed [Hz]"));
m_slider_lfo3_speed->setRange (0, 1, 0);
m_slider_lfo3_speed->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo3_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo3_speed->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo3_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo3_speed->addListener (this);
addAndMakeVisible (m_comboBox_lfo2_shape = new ComboBox ("LFO 3 shape"));
m_comboBox_lfo2_shape->setTooltip (TRANS("LFO 3 shape"));
m_comboBox_lfo2_shape->setEditableText (false);
m_comboBox_lfo2_shape->setJustificationType (Justification::centred);
m_comboBox_lfo2_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_lfo2_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_lfo2_shape->addItem (TRANS("Sine"), 1);
m_comboBox_lfo2_shape->addItem (TRANS("Cosine"), 2);
m_comboBox_lfo2_shape->addItem (TRANS("Saw"), 3);
m_comboBox_lfo2_shape->addItem (TRANS("Square"), 4);
m_comboBox_lfo2_shape->addItem (TRANS("Tri"), 5);
m_comboBox_lfo2_shape->addItem (TRANS("S&H 1"), 6);
m_comboBox_lfo2_shape->addItem (TRANS("S&H 2"), 7);
m_comboBox_lfo2_shape->addItem (TRANS("1-Sine"), 8);
m_comboBox_lfo2_shape->addItem (TRANS("1-Cosine"), 9);
m_comboBox_lfo2_shape->addItem (TRANS("1-Saw"), 10);
m_comboBox_lfo2_shape->addItem (TRANS("1-Square"), 11);
m_comboBox_lfo2_shape->addItem (TRANS("1-Tri"), 12);
m_comboBox_lfo2_shape->addListener (this);
addAndMakeVisible (m_comboBox_lfo3_shape = new ComboBox ("LFO 4 shape"));
m_comboBox_lfo3_shape->setTooltip (TRANS("LFO 4 shape"));
m_comboBox_lfo3_shape->setEditableText (false);
m_comboBox_lfo3_shape->setJustificationType (Justification::centred);
m_comboBox_lfo3_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_lfo3_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_lfo3_shape->addItem (TRANS("Sine"), 1);
m_comboBox_lfo3_shape->addItem (TRANS("Cosine"), 2);
m_comboBox_lfo3_shape->addItem (TRANS("Saw"), 3);
m_comboBox_lfo3_shape->addItem (TRANS("Square"), 4);
m_comboBox_lfo3_shape->addItem (TRANS("Tri"), 5);
m_comboBox_lfo3_shape->addItem (TRANS("S&H 1"), 6);
m_comboBox_lfo3_shape->addItem (TRANS("S&H 2"), 7);
m_comboBox_lfo3_shape->addItem (TRANS("1-Sine"), 8);
m_comboBox_lfo3_shape->addItem (TRANS("1-Cosine"), 9);
m_comboBox_lfo3_shape->addItem (TRANS("1-Saw"), 10);
m_comboBox_lfo3_shape->addItem (TRANS("1-Square"), 11);
m_comboBox_lfo3_shape->addItem (TRANS("1-Tri"), 12);
m_comboBox_lfo3_shape->addListener (this);
addAndMakeVisible (m_label_lfo2_speed = new Label ("LFO 3 speed",
TRANS("value")));
m_label_lfo2_speed->setFont (Font (14.00f, Font::plain));
m_label_lfo2_speed->setJustificationType (Justification::centred);
m_label_lfo2_speed->setEditable (true, true, false);
m_label_lfo2_speed->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo2_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo2_speed->addListener (this);
addAndMakeVisible (m_label_lfo3_speed = new Label ("LFO 3 speed",
TRANS("value")));
m_label_lfo3_speed->setFont (Font (14.00f, Font::plain));
m_label_lfo3_speed->setJustificationType (Justification::centred);
m_label_lfo3_speed->setEditable (true, true, false);
m_label_lfo3_speed->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo3_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo3_speed->addListener (this);
addAndMakeVisible (m_comboBox_vcf_f_src0 = new ComboBox ("VCF Cutoff Source 1"));
m_comboBox_vcf_f_src0->setTooltip (TRANS("VCF Cutoff Modulation Source 1"));
m_comboBox_vcf_f_src0->setEditableText (false);
m_comboBox_vcf_f_src0->setJustificationType (Justification::centred);
m_comboBox_vcf_f_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_f_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_f_src0->addListener (this);
addAndMakeVisible (m_comboBox_osc0_fm_src0 = new ComboBox ("OSC 1 FM Source 1"));
m_comboBox_osc0_fm_src0->setTooltip (TRANS("OSC 1 FM Modulation Source 1"));
m_comboBox_osc0_fm_src0->setEditableText (false);
m_comboBox_osc0_fm_src0->setJustificationType (Justification::centred);
m_comboBox_osc0_fm_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_fm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_fm_src0->addListener (this);
addAndMakeVisible (m_comboBox_osc1_fm_src0 = new ComboBox ("OSC 2 FM Source 1"));
m_comboBox_osc1_fm_src0->setTooltip (TRANS("OSC 2 FM Modulation Source 1"));
m_comboBox_osc1_fm_src0->setEditableText (false);
m_comboBox_osc1_fm_src0->setJustificationType (Justification::centred);
m_comboBox_osc1_fm_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_fm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_fm_src0->addListener (this);
addAndMakeVisible (m_slider_vca_am_amt0 = new Slider ("Tremolo amt"));
m_slider_vca_am_amt0->setTooltip (TRANS("Tremolo Amount [%]"));
m_slider_vca_am_amt0->setRange (0, 1, 0);
m_slider_vca_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_am_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_am_amt0->addListener (this);
addAndMakeVisible (m_label_vca_am_amt0 = new Label ("Tremolo amt",
TRANS("value")));
m_label_vca_am_amt0->setFont (Font (14.00f, Font::plain));
m_label_vca_am_amt0->setJustificationType (Justification::centred);
m_label_vca_am_amt0->setEditable (true, true, false);
m_label_vca_am_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_am_amt0->addListener (this);
addAndMakeVisible (m_comboBox_vca_am_src0 = new ComboBox ("Tremolo Source 1"));
m_comboBox_vca_am_src0->setTooltip (TRANS("Tremolo Modulation Source 1"));
m_comboBox_vca_am_src0->setEditableText (false);
m_comboBox_vca_am_src0->setJustificationType (Justification::centred);
m_comboBox_vca_am_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_vca_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vca_am_src0->addListener (this);
addAndMakeVisible (m_slider_vca_pan_amt0 = new Slider ("Stereo pan amt"));
m_slider_vca_pan_amt0->setTooltip (TRANS("Stereo Pan Amount [%]"));
m_slider_vca_pan_amt0->setRange (0, 1, 0);
m_slider_vca_pan_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vca_pan_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vca_pan_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vca_pan_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vca_pan_amt0->addListener (this);
addAndMakeVisible (m_label_vca_pan_amt0 = new Label ("Stereo pan amt",
TRANS("value")));
m_label_vca_pan_amt0->setFont (Font (14.00f, Font::plain));
m_label_vca_pan_amt0->setJustificationType (Justification::centred);
m_label_vca_pan_amt0->setEditable (true, true, false);
m_label_vca_pan_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_vca_pan_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vca_pan_amt0->addListener (this);
addAndMakeVisible (m_comboBox_vca_pan_src0 = new ComboBox ("Stereo pan Source"));
m_comboBox_vca_pan_src0->setTooltip (TRANS("Stereo Pan Modulation Source 1"));
m_comboBox_vca_pan_src0->setEditableText (false);
m_comboBox_vca_pan_src0->setJustificationType (Justification::centred);
m_comboBox_vca_pan_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_vca_pan_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vca_pan_src0->addListener (this);
addAndMakeVisible (m_label_synth_name = new Label ("Synth Name",
TRANS("Jay Synth")));
m_label_synth_name->setFont (Font ("Arial", 20.00f, Font::plain));
m_label_synth_name->setJustificationType (Justification::centredLeft);
m_label_synth_name->setEditable (false, false, false);
m_label_synth_name->setColour (Label::textColourId, Colours::white);
m_label_synth_name->setColour (TextEditor::textColourId, Colours::black);
m_label_synth_name->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
addAndMakeVisible (m_label_synth_version = new Label ("Synth Version",
TRANS("V 1.0.0")));
m_label_synth_version->setFont (Font ("Arial", 14.00f, Font::plain));
m_label_synth_version->setJustificationType (Justification::centredRight);
m_label_synth_version->setEditable (false, false, false);
m_label_synth_version->setColour (Label::textColourId, Colours::white);
m_label_synth_version->setColour (TextEditor::textColourId, Colours::black);
m_label_synth_version->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
addAndMakeVisible (m_comboBox_vcf_type = new ComboBox ("VCF Type"));
m_comboBox_vcf_type->setTooltip (TRANS("VCF Type"));
m_comboBox_vcf_type->setEditableText (false);
m_comboBox_vcf_type->setJustificationType (Justification::centred);
m_comboBox_vcf_type->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_type->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_type->addItem (TRANS("LPF"), 1);
m_comboBox_vcf_type->addItem (TRANS("HPF"), 2);
m_comboBox_vcf_type->addItem (TRANS("BPF"), 3);
m_comboBox_vcf_type->addListener (this);
addAndMakeVisible (m_slider_lfo1_smooth = new Slider ("LFO 2 smooth"));
m_slider_lfo1_smooth->setTooltip (TRANS("LFO 2 smooth [%]"));
m_slider_lfo1_smooth->setRange (0, 1, 0);
m_slider_lfo1_smooth->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo1_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo1_smooth->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo1_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo1_smooth->addListener (this);
addAndMakeVisible (m_label_lfo1_smooth = new Label ("LFO 2 smooth",
TRANS("value")));
m_label_lfo1_smooth->setFont (Font (14.00f, Font::plain));
m_label_lfo1_smooth->setJustificationType (Justification::centred);
m_label_lfo1_smooth->setEditable (true, true, false);
m_label_lfo1_smooth->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo1_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo1_smooth->addListener (this);
addAndMakeVisible (m_slider_lfo0_smooth = new Slider ("LFO 1 smooth"));
m_slider_lfo0_smooth->setTooltip (TRANS("LFO 1 smooth [%]"));
m_slider_lfo0_smooth->setRange (0, 1, 0);
m_slider_lfo0_smooth->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_smooth->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_smooth->addListener (this);
addAndMakeVisible (m_label_lfo0_smooth = new Label ("LFO 1 smooth",
TRANS("value")));
m_label_lfo0_smooth->setFont (Font (14.00f, Font::plain));
m_label_lfo0_smooth->setJustificationType (Justification::centred);
m_label_lfo0_smooth->setEditable (true, true, false);
m_label_lfo0_smooth->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo0_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_smooth->addListener (this);
addAndMakeVisible (m_slider_lfo2_smooth = new Slider ("LFO 3 smooth"));
m_slider_lfo2_smooth->setTooltip (TRANS("LFO 3 smooth [%]"));
m_slider_lfo2_smooth->setRange (0, 1, 0);
m_slider_lfo2_smooth->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo2_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo2_smooth->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo2_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo2_smooth->addListener (this);
addAndMakeVisible (m_label_lfo2_smooth = new Label ("LFO 3 smooth",
TRANS("value")));
m_label_lfo2_smooth->setFont (Font (14.00f, Font::plain));
m_label_lfo2_smooth->setJustificationType (Justification::centred);
m_label_lfo2_smooth->setEditable (true, true, false);
m_label_lfo2_smooth->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo2_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo2_smooth->addListener (this);
addAndMakeVisible (m_slider_lfo3_smooth = new Slider ("LFO 4 smooth"));
m_slider_lfo3_smooth->setTooltip (TRANS("LFO 4 smooth [%]"));
m_slider_lfo3_smooth->setRange (0, 1, 0);
m_slider_lfo3_smooth->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo3_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo3_smooth->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo3_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo3_smooth->addListener (this);
addAndMakeVisible (m_label_lfo3_smooth = new Label ("LFO 4 smooth",
TRANS("value")));
m_label_lfo3_smooth->setFont (Font (14.00f, Font::plain));
m_label_lfo3_smooth->setJustificationType (Justification::centred);
m_label_lfo3_smooth->setEditable (true, true, false);
m_label_lfo3_smooth->setColour (TextEditor::textColourId, Colours::black);
m_label_lfo3_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo3_smooth->addListener (this);
addAndMakeVisible (m_slider_osc0_pwm_amt0 = new Slider ("OSC 1 PWM amount 1"));
m_slider_osc0_pwm_amt0->setTooltip (TRANS("OSC 1 PWM Amount [%]"));
m_slider_osc0_pwm_amt0->setRange (0, 1, 0);
m_slider_osc0_pwm_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_pwm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_pwm_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_pwm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_pwm_amt0->addListener (this);
addAndMakeVisible (m_label_osc0_pwm_amt0 = new Label ("OSC 1 PWM 1",
TRANS("value")));
m_label_osc0_pwm_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc0_pwm_amt0->setJustificationType (Justification::centred);
m_label_osc0_pwm_amt0->setEditable (true, true, false);
m_label_osc0_pwm_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_pwm_amt0->addListener (this);
addAndMakeVisible (m_slider_osc1_pwm_amt0 = new Slider ("OSC 2 PWM amount 1"));
m_slider_osc1_pwm_amt0->setTooltip (TRANS("OSC 2 PWM Amount [%]"));
m_slider_osc1_pwm_amt0->setRange (0, 1, 0);
m_slider_osc1_pwm_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_pwm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_pwm_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_pwm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_pwm_amt0->addListener (this);
addAndMakeVisible (m_label_osc1_pwm_amt0 = new Label ("OSC 2 PWM amount 1",
TRANS("value")));
m_label_osc1_pwm_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc1_pwm_amt0->setJustificationType (Justification::centred);
m_label_osc1_pwm_amt0->setEditable (true, true, false);
m_label_osc1_pwm_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_pwm_amt0->addListener (this);
addAndMakeVisible (m_comboBox_osc0_pwm_src0 = new ComboBox ("OSC 1 PWM Source 1"));
m_comboBox_osc0_pwm_src0->setTooltip (TRANS("OSC 1 PWM Modulation Source 1"));
m_comboBox_osc0_pwm_src0->setEditableText (false);
m_comboBox_osc0_pwm_src0->setJustificationType (Justification::centred);
m_comboBox_osc0_pwm_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_pwm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_pwm_src0->addListener (this);
addAndMakeVisible (m_comboBox_osc1_pwm_src0 = new ComboBox ("OSC 2 PWM Source 1"));
m_comboBox_osc1_pwm_src0->setTooltip (TRANS("OSC 2 PWM Modulation Source 1"));
m_comboBox_osc1_pwm_src0->setEditableText (false);
m_comboBox_osc1_pwm_src0->setJustificationType (Justification::centred);
m_comboBox_osc1_pwm_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_pwm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_pwm_src0->addListener (this);
addAndMakeVisible (m_slider_osc0_level = new Slider ("OSC 1 Level"));
m_slider_osc0_level->setTooltip (TRANS("OSC 1 Level [%]"));
m_slider_osc0_level->setRange (0, 1, 0);
m_slider_osc0_level->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_level->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_osc0_level->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_level->addListener (this);
addAndMakeVisible (m_label_osc0_level = new Label ("OSC 1 Level",
TRANS("value")));
m_label_osc0_level->setFont (Font (14.00f, Font::plain));
m_label_osc0_level->setJustificationType (Justification::centred);
m_label_osc0_level->setEditable (true, true, false);
m_label_osc0_level->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_level->addListener (this);
addAndMakeVisible (m_slider_osc1_level = new Slider ("OSC 2 Level"));
m_slider_osc1_level->setTooltip (TRANS("OSC 2 Level [%]"));
m_slider_osc1_level->setRange (0, 1, 0);
m_slider_osc1_level->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_level->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_osc1_level->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_level->addListener (this);
addAndMakeVisible (m_label_osc1_level = new Label ("OSC 2 Level",
TRANS("value")));
m_label_osc1_level->setFont (Font (14.00f, Font::plain));
m_label_osc1_level->setJustificationType (Justification::centred);
m_label_osc1_level->setEditable (true, true, false);
m_label_osc1_level->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_level->addListener (this);
addAndMakeVisible (m_slider_noise_level = new Slider ("Noise Level"));
m_slider_noise_level->setTooltip (TRANS("Noise Level [%]"));
m_slider_noise_level->setRange (0, 1, 0);
m_slider_noise_level->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_noise_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_noise_level->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_noise_level->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_noise_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_noise_level->addListener (this);
addAndMakeVisible (m_label_noise_level = new Label ("Noise Level",
TRANS("value")));
m_label_noise_level->setFont (Font (14.00f, Font::plain));
m_label_noise_level->setJustificationType (Justification::centred);
m_label_noise_level->setEditable (true, true, false);
m_label_noise_level->setColour (TextEditor::textColourId, Colours::black);
m_label_noise_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_noise_level->addListener (this);
addAndMakeVisible (m_comboBox_noise_shape = new ComboBox ("Noise shape"));
m_comboBox_noise_shape->setTooltip (TRANS("Noise shape"));
m_comboBox_noise_shape->setEditableText (false);
m_comboBox_noise_shape->setJustificationType (Justification::centred);
m_comboBox_noise_shape->setTextWhenNothingSelected (String::empty);
m_comboBox_noise_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_noise_shape->addItem (TRANS("Uniform"), 1);
m_comboBox_noise_shape->addItem (TRANS("Gauss"), 2);
m_comboBox_noise_shape->addListener (this);
addAndMakeVisible (m_btn_noise_enable_led = new ButtonLED (L"Noise On/Off"));
addAndMakeVisible (m_btn_osc0_enable = new ButtonLED (L"OSC 1 On/Off"));
addAndMakeVisible (m_btn_osc1_enable = new ButtonLED (L"OSC 2 On/Off"));
addAndMakeVisible (m_label_patch_name = new Label ("Label Patch Name",
TRANS("Patch name")));
m_label_patch_name->setFont (Font (20.00f, Font::plain));
m_label_patch_name->setJustificationType (Justification::centredLeft);
m_label_patch_name->setEditable (true, true, false);
m_label_patch_name->setColour (Label::textColourId, Colours::white);
m_label_patch_name->setColour (TextEditor::textColourId, Colours::black);
m_label_patch_name->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_patch_name->addListener (this);
addAndMakeVisible (m_button_patch_incr = new TextButton ("Patch Increment"));
m_button_patch_incr->setTooltip (TRANS("Next Patch"));
m_button_patch_incr->setButtonText (TRANS("+"));
addAndMakeVisible (m_button_patch_decr = new TextButton ("Patch Decrement"));
m_button_patch_decr->setTooltip (TRANS("Previous Patch"));
m_button_patch_decr->setButtonText (TRANS("-"));
addAndMakeVisible (m_label_patch_number = new Label ("Label Patch Number",
TRANS("00")));
m_label_patch_number->setFont (Font (20.00f, Font::plain));
m_label_patch_number->setJustificationType (Justification::centredLeft);
m_label_patch_number->setEditable (true, true, false);
m_label_patch_number->setColour (Label::textColourId, Colours::white);
m_label_patch_number->setColour (TextEditor::textColourId, Colours::black);
m_label_patch_number->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_patch_number->addListener (this);
addAndMakeVisible (m_label_osc1_pb_min = new Label ("OSC 2 Pitch bender min",
TRANS("-24")));
m_label_osc1_pb_min->setTooltip (TRANS("OSC 2 pitch bender minimum [semitones]"));
m_label_osc1_pb_min->setFont (Font (12.00f, Font::plain));
m_label_osc1_pb_min->setJustificationType (Justification::centred);
m_label_osc1_pb_min->setEditable (true, true, false);
m_label_osc1_pb_min->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_pb_min->addListener (this);
addAndMakeVisible (m_label_osc1_pb_max = new Label ("OSC 2 Pitch bender max",
TRANS("+24")));
m_label_osc1_pb_max->setTooltip (TRANS("OSC 2 pitch bender maximum [semitones]"));
m_label_osc1_pb_max->setFont (Font (12.00f, Font::plain));
m_label_osc1_pb_max->setJustificationType (Justification::centred);
m_label_osc1_pb_max->setEditable (true, true, false);
m_label_osc1_pb_max->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_pb_max->addListener (this);
addAndMakeVisible (m_label_osc0_pb_max = new Label ("OSC 1 Pitch bender max",
TRANS("+24")));
m_label_osc0_pb_max->setTooltip (TRANS("OSC 1 pitch bender maximum [semitones]"));
m_label_osc0_pb_max->setFont (Font (12.00f, Font::plain));
m_label_osc0_pb_max->setJustificationType (Justification::centred);
m_label_osc0_pb_max->setEditable (true, true, false);
m_label_osc0_pb_max->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_pb_max->addListener (this);
addAndMakeVisible (m_label_osc0_pb_min = new Label ("OSC 1 Pitch bender min",
TRANS("-24")));
m_label_osc0_pb_min->setTooltip (TRANS("OSC 1 pitch bender minimum [semitones]"));
m_label_osc0_pb_min->setFont (Font (12.00f, Font::plain));
m_label_osc0_pb_min->setJustificationType (Justification::centred);
m_label_osc0_pb_min->setEditable (true, true, false);
m_label_osc0_pb_min->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_pb_min->addListener (this);
addAndMakeVisible (m_slider_master_tune = new Slider ("Master tune"));
m_slider_master_tune->setTooltip (TRANS("Master tune [semitones]"));
m_slider_master_tune->setRange (0, 1, 0);
m_slider_master_tune->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_master_tune->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_master_tune->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_master_tune->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_master_tune->addListener (this);
addAndMakeVisible (m_label_master_tune = new Label ("Master tune",
TRANS("value")));
m_label_master_tune->setFont (Font (14.00f, Font::plain));
m_label_master_tune->setJustificationType (Justification::centred);
m_label_master_tune->setEditable (true, true, false);
m_label_master_tune->setColour (TextEditor::textColourId, Colours::black);
m_label_master_tune->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_master_tune->addListener (this);
addAndMakeVisible (m_button_humanize_enable = new ToggleButton ("Humanize Enable"));
m_button_humanize_enable->setTooltip (TRANS("Humanize spreads individual voice parameter to get a more vivid sound\\n. Humanize alters VCO tune, VCF cutoff and ENV times."));
m_button_humanize_enable->setButtonText (TRANS("Humanize"));
m_button_humanize_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_comboBox_vcf_order = new ComboBox ("VCF Order"));
m_comboBox_vcf_order->setTooltip (TRANS("VCF Order"));
m_comboBox_vcf_order->setEditableText (false);
m_comboBox_vcf_order->setJustificationType (Justification::centred);
m_comboBox_vcf_order->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_order->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_order->addItem (TRANS("12 dB/Oct."), 1);
m_comboBox_vcf_order->addItem (TRANS("24 dB/Oct."), 2);
m_comboBox_vcf_order->addSeparator();
m_comboBox_vcf_order->addListener (this);
addAndMakeVisible (m_slider_portamento_time = new Slider ("Portamento Time"));
m_slider_portamento_time->setTooltip (TRANS("Portamento Time [s]"));
m_slider_portamento_time->setRange (0, 1, 0);
m_slider_portamento_time->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_portamento_time->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_portamento_time->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_portamento_time->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_portamento_time->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_portamento_time->addListener (this);
addAndMakeVisible (m_label_portamento_time = new Label ("Portamento Time",
TRANS("value")));
m_label_portamento_time->setFont (Font (14.00f, Font::plain));
m_label_portamento_time->setJustificationType (Justification::centred);
m_label_portamento_time->setEditable (true, true, false);
m_label_portamento_time->setColour (TextEditor::textColourId, Colours::black);
m_label_portamento_time->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_portamento_time->addListener (this);
addAndMakeVisible (m_button_unisono_enable = new ToggleButton ("Unisono Enable"));
m_button_unisono_enable->setTooltip (TRANS("This button switches unisono mode on and off"));
m_button_unisono_enable->setButtonText (TRANS("Unisono"));
m_button_unisono_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_slider_humanize_var_vco = new Slider ("Humanize Variance VCO"));
m_slider_humanize_var_vco->setTooltip (TRANS("Humanize spread VCO [%]"));
m_slider_humanize_var_vco->setRange (0, 1, 0);
m_slider_humanize_var_vco->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_humanize_var_vco->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_humanize_var_vco->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_humanize_var_vco->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_humanize_var_vco->addListener (this);
addAndMakeVisible (m_slider_voice_pan_spread = new Slider ("Voice Pan Spread"));
m_slider_voice_pan_spread->setTooltip (TRANS("Voice Pan Spread [%]"));
m_slider_voice_pan_spread->setRange (0, 1, 0);
m_slider_voice_pan_spread->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_voice_pan_spread->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_voice_pan_spread->setColour (Slider::trackColourId, Colour (0x7fffffff));
m_slider_voice_pan_spread->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_voice_pan_spread->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_voice_pan_spread->addListener (this);
addAndMakeVisible (m_label_voice_pan_spread = new Label ("Voice Pan Spread",
TRANS("value")));
m_label_voice_pan_spread->setFont (Font (14.00f, Font::plain));
m_label_voice_pan_spread->setJustificationType (Justification::centred);
m_label_voice_pan_spread->setEditable (true, true, false);
m_label_voice_pan_spread->setColour (TextEditor::textColourId, Colours::black);
m_label_voice_pan_spread->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_voice_pan_spread->addListener (this);
addAndMakeVisible (m_slider_humanize_var_vcf = new Slider ("Humanize Variance VCF"));
m_slider_humanize_var_vcf->setTooltip (TRANS("Humanize spread VCF [%]"));
m_slider_humanize_var_vcf->setRange (0, 1, 0);
m_slider_humanize_var_vcf->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_humanize_var_vcf->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_humanize_var_vcf->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_humanize_var_vcf->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_humanize_var_vcf->addListener (this);
addAndMakeVisible (m_slider_humanize_var_env = new Slider ("Humanize Variance ENV"));
m_slider_humanize_var_env->setTooltip (TRANS("Humanize spread Envelopes [%]"));
m_slider_humanize_var_env->setRange (0, 1, 0);
m_slider_humanize_var_env->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_humanize_var_env->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_humanize_var_env->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_humanize_var_env->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_humanize_var_env->addListener (this);
addAndMakeVisible (m_label_unisono_num_voices = new Label ("Unisono Number of Voices",
TRANS("999")));
m_label_unisono_num_voices->setTooltip (TRANS("Unisono number of voices to allocate"));
m_label_unisono_num_voices->setFont (Font (14.00f, Font::plain));
m_label_unisono_num_voices->setJustificationType (Justification::centred);
m_label_unisono_num_voices->setEditable (true, true, false);
m_label_unisono_num_voices->setColour (TextEditor::textColourId, Colours::black);
m_label_unisono_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_unisono_num_voices->addListener (this);
addAndMakeVisible (m_button_osc0_restart_enable = new ToggleButton ("Restart VCO 1 Enable"));
m_button_osc0_restart_enable->setTooltip (TRANS("If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."));
m_button_osc0_restart_enable->setButtonText (TRANS("Restart"));
m_button_osc0_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_osc1_restart_enable = new ToggleButton ("Restart VCO 2 Enable"));
m_button_osc1_restart_enable->setTooltip (TRANS("If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."));
m_button_osc1_restart_enable->setButtonText (TRANS("Restart"));
m_button_osc1_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_mono_enable = new ToggleButton ("Monophonic Enable"));
m_button_mono_enable->setTooltip (TRANS("This button switches monophonic mode on and off"));
m_button_mono_enable->setButtonText (TRANS("Monophonic"));
m_button_mono_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_comboBox_osc1_fm_src1 = new ComboBox ("OSC 2 FM Source 2"));
m_comboBox_osc1_fm_src1->setTooltip (TRANS("OSC 2 FM Modulation Source 2"));
m_comboBox_osc1_fm_src1->setEditableText (false);
m_comboBox_osc1_fm_src1->setJustificationType (Justification::centred);
m_comboBox_osc1_fm_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_fm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_fm_src1->addListener (this);
addAndMakeVisible (m_comboBox_osc1_pwm_src1 = new ComboBox ("OSC 2 PWM Source 2"));
m_comboBox_osc1_pwm_src1->setTooltip (TRANS("OSC 2 PWM Modulation Source 2"));
m_comboBox_osc1_pwm_src1->setEditableText (false);
m_comboBox_osc1_pwm_src1->setJustificationType (Justification::centred);
m_comboBox_osc1_pwm_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_pwm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_pwm_src1->addListener (this);
addAndMakeVisible (m_comboBox_osc0_fm_src1 = new ComboBox ("OSC 1 FM Source 2"));
m_comboBox_osc0_fm_src1->setTooltip (TRANS("OSC 1 FM Modulation Source 2"));
m_comboBox_osc0_fm_src1->setEditableText (false);
m_comboBox_osc0_fm_src1->setJustificationType (Justification::centred);
m_comboBox_osc0_fm_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_fm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_fm_src1->addListener (this);
addAndMakeVisible (m_comboBox_osc0_pwm_src1 = new ComboBox ("OSC 1 PWM Source 2"));
m_comboBox_osc0_pwm_src1->setTooltip (TRANS("OSC 1 PWM Modulation Source 2"));
m_comboBox_osc0_pwm_src1->setEditableText (false);
m_comboBox_osc0_pwm_src1->setJustificationType (Justification::centred);
m_comboBox_osc0_pwm_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_pwm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_pwm_src1->addListener (this);
addAndMakeVisible (m_comboBox_osc1_am_src0 = new ComboBox ("OSC 2 AM Source 1"));
m_comboBox_osc1_am_src0->setTooltip (TRANS("OSC 2 AM Modulation Source 1"));
m_comboBox_osc1_am_src0->setEditableText (false);
m_comboBox_osc1_am_src0->setJustificationType (Justification::centred);
m_comboBox_osc1_am_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_am_src0->addListener (this);
addAndMakeVisible (m_comboBox_osc1_am_src1 = new ComboBox ("OSC 2 AM Source 2"));
m_comboBox_osc1_am_src1->setTooltip (TRANS("OSC 2 AM Modulation Source 2"));
m_comboBox_osc1_am_src1->setEditableText (false);
m_comboBox_osc1_am_src1->setJustificationType (Justification::centred);
m_comboBox_osc1_am_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc1_am_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc1_am_src1->addListener (this);
addAndMakeVisible (m_slider_osc1_am_amt0 = new Slider ("OSC 2 AM amount 1"));
m_slider_osc1_am_amt0->setTooltip (TRANS("OSC 2 AM amount [%]"));
m_slider_osc1_am_amt0->setRange (0, 1, 0);
m_slider_osc1_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_am_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_am_amt0->addListener (this);
addAndMakeVisible (m_label_osc1_am_amt0 = new Label ("OSC 2 AM amt 1",
TRANS("value")));
m_label_osc1_am_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc1_am_amt0->setJustificationType (Justification::centred);
m_label_osc1_am_amt0->setEditable (true, true, false);
m_label_osc1_am_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_am_amt0->addListener (this);
addAndMakeVisible (m_comboBox_osc0_am_src0 = new ComboBox ("OSC 1 AM Source 1"));
m_comboBox_osc0_am_src0->setTooltip (TRANS("OSC 1 AM Modulation Source 1"));
m_comboBox_osc0_am_src0->setEditableText (false);
m_comboBox_osc0_am_src0->setJustificationType (Justification::centred);
m_comboBox_osc0_am_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_am_src0->addListener (this);
addAndMakeVisible (m_comboBox_osc0_am_src1 = new ComboBox ("OSC 1 AM Source 2"));
m_comboBox_osc0_am_src1->setTooltip (TRANS("OSC 1 AM Modulation Source 2"));
m_comboBox_osc0_am_src1->setEditableText (false);
m_comboBox_osc0_am_src1->setJustificationType (Justification::centred);
m_comboBox_osc0_am_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_osc0_am_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_osc0_am_src1->addListener (this);
addAndMakeVisible (m_slider_osc0_am_amt0 = new Slider ("OSC 1 AM amount 1"));
m_slider_osc0_am_amt0->setTooltip (TRANS("OSC 1 AM amount [%]"));
m_slider_osc0_am_amt0->setRange (0, 1, 0);
m_slider_osc0_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_am_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_am_amt0->addListener (this);
addAndMakeVisible (m_label_osc0_am_amt0 = new Label ("OSC 1 AM amt 1",
TRANS("value")));
m_label_osc0_am_amt0->setFont (Font (14.00f, Font::plain));
m_label_osc0_am_amt0->setJustificationType (Justification::centred);
m_label_osc0_am_amt0->setEditable (true, true, false);
m_label_osc0_am_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_am_amt0->addListener (this);
addAndMakeVisible (m_slider_env2_attack = new Slider ("ENV 3 Attack"));
m_slider_env2_attack->setTooltip (TRANS("ENV 3 Attack Time [ms]"));
m_slider_env2_attack->setRange (0, 1, 0);
m_slider_env2_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env2_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env2_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env2_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env2_attack->addListener (this);
addAndMakeVisible (m_slider_env2_decay = new Slider ("ENV 3 Decay"));
m_slider_env2_decay->setTooltip (TRANS("ENV 3 Decay Time [ms]"));
m_slider_env2_decay->setRange (0, 1, 0);
m_slider_env2_decay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env2_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env2_decay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env2_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env2_decay->addListener (this);
addAndMakeVisible (m_slider_env2_release = new Slider ("ENV 3 Release"));
m_slider_env2_release->setTooltip (TRANS("ENV 3 Release Time [ms]"));
m_slider_env2_release->setRange (0, 1, 0);
m_slider_env2_release->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env2_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env2_release->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env2_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env2_release->addListener (this);
addAndMakeVisible (m_slider_env2_sustain = new Slider ("ENV 3 Sustain"));
m_slider_env2_sustain->setTooltip (TRANS("ENV 3 Sustain Level [%]"));
m_slider_env2_sustain->setRange (0, 1, 0);
m_slider_env2_sustain->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env2_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env2_sustain->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env2_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env2_sustain->addListener (this);
addAndMakeVisible (m_label_env2_attack = new Label ("ENV 3 Attack",
TRANS("value")));
m_label_env2_attack->setFont (Font (14.00f, Font::plain));
m_label_env2_attack->setJustificationType (Justification::centred);
m_label_env2_attack->setEditable (true, true, false);
m_label_env2_attack->setColour (TextEditor::textColourId, Colours::black);
m_label_env2_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env2_attack->addListener (this);
addAndMakeVisible (m_label_env2_decay = new Label ("ENV 3 Decay",
TRANS("value")));
m_label_env2_decay->setFont (Font (14.00f, Font::plain));
m_label_env2_decay->setJustificationType (Justification::centred);
m_label_env2_decay->setEditable (true, true, false);
m_label_env2_decay->setColour (TextEditor::textColourId, Colours::black);
m_label_env2_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env2_decay->addListener (this);
addAndMakeVisible (m_label_env2_sustain = new Label ("ENV 3 Sustain",
TRANS("value")));
m_label_env2_sustain->setFont (Font (14.00f, Font::plain));
m_label_env2_sustain->setJustificationType (Justification::centred);
m_label_env2_sustain->setEditable (true, true, false);
m_label_env2_sustain->setColour (TextEditor::textColourId, Colours::black);
m_label_env2_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env2_sustain->addListener (this);
addAndMakeVisible (m_label_env2_release = new Label ("ENV 3 Release",
TRANS("value")));
m_label_env2_release->setFont (Font (14.00f, Font::plain));
m_label_env2_release->setJustificationType (Justification::centred);
m_label_env2_release->setEditable (true, true, false);
m_label_env2_release->setColour (TextEditor::textColourId, Colours::black);
m_label_env2_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env2_release->addListener (this);
addAndMakeVisible (m_slider_env3_attack = new Slider ("ENV 4 Attack"));
m_slider_env3_attack->setTooltip (TRANS("ENV 4 Attack Time [ms]"));
m_slider_env3_attack->setRange (0, 1, 0);
m_slider_env3_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env3_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env3_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env3_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env3_attack->addListener (this);
addAndMakeVisible (m_slider_env3_decay = new Slider ("ENV 4 Decay"));
m_slider_env3_decay->setTooltip (TRANS("ENV 4 Decay Time [ms]"));
m_slider_env3_decay->setRange (0, 1, 0);
m_slider_env3_decay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env3_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env3_decay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env3_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env3_decay->addListener (this);
addAndMakeVisible (m_slider_env3_release = new Slider ("ENV 4 Release"));
m_slider_env3_release->setTooltip (TRANS("ENV 4 Release Time [ms]"));
m_slider_env3_release->setRange (0, 1, 0);
m_slider_env3_release->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env3_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env3_release->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env3_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env3_release->addListener (this);
addAndMakeVisible (m_slider_env3_sustain = new Slider ("ENV 4 Sustain"));
m_slider_env3_sustain->setTooltip (TRANS("ENV 4 Sustain Level [%]"));
m_slider_env3_sustain->setRange (0, 1, 0);
m_slider_env3_sustain->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_env3_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_env3_sustain->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_env3_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_env3_sustain->addListener (this);
addAndMakeVisible (m_label_env3_attack = new Label ("ENV 4 Attack",
TRANS("value")));
m_label_env3_attack->setFont (Font (14.00f, Font::plain));
m_label_env3_attack->setJustificationType (Justification::centred);
m_label_env3_attack->setEditable (true, true, false);
m_label_env3_attack->setColour (TextEditor::textColourId, Colours::black);
m_label_env3_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env3_attack->addListener (this);
addAndMakeVisible (m_label_env3_decay = new Label ("ENV 4 Decay",
TRANS("value")));
m_label_env3_decay->setFont (Font (14.00f, Font::plain));
m_label_env3_decay->setJustificationType (Justification::centred);
m_label_env3_decay->setEditable (true, true, false);
m_label_env3_decay->setColour (TextEditor::textColourId, Colours::black);
m_label_env3_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env3_decay->addListener (this);
addAndMakeVisible (m_label_env3_sustain = new Label ("ENV 4 Sustain",
TRANS("value")));
m_label_env3_sustain->setFont (Font (14.00f, Font::plain));
m_label_env3_sustain->setJustificationType (Justification::centred);
m_label_env3_sustain->setEditable (true, true, false);
m_label_env3_sustain->setColour (TextEditor::textColourId, Colours::black);
m_label_env3_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env3_sustain->addListener (this);
addAndMakeVisible (m_label_env3_release = new Label ("ENV 4 Release",
TRANS("value")));
m_label_env3_release->setFont (Font (14.00f, Font::plain));
m_label_env3_release->setJustificationType (Justification::centred);
m_label_env3_release->setEditable (true, true, false);
m_label_env3_release->setColour (TextEditor::textColourId, Colours::black);
m_label_env3_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_env3_release->addListener (this);
addAndMakeVisible (m_comboBox_vcf_f_src1 = new ComboBox ("VCF Cutoff Source 2"));
m_comboBox_vcf_f_src1->setTooltip (TRANS("VCF Cutoff Modulation Source 2"));
m_comboBox_vcf_f_src1->setEditableText (false);
m_comboBox_vcf_f_src1->setJustificationType (Justification::centred);
m_comboBox_vcf_f_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_f_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_f_src1->addListener (this);
addAndMakeVisible (m_slider_vcf_q_amt0 = new Slider ("VCF Resonance amount 1"));
m_slider_vcf_q_amt0->setTooltip (TRANS("VCF Resonance Amount [%]"));
m_slider_vcf_q_amt0->setRange (0, 1, 0);
m_slider_vcf_q_amt0->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_q_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_q_amt0->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_q_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_q_amt0->addListener (this);
addAndMakeVisible (m_label_vcf_q_amt0 = new Label ("VCF Resonance amount 1",
TRANS("value")));
m_label_vcf_q_amt0->setFont (Font (14.00f, Font::plain));
m_label_vcf_q_amt0->setJustificationType (Justification::centred);
m_label_vcf_q_amt0->setEditable (true, true, false);
m_label_vcf_q_amt0->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_q_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_q_amt0->addListener (this);
addAndMakeVisible (m_comboBox_vcf_q_src0 = new ComboBox ("VCF Resonance Source 1"));
m_comboBox_vcf_q_src0->setTooltip (TRANS("VCF Resonance Modulation Source 1"));
m_comboBox_vcf_q_src0->setEditableText (false);
m_comboBox_vcf_q_src0->setJustificationType (Justification::centred);
m_comboBox_vcf_q_src0->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_q_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_q_src0->addListener (this);
addAndMakeVisible (m_comboBox_vcf_q_src1 = new ComboBox ("VCF Resonance Source 2"));
m_comboBox_vcf_q_src1->setTooltip (TRANS("VCF Resonance Modulation Source 2"));
m_comboBox_vcf_q_src1->setEditableText (false);
m_comboBox_vcf_q_src1->setJustificationType (Justification::centred);
m_comboBox_vcf_q_src1->setTextWhenNothingSelected (String::empty);
m_comboBox_vcf_q_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_vcf_q_src1->addListener (this);
addAndMakeVisible (m_label_humanize_var_vco = new Label ("Humanize Variance VCO",
TRANS("value")));
m_label_humanize_var_vco->setFont (Font (14.00f, Font::plain));
m_label_humanize_var_vco->setJustificationType (Justification::centred);
m_label_humanize_var_vco->setEditable (true, true, false);
m_label_humanize_var_vco->setColour (TextEditor::textColourId, Colours::black);
m_label_humanize_var_vco->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_humanize_var_vco->addListener (this);
addAndMakeVisible (m_label_humanize_var_vcf = new Label ("Humanize Variance VCF",
TRANS("value")));
m_label_humanize_var_vcf->setFont (Font (14.00f, Font::plain));
m_label_humanize_var_vcf->setJustificationType (Justification::centred);
m_label_humanize_var_vcf->setEditable (true, true, false);
m_label_humanize_var_vcf->setColour (TextEditor::textColourId, Colours::black);
m_label_humanize_var_vcf->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_humanize_var_vcf->addListener (this);
addAndMakeVisible (m_label_humanize_var_env = new Label ("Humanize Variance ENV",
TRANS("value")));
m_label_humanize_var_env->setFont (Font (14.00f, Font::plain));
m_label_humanize_var_env->setJustificationType (Justification::centred);
m_label_humanize_var_env->setEditable (true, true, false);
m_label_humanize_var_env->setColour (TextEditor::textColourId, Colours::black);
m_label_humanize_var_env->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_humanize_var_env->addListener (this);
addAndMakeVisible (m_btn_limiter_led = new ButtonLED (L"Limiter 1 On/Off"));
addAndMakeVisible (m_label_limiter_led = new Label ("Limiter LED Text",
TRANS("Limiting")));
m_label_limiter_led->setFont (Font ("Arial", 12.00f, Font::plain));
m_label_limiter_led->setJustificationType (Justification::centredLeft);
m_label_limiter_led->setEditable (false, false, false);
m_label_limiter_led->setColour (Label::textColourId, Colours::white);
m_label_limiter_led->setColour (TextEditor::textColourId, Colours::black);
m_label_limiter_led->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
addAndMakeVisible (m_slider_lfo0_delay = new Slider ("LFO 1 Delay"));
m_slider_lfo0_delay->setTooltip (TRANS("LFO 1 Delay [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo0_delay->setRange (0, 1, 0);
m_slider_lfo0_delay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_delay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_delay->addListener (this);
addAndMakeVisible (m_label_lfo0_delay = new Label ("LFO 1 Delay",
TRANS("value")));
m_label_lfo0_delay->setFont (Font (14.00f, Font::plain));
m_label_lfo0_delay->setJustificationType (Justification::centred);
m_label_lfo0_delay->setEditable (true, true, false);
m_label_lfo0_delay->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo0_delay->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo0_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo0_delay->addListener (this);
addAndMakeVisible (m_slider_lfo0_attack = new Slider ("LFO 1 Attack"));
m_slider_lfo0_attack->setTooltip (TRANS("LFO 1 Attack Time [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo0_attack->setRange (0, 1, 0);
m_slider_lfo0_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_attack->addListener (this);
addAndMakeVisible (m_label_lfo0_attack = new Label ("LFO 1 Attack",
TRANS("value")));
m_label_lfo0_attack->setFont (Font (14.00f, Font::plain));
m_label_lfo0_attack->setJustificationType (Justification::centred);
m_label_lfo0_attack->setEditable (true, true, false);
m_label_lfo0_attack->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo0_attack->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo0_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo0_attack->addListener (this);
addAndMakeVisible (m_slider_lfo1_delay = new Slider ("LFO 2 Delay"));
m_slider_lfo1_delay->setTooltip (TRANS("LFO 2 Delay [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo1_delay->setRange (0, 1, 0);
m_slider_lfo1_delay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo1_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo1_delay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo1_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo1_delay->addListener (this);
addAndMakeVisible (m_label_lfo1_delay = new Label ("LFO 2 Delay",
TRANS("value")));
m_label_lfo1_delay->setFont (Font (14.00f, Font::plain));
m_label_lfo1_delay->setJustificationType (Justification::centred);
m_label_lfo1_delay->setEditable (true, true, false);
m_label_lfo1_delay->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo1_delay->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo1_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo1_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo1_delay->addListener (this);
addAndMakeVisible (m_slider_lfo1_attack = new Slider ("LFO 2 Attack"));
m_slider_lfo1_attack->setTooltip (TRANS("LFO 2 Attack Time [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo1_attack->setRange (0, 1, 0);
m_slider_lfo1_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo1_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo1_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo1_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo1_attack->addListener (this);
addAndMakeVisible (m_label_lfo1_attack = new Label ("LFO 2 Attack",
TRANS("value")));
m_label_lfo1_attack->setFont (Font (14.00f, Font::plain));
m_label_lfo1_attack->setJustificationType (Justification::centred);
m_label_lfo1_attack->setEditable (true, true, false);
m_label_lfo1_attack->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo1_attack->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo1_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo1_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo1_attack->addListener (this);
addAndMakeVisible (m_slider_lfo2_delay = new Slider ("LFO 3 Delay"));
m_slider_lfo2_delay->setTooltip (TRANS("LFO 3 Delay [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo2_delay->setRange (0, 1, 0);
m_slider_lfo2_delay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo2_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo2_delay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo2_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo2_delay->addListener (this);
addAndMakeVisible (m_label_lfo2_delay = new Label ("LFO 3 Delay",
TRANS("value")));
m_label_lfo2_delay->setFont (Font (14.00f, Font::plain));
m_label_lfo2_delay->setJustificationType (Justification::centred);
m_label_lfo2_delay->setEditable (true, true, false);
m_label_lfo2_delay->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo2_delay->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo2_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo2_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo2_delay->addListener (this);
addAndMakeVisible (m_slider_lfo2_attack = new Slider ("LFO 3 Attack"));
m_slider_lfo2_attack->setTooltip (TRANS("LFO 3 Attack Time [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo2_attack->setRange (0, 1, 0);
m_slider_lfo2_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo2_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo2_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo2_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo2_attack->addListener (this);
addAndMakeVisible (m_label_lfo2_attack = new Label ("LFO 3 Attack",
TRANS("value")));
m_label_lfo2_attack->setFont (Font (14.00f, Font::plain));
m_label_lfo2_attack->setJustificationType (Justification::centred);
m_label_lfo2_attack->setEditable (true, true, false);
m_label_lfo2_attack->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo2_attack->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo2_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo2_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo2_attack->addListener (this);
addAndMakeVisible (m_slider_lfo3_delay = new Slider ("LFO 4 Delay"));
m_slider_lfo3_delay->setTooltip (TRANS("LFO 4 Delay [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo3_delay->setRange (0, 1, 0);
m_slider_lfo3_delay->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo3_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo3_delay->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo3_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo3_delay->addListener (this);
addAndMakeVisible (m_label_lfo3_delay = new Label ("LFO 4 Delay",
TRANS("value")));
m_label_lfo3_delay->setFont (Font (14.00f, Font::plain));
m_label_lfo3_delay->setJustificationType (Justification::centred);
m_label_lfo3_delay->setEditable (true, true, false);
m_label_lfo3_delay->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo3_delay->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo3_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo3_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo3_delay->addListener (this);
addAndMakeVisible (m_slider_lfo3_attack = new Slider ("LFO 4 Attack"));
m_slider_lfo3_attack->setTooltip (TRANS("LFO 4 Attack Time [ms]. Use with Sync = \'Restart\'."));
m_slider_lfo3_attack->setRange (0, 1, 0);
m_slider_lfo3_attack->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo3_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo3_attack->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo3_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo3_attack->addListener (this);
addAndMakeVisible (m_label_lfo3_attack = new Label ("LFO 4 Attack",
TRANS("value")));
m_label_lfo3_attack->setFont (Font (14.00f, Font::plain));
m_label_lfo3_attack->setJustificationType (Justification::centred);
m_label_lfo3_attack->setEditable (true, true, false);
m_label_lfo3_attack->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo3_attack->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo3_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo3_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo3_attack->addListener (this);
addAndMakeVisible (m_button_lfo0_restart_enable = new ToggleButton ("Restart LFO 1 Enable"));
m_button_lfo0_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."));
m_button_lfo0_restart_enable->setButtonText (String::empty);
m_button_lfo0_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_lfo0_individual_enable = new ToggleButton ("LFO 1 Global Enable"));
m_button_lfo0_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."));
m_button_lfo0_individual_enable->setButtonText (String::empty);
m_button_lfo0_individual_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_slider_lfo0_symmetry = new Slider ("LFO 1 Symmetry"));
m_slider_lfo0_symmetry->setTooltip (TRANS("LFO 1 Symmetry [%]"));
m_slider_lfo0_symmetry->setRange (0, 1, 0);
m_slider_lfo0_symmetry->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_symmetry->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_symmetry->addListener (this);
addAndMakeVisible (m_label_lfo0_symmetry = new Label ("LFO 1 Symmetry",
TRANS("value")));
m_label_lfo0_symmetry->setFont (Font (14.00f, Font::plain));
m_label_lfo0_symmetry->setJustificationType (Justification::centred);
m_label_lfo0_symmetry->setEditable (true, true, false);
m_label_lfo0_symmetry->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo0_symmetry->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo0_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo0_symmetry->addListener (this);
addAndMakeVisible (m_slider_lfo1_symmetry = new Slider ("LFO 2 Symmetry"));
m_slider_lfo1_symmetry->setTooltip (TRANS("LFO 2 Symmetry [%]"));
m_slider_lfo1_symmetry->setRange (0, 1, 0);
m_slider_lfo1_symmetry->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo1_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo1_symmetry->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo1_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo1_symmetry->addListener (this);
addAndMakeVisible (m_label_lfo1_symmetry = new Label ("LFO 2 Symmetry",
TRANS("value")));
m_label_lfo1_symmetry->setFont (Font (14.00f, Font::plain));
m_label_lfo1_symmetry->setJustificationType (Justification::centred);
m_label_lfo1_symmetry->setEditable (true, true, false);
m_label_lfo1_symmetry->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo1_symmetry->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo1_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo1_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo1_symmetry->addListener (this);
addAndMakeVisible (m_button_lfo1_restart_enable = new ToggleButton ("Restart LFO 2 Enable"));
m_button_lfo1_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."));
m_button_lfo1_restart_enable->setButtonText (String::empty);
m_button_lfo1_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_lfo1_individual_enable = new ToggleButton ("LFO 2 Global Enable"));
m_button_lfo1_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."));
m_button_lfo1_individual_enable->setButtonText (String::empty);
m_button_lfo1_individual_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_lfo2_restart_enable = new ToggleButton ("Restart LFO 3 Enable"));
m_button_lfo2_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."));
m_button_lfo2_restart_enable->setButtonText (String::empty);
m_button_lfo2_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_lfo2_individual_enable = new ToggleButton ("LFO 3 Global Enable"));
m_button_lfo2_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."));
m_button_lfo2_individual_enable->setButtonText (String::empty);
m_button_lfo2_individual_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_slider_lfo2_symmetry = new Slider ("LFO 3 Symmetry"));
m_slider_lfo2_symmetry->setTooltip (TRANS("LFO 3 Symmetry [%]"));
m_slider_lfo2_symmetry->setRange (0, 1, 0);
m_slider_lfo2_symmetry->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo2_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo2_symmetry->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo2_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo2_symmetry->addListener (this);
addAndMakeVisible (m_label_lfo2_symmetry = new Label ("LFO 3 Symmetry",
TRANS("value")));
m_label_lfo2_symmetry->setFont (Font (14.00f, Font::plain));
m_label_lfo2_symmetry->setJustificationType (Justification::centred);
m_label_lfo2_symmetry->setEditable (true, true, false);
m_label_lfo2_symmetry->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo2_symmetry->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo2_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo2_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo2_symmetry->addListener (this);
addAndMakeVisible (m_slider_lfo3_symmetry = new Slider ("LFO 4 Symmetry"));
m_slider_lfo3_symmetry->setTooltip (TRANS("LFO 4 Symmetry [%]"));
m_slider_lfo3_symmetry->setRange (0, 1, 0);
m_slider_lfo3_symmetry->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo3_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo3_symmetry->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo3_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo3_symmetry->addListener (this);
addAndMakeVisible (m_label_lfo3_symmetry = new Label ("LFO 4 Symmetry",
TRANS("value")));
m_label_lfo3_symmetry->setFont (Font (14.00f, Font::plain));
m_label_lfo3_symmetry->setJustificationType (Justification::centred);
m_label_lfo3_symmetry->setEditable (true, true, false);
m_label_lfo3_symmetry->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo3_symmetry->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo3_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo3_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo3_symmetry->addListener (this);
addAndMakeVisible (m_button_lfo3_restart_enable = new ToggleButton ("Restart LFO 4 Enable"));
m_button_lfo3_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."));
m_button_lfo3_restart_enable->setButtonText (String::empty);
m_button_lfo3_restart_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_button_lfo3_individual_enable = new ToggleButton ("LFO 4 Global Enable"));
m_button_lfo3_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."));
m_button_lfo3_individual_enable->setButtonText (String::empty);
m_button_lfo3_individual_enable->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_slider_osc0_fm_amt1 = new Slider ("OSC 1 FM amount 2"));
m_slider_osc0_fm_amt1->setTooltip (TRANS("OSC 1 FM amount [%]"));
m_slider_osc0_fm_amt1->setRange (0, 1, 0);
m_slider_osc0_fm_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_fm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_fm_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_fm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_fm_amt1->addListener (this);
addAndMakeVisible (m_label_osc0_fm_amt1 = new Label ("OSC 1 FM amt 2",
TRANS("value")));
m_label_osc0_fm_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc0_fm_amt1->setJustificationType (Justification::centred);
m_label_osc0_fm_amt1->setEditable (true, true, false);
m_label_osc0_fm_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_fm_amt1->addListener (this);
addAndMakeVisible (m_slider_osc0_pwm_amt1 = new Slider ("OSC 1 PWM amount 2"));
m_slider_osc0_pwm_amt1->setTooltip (TRANS("OSC 1 PWM Amount [%]"));
m_slider_osc0_pwm_amt1->setRange (0, 1, 0);
m_slider_osc0_pwm_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_pwm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_pwm_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_pwm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_pwm_amt1->addListener (this);
addAndMakeVisible (m_label_osc0_pwm_amt1 = new Label ("OSC 1 PWM amt 2",
TRANS("value")));
m_label_osc0_pwm_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc0_pwm_amt1->setJustificationType (Justification::centred);
m_label_osc0_pwm_amt1->setEditable (true, true, false);
m_label_osc0_pwm_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_pwm_amt1->addListener (this);
addAndMakeVisible (m_slider_osc0_am_amt1 = new Slider ("OSC 1 AM amount 2"));
m_slider_osc0_am_amt1->setTooltip (TRANS("OSC 1 AM amount [%]"));
m_slider_osc0_am_amt1->setRange (0, 1, 0);
m_slider_osc0_am_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc0_am_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc0_am_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc0_am_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc0_am_amt1->addListener (this);
addAndMakeVisible (m_label_osc0_am_amt1 = new Label ("OSC 1 AM amt 2",
TRANS("value")));
m_label_osc0_am_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc0_am_amt1->setJustificationType (Justification::centred);
m_label_osc0_am_amt1->setEditable (true, true, false);
m_label_osc0_am_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc0_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc0_am_amt1->addListener (this);
addAndMakeVisible (m_slider_osc1_fm_amt1 = new Slider ("OSC 2 FM amount 2"));
m_slider_osc1_fm_amt1->setTooltip (TRANS("OSC 2 FM amount [%]"));
m_slider_osc1_fm_amt1->setRange (0, 1, 0);
m_slider_osc1_fm_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_fm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_fm_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_fm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_fm_amt1->addListener (this);
addAndMakeVisible (m_label_osc1_fm_amt1 = new Label ("OSC 2 FM amt 2",
TRANS("value")));
m_label_osc1_fm_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc1_fm_amt1->setJustificationType (Justification::centred);
m_label_osc1_fm_amt1->setEditable (true, true, false);
m_label_osc1_fm_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_fm_amt1->addListener (this);
addAndMakeVisible (m_slider_osc1_pwm_amt1 = new Slider ("OSC 2 PWM amount 2"));
m_slider_osc1_pwm_amt1->setTooltip (TRANS("OSC 2 PWM Amount [%]"));
m_slider_osc1_pwm_amt1->setRange (0, 1, 0);
m_slider_osc1_pwm_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_pwm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_pwm_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_pwm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_pwm_amt1->addListener (this);
addAndMakeVisible (m_label_osc1_pwm_amt1 = new Label ("OSC 2 PWM amt 2",
TRANS("value")));
m_label_osc1_pwm_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc1_pwm_amt1->setJustificationType (Justification::centred);
m_label_osc1_pwm_amt1->setEditable (true, true, false);
m_label_osc1_pwm_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_pwm_amt1->addListener (this);
addAndMakeVisible (m_slider_osc1_am_amt1 = new Slider ("OSC 2 AM amount 2"));
m_slider_osc1_am_amt1->setTooltip (TRANS("OSC 2 AM amount [%]"));
m_slider_osc1_am_amt1->setRange (0, 1, 0);
m_slider_osc1_am_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_osc1_am_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_osc1_am_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_osc1_am_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_osc1_am_amt1->addListener (this);
addAndMakeVisible (m_label_osc1_am_amt1 = new Label ("OSC 2 AM amt 2",
TRANS("value")));
m_label_osc1_am_amt1->setFont (Font (14.00f, Font::plain));
m_label_osc1_am_amt1->setJustificationType (Justification::centred);
m_label_osc1_am_amt1->setEditable (true, true, false);
m_label_osc1_am_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_osc1_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_osc1_am_amt1->addListener (this);
addAndMakeVisible (m_slider_vcf_f_amt1 = new Slider ("VCF Cutoff amount 2"));
m_slider_vcf_f_amt1->setTooltip (TRANS("VCF Cutoff Amount [%]"));
m_slider_vcf_f_amt1->setRange (0, 1, 0);
m_slider_vcf_f_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_f_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_f_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_f_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_f_amt1->addListener (this);
addAndMakeVisible (m_label_vcf_f_amt1 = new Label ("VCF Cutoff amount 2",
TRANS("value")));
m_label_vcf_f_amt1->setFont (Font (14.00f, Font::plain));
m_label_vcf_f_amt1->setJustificationType (Justification::centred);
m_label_vcf_f_amt1->setEditable (true, true, false);
m_label_vcf_f_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_f_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_f_amt1->addListener (this);
addAndMakeVisible (m_slider_vcf_q_amt1 = new Slider ("VCF Resonance amount 2"));
m_slider_vcf_q_amt1->setTooltip (TRANS("VCF Resonance Amount [%]"));
m_slider_vcf_q_amt1->setRange (0, 1, 0);
m_slider_vcf_q_amt1->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_vcf_q_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_vcf_q_amt1->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_vcf_q_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_vcf_q_amt1->addListener (this);
addAndMakeVisible (m_label_vcf_q_amt1 = new Label ("VCF Resonance amount 2",
TRANS("value")));
m_label_vcf_q_amt1->setFont (Font (14.00f, Font::plain));
m_label_vcf_q_amt1->setJustificationType (Justification::centred);
m_label_vcf_q_amt1->setEditable (true, true, false);
m_label_vcf_q_amt1->setColour (TextEditor::textColourId, Colours::black);
m_label_vcf_q_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_vcf_q_amt1->addListener (this);
addAndMakeVisible (m_button_mono_retrigger = new ToggleButton ("Monophonic Retrigger"));
m_button_mono_retrigger->setTooltip (TRANS("This button switches monophonic retrigger mode on and off"));
m_button_mono_retrigger->setButtonText (TRANS("Mono Retrigger"));
m_button_mono_retrigger->setColour (ToggleButton::textColourId, Colours::white);
addAndMakeVisible (m_label_max_num_voices = new Label ("Maximum number of voices (Polyphony)",
TRANS("999")));
m_label_max_num_voices->setTooltip (TRANS("Unisono number of voices to allocate"));
m_label_max_num_voices->setFont (Font (14.00f, Font::plain));
m_label_max_num_voices->setJustificationType (Justification::centred);
m_label_max_num_voices->setEditable (true, true, false);
m_label_max_num_voices->setColour (TextEditor::textColourId, Colours::black);
m_label_max_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_max_num_voices->addListener (this);
addAndMakeVisible (m_label_num_voices_playing = new Label ("Number of Voices Playing",
TRANS("0")));
m_label_num_voices_playing->setTooltip (TRANS("Number of voices currently playing"));
m_label_num_voices_playing->setFont (Font (14.00f, Font::plain));
m_label_num_voices_playing->setJustificationType (Justification::centred);
m_label_num_voices_playing->setEditable (true, true, false);
m_label_num_voices_playing->setColour (Label::textColourId, Colours::yellow);
m_label_num_voices_playing->setColour (TextEditor::textColourId, Colours::black);
m_label_num_voices_playing->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_num_voices_playing->addListener (this);
addAndMakeVisible (m_labelDebug = new Label ("Debug Label",
TRANS("label text")));
m_labelDebug->setFont (Font (15.00f, Font::plain));
m_labelDebug->setJustificationType (Justification::centredLeft);
m_labelDebug->setEditable (false, false, false);
m_labelDebug->setColour (Label::textColourId, Colours::white);
m_labelDebug->setColour (TextEditor::textColourId, Colours::black);
m_labelDebug->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
addAndMakeVisible (m_btn_midiClockLed = new ButtonLED (L"MidiClock"));
addAndMakeVisible (m_label_lfo0_midisync_factor = new Label ("LFO 1 Midi Sync. Factor",
TRANS("value")));
m_label_lfo0_midisync_factor->setTooltip (TRANS("LFO 1 Midi Sync. Factor"));
m_label_lfo0_midisync_factor->setFont (Font (14.00f, Font::plain));
m_label_lfo0_midisync_factor->setJustificationType (Justification::centred);
m_label_lfo0_midisync_factor->setEditable (true, true, false);
m_label_lfo0_midisync_factor->setColour (Label::outlineColourId, Colour (0x00000000));
m_label_lfo0_midisync_factor->setColour (TextEditor::textColourId, Colours::azure);
m_label_lfo0_midisync_factor->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
m_label_lfo0_midisync_factor->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7));
m_label_lfo0_midisync_factor->addListener (this);
addAndMakeVisible (m_slider_lfo0_midisync_divisor = new Slider ("LFO 1 Midi Sync Divisor"));
m_slider_lfo0_midisync_divisor->setTooltip (TRANS("LFO 1 Midi Sync Divisor"));
m_slider_lfo0_midisync_divisor->setRange (0, 1, 0);
m_slider_lfo0_midisync_divisor->setSliderStyle (Slider::RotaryVerticalDrag);
m_slider_lfo0_midisync_divisor->setTextBoxStyle (Slider::NoTextBox, false, 80, 20);
m_slider_lfo0_midisync_divisor->setColour (Slider::rotarySliderFillColourId, Colour (0x7fffffff));
m_slider_lfo0_midisync_divisor->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff));
m_slider_lfo0_midisync_divisor->addListener (this);
addAndMakeVisible (m_comboBox_lfo0_midisync_mode = new ComboBox ("LFO 1 Midi Sync Mode"));
m_comboBox_lfo0_midisync_mode->setTooltip (TRANS("LFO 1 Midi Sync Mode"));
m_comboBox_lfo0_midisync_mode->setEditableText (false);
m_comboBox_lfo0_midisync_mode->setJustificationType (Justification::centred);
m_comboBox_lfo0_midisync_mode->setTextWhenNothingSelected (String::empty);
m_comboBox_lfo0_midisync_mode->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
m_comboBox_lfo0_midisync_mode->addItem (TRANS("Off"), 1);
m_comboBox_lfo0_midisync_mode->addItem (TRANS("F"), 2);
m_comboBox_lfo0_midisync_mode->addItem (TRANS("P"), 3);
m_comboBox_lfo0_midisync_mode->addItem (TRANS("F + P"), 4);
m_comboBox_lfo0_midisync_mode->addListener (this);
//[UserPreSize]
//[/UserPreSize]
setSize (1120, 720);
//[Constructor] You can add your own custom stuff here..
// Combobox entries
// WaveTable
if (has_wt)
{
int k = 1;
for (int i=0; i < WT_NUM_WAVETABLES; i++)
{
m_comboBox_osc0_shape->addItem (String(L"WT ") + String::formatted("%02d", k), OSC_WAVEFORM_WAVETABLE+i+1);
m_comboBox_osc1_shape->addItem (String(L"WT ") + String::formatted("%02d", k), OSC_WAVEFORM_WAVETABLE+i+1);
if (k == 28)
k = 53;
else
k++;
}
}
// Modulation sources
m_mod_src0_names[VOICE_MOD_SRC_0_DISABLED] = String(L"Off");
m_mod_src0_names[VOICE_MOD_SRC_0_LFO_0] = String(L"LFO 1");
m_mod_src0_names[VOICE_MOD_SRC_0_LFO_1] = String(L"LFO 2");
m_mod_src0_names[VOICE_MOD_SRC_0_LFO_2] = String(L"LFO 3");
m_mod_src0_names[VOICE_MOD_SRC_0_LFO_3] = String(L"LFO 4");
m_mod_src0_names[VOICE_MOD_SRC_0_ENV_0] = String(L"VCF ENV");
m_mod_src0_names[VOICE_MOD_SRC_0_ENV_1] = String(L"VCA ENV");
m_mod_src0_names[VOICE_MOD_SRC_0_ENV_2] = String(L"ENV 3");
m_mod_src0_names[VOICE_MOD_SRC_0_ENV_3] = String(L"ENV 4");
m_mod_src0_names[VOICE_MOD_SRC_0_VCO_0] = String(L"VCO 1");
m_mod_src1_names[VOICE_MOD_SRC_1_DISABLED] = String(L"Off");
m_mod_src1_names[VOICE_MOD_SRC_1_LFO_0] = String(L"LFO 1");
m_mod_src1_names[VOICE_MOD_SRC_1_LFO_1] = String(L"LFO 2");
m_mod_src1_names[VOICE_MOD_SRC_1_LFO_2] = String(L"LFO 3");
m_mod_src1_names[VOICE_MOD_SRC_1_LFO_3] = String(L"LFO 4");
m_mod_src1_names[VOICE_MOD_SRC_1_ENV_0] = String(L"VCF ENV");
m_mod_src1_names[VOICE_MOD_SRC_1_ENV_1] = String(L"VCA ENV");
m_mod_src1_names[VOICE_MOD_SRC_1_ENV_2] = String(L"ENV 3");
m_mod_src1_names[VOICE_MOD_SRC_1_ENV_3] = String(L"ENV 4");
m_mod_src_op_names[VOICE_MOD_SRC_OP_ADD] = String(L"+");
m_mod_src_op_names[VOICE_MOD_SRC_OP_MUL] = String(L"*");
for (int i=0; i < VOICE_NUM_MOD_SOURCES_0; i++)
{
m_mod_src0_cb_names[i] = m_mod_src0_names[i];
m_comboBox_osc0_am_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_osc1_am_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_osc0_fm_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_osc1_fm_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_osc0_pwm_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_osc1_pwm_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_vcf_f_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_vcf_q_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_vca_am_src0->addItem (m_mod_src0_cb_names[i], i+1);
m_comboBox_vca_pan_src0->addItem (m_mod_src0_cb_names[i], i+1);
}
int k = 0;
m_mod_src1_cb_names[k] = m_mod_src1_names[VOICE_MOD_SRC_1_DISABLED];
m_comboBox_osc0_am_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_osc1_am_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_osc0_fm_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_osc1_fm_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_osc0_pwm_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_osc1_pwm_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_vcf_f_src1->addItem (m_mod_src1_cb_names[k], 1);
m_comboBox_vcf_q_src1->addItem (m_mod_src1_cb_names[k], 1);
k++;
for (int j=0; j < VOICE_NUM_MOD_OPS; j++)
{
for (int i=1; i < VOICE_NUM_MOD_SOURCES_1; i++)
{
m_mod_src1_cb_names[k] = m_mod_src_op_names[j] + String(" ") + m_mod_src1_names[i];
m_comboBox_osc0_am_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_osc1_am_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_osc0_fm_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_osc1_fm_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_osc0_pwm_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_osc1_pwm_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_vcf_f_src1->addItem (m_mod_src1_cb_names[k], k+1);
m_comboBox_vcf_q_src1->addItem (m_mod_src1_cb_names[k], k+1);
k++;
}
}
startTimer (500);
#ifdef DEBUG
m_label_synth_version->setText(String("V ") + String(JucePlugin_VersionString) + String(" (DEBUG)"), juce::NotificationType::sendNotification);
#else
m_label_synth_version->setText(String("V ") + String(JucePlugin_VersionString), juce::NotificationType::sendNotification);
#endif
m_btn_noise_enable_led->addListener (this);
m_btn_noise_enable_led->setTriggeredOnMouseDown (true);
m_btn_noise_enable_led->setClickingTogglesState(true);
m_btn_osc0_enable->addListener (this);
m_btn_osc0_enable->setTriggeredOnMouseDown (true);
m_btn_osc0_enable->setClickingTogglesState(true);
m_btn_osc1_enable->addListener (this);
m_btn_osc1_enable->setTriggeredOnMouseDown (true);
m_btn_osc1_enable->setClickingTogglesState(true);
m_button_patch_incr->addListener (this);
m_button_patch_decr->addListener (this);
m_button_humanize_enable->addListener (this);
m_button_humanize_enable->setTriggeredOnMouseDown (true);
m_button_humanize_enable->setClickingTogglesState(true);
m_button_mono_enable->addListener (this);
m_button_mono_enable->setTriggeredOnMouseDown (true);
m_button_mono_enable->setClickingTogglesState(true);
m_button_mono_retrigger->addListener (this);
m_button_mono_retrigger->setTriggeredOnMouseDown (true);
m_button_mono_retrigger->setClickingTogglesState(true);
m_button_unisono_enable->addListener (this);
m_button_unisono_enable->setTriggeredOnMouseDown (true);
m_button_unisono_enable->setClickingTogglesState(true);
m_button_osc0_restart_enable->addListener (this);
m_button_osc0_restart_enable->setTriggeredOnMouseDown (true);
m_button_osc0_restart_enable->setClickingTogglesState(true);
m_button_osc1_restart_enable->addListener (this);
m_button_osc1_restart_enable->setTriggeredOnMouseDown (true);
m_button_osc1_restart_enable->setClickingTogglesState(true);
m_button_lfo0_restart_enable->addListener (this);
m_button_lfo0_restart_enable->setTriggeredOnMouseDown (true);
m_button_lfo0_restart_enable->setClickingTogglesState(true);
m_button_lfo1_restart_enable->addListener (this);
m_button_lfo1_restart_enable->setTriggeredOnMouseDown (true);
m_button_lfo1_restart_enable->setClickingTogglesState(true);
m_button_lfo2_restart_enable->addListener (this);
m_button_lfo2_restart_enable->setTriggeredOnMouseDown (true);
m_button_lfo2_restart_enable->setClickingTogglesState(true);
m_button_lfo3_restart_enable->addListener (this);
m_button_lfo3_restart_enable->setTriggeredOnMouseDown (true);
m_button_lfo3_restart_enable->setClickingTogglesState(true);
m_button_lfo0_individual_enable->addListener (this);
m_button_lfo0_individual_enable->setTriggeredOnMouseDown (true);
m_button_lfo0_individual_enable->setClickingTogglesState(true);
m_button_lfo1_individual_enable->addListener (this);
m_button_lfo1_individual_enable->setTriggeredOnMouseDown (true);
m_button_lfo1_individual_enable->setClickingTogglesState(true);
m_button_lfo2_individual_enable->addListener (this);
m_button_lfo2_individual_enable->setTriggeredOnMouseDown (true);
m_button_lfo2_individual_enable->setClickingTogglesState(true);
m_button_lfo3_individual_enable->addListener (this);
m_button_lfo3_individual_enable->setTriggeredOnMouseDown (true);
m_button_lfo3_individual_enable->setClickingTogglesState(true);
m_label_synth_name->setTooltip(String("Jay Synth V ") + String(JucePlugin_VersionString) + String(", 2012, Jens Ahrensfeld"));
m_tooltipWindow = new TooltipWindow (this, 700);
m_MidiCC_PopUp = 0;
m_VelKey_PopUp = 0;
// --------------------------------------------------------------------
// Buttons
// --------------------------------------------------------------------
m_btn_osc0_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_OSC_0_ENABLE));
m_btn_osc1_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_OSC_1_ENABLE));
m_btn_noise_enable_led->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_NOISE_ENABLE));
m_button_humanize_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_HUMANIZE_ENABLE));
m_button_mono_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_MONOPHONIC_ENABLE));
m_button_mono_retrigger->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_MONOPHONIC_RETRIGGER_ENABLE));
m_button_unisono_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_UNISONO_ENABLE));
m_button_osc0_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_OSC_0_RESTART_ON_TRIGGER));
m_button_osc1_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_OSC_1_RESTART_ON_TRIGGER));
m_button_lfo0_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_0_SYNC));
m_button_lfo1_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_1_SYNC));
m_button_lfo2_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_2_SYNC));
m_button_lfo3_restart_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_3_SYNC));
m_button_lfo0_individual_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_0_MODE));
m_button_lfo1_individual_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_1_MODE));
m_button_lfo2_individual_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_2_MODE));
m_button_lfo3_individual_enable->setComponentID(String("BUTTON ") + String(SYNTH_PARAM_LFO_3_MODE));
// --------------------------------------------------------------------
// Sliders
// --------------------------------------------------------------------
m_slider_master_volume->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VOLUME));
m_slider_master_tune->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_TUNE));
m_slider_humanize_var_vco->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_HUMANIZE_VAR_VCO));
m_slider_humanize_var_vcf->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_HUMANIZE_VAR_VCF));
m_slider_humanize_var_env->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_HUMANIZE_VAR_ENV));
m_slider_voice_pan_spread->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VOICE_PAN_SPREAD));
m_slider_portamento_time->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_PORTAMENTO_TIME));
m_slider_osc0_level->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_LEVEL));
m_slider_osc1_level->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_LEVEL));
m_slider_osc0_dutycycle->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_DUTYCYCLE));
m_slider_osc1_dutycycle->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_DUTYCYCLE));
m_slider_osc0_det->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_DETUNE));
m_slider_osc1_det->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_DETUNE));
m_slider_osc0_transpose->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_TRANSPOSE));
m_slider_osc1_transpose->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_TRANSPOSE));
m_slider_osc0_fm_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_FM_AMT_0));
m_slider_osc1_fm_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_FM_AMT_0));
m_slider_osc0_am_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_AM_AMT_0));
m_slider_osc1_am_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_AM_AMT_0));
m_slider_osc0_pwm_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_PWM_AMT_0));
m_slider_osc1_pwm_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_PWM_AMT_0));
m_slider_osc0_fm_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_FM_AMT_1));
m_slider_osc1_fm_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_FM_AMT_1));
m_slider_osc0_am_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_AM_AMT_1));
m_slider_osc1_am_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_AM_AMT_1));
m_slider_osc0_pwm_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_0_PWM_AMT_1));
m_slider_osc1_pwm_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_OSC_1_PWM_AMT_1));
m_slider_noise_level->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_NOISE_LEVEL));
m_slider_vca_env_amount->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_ENV_AMT));
m_slider_vca_am_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_AM_AMT_0));
m_slider_vca_pan_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_PAN_AMT_0));
m_slider_vca_env_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_ENV_A));
m_slider_vca_env_decay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_ENV_D));
m_slider_vca_env_sustain->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_ENV_S));
m_slider_vca_env_release->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCA_ENV_R));
m_slider_vcf_env_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_ENV_A));
m_slider_vcf_env_decay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_ENV_D));
m_slider_vcf_env_sustain->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_ENV_S));
m_slider_vcf_env_release->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_ENV_R));
m_slider_env2_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_2_A));
m_slider_env2_decay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_2_D));
m_slider_env2_sustain->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_2_S));
m_slider_env2_release->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_2_R));
m_slider_env3_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_3_A));
m_slider_env3_decay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_3_D));
m_slider_env3_sustain->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_3_S));
m_slider_env3_release->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_ENV_3_R));
m_slider_vcf_f->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_F));
m_slider_vcf_q->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_Q));
m_slider_vcf_env_amount->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_ENV_AMT));
m_slider_vcf_f_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_F_AMT_0));
m_slider_vcf_q_amt0->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_Q_AMT_0));
m_slider_vcf_f_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_F_AMT_1));
m_slider_vcf_q_amt1->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_VCF_Q_AMT_1));
m_slider_lfo0_speed->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_SPEED));
m_slider_lfo1_speed->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_SPEED));
m_slider_lfo2_speed->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_SPEED));
m_slider_lfo3_speed->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_SPEED));
m_slider_lfo0_smooth->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_SMOOTH));
m_slider_lfo1_smooth->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_SMOOTH));
m_slider_lfo2_smooth->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_SMOOTH));
m_slider_lfo3_smooth->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_SMOOTH));
m_slider_lfo0_delay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_DELAY));
m_slider_lfo1_delay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_DELAY));
m_slider_lfo2_delay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_DELAY));
m_slider_lfo3_delay->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_DELAY));
m_slider_lfo0_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_ATTACK));
m_slider_lfo1_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_ATTACK));
m_slider_lfo2_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_ATTACK));
m_slider_lfo3_attack->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_ATTACK));
m_slider_lfo0_symmetry->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_SYMMETRY));
m_slider_lfo1_symmetry->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_SYMMETRY));
m_slider_lfo2_symmetry->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_SYMMETRY));
m_slider_lfo3_symmetry->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_SYMMETRY));
m_slider_lfo0_midisync_divisor->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_0_MIDISYNC_BEATDIV));
// m_slider_lfo1_midisync_divisor->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_1_MIDISYNC_BEATDIV));
// m_slider_lfo2_midisync_divisor->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_2_MIDISYNC_BEATDIV));
// m_slider_lfo3_midisync_divisor->setComponentID(String("SLIDER ") + String(SYNTH_PARAM_LFO_3_MIDISYNC_BEATDIV));
// --------------------------------------------------------------------
// Labels
// --------------------------------------------------------------------
m_label_master_volume->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VOLUME));
m_label_master_tune->setComponentID(String("LABEL ") + String(SYNTH_PARAM_TUNE));
m_label_humanize_var_vco->setComponentID(String("LABEL ") + String(SYNTH_PARAM_HUMANIZE_VAR_VCO));
m_label_humanize_var_vcf->setComponentID(String("LABEL ") + String(SYNTH_PARAM_HUMANIZE_VAR_VCF));
m_label_humanize_var_env->setComponentID(String("LABEL ") + String(SYNTH_PARAM_HUMANIZE_VAR_ENV));
m_label_voice_pan_spread->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VOICE_PAN_SPREAD));
m_label_portamento_time->setComponentID(String("LABEL ") + String(SYNTH_PARAM_PORTAMENTO_TIME));
m_label_unisono_num_voices->setComponentID(String("LABEL ") + String(SYNTH_PARAM_UNISONO_NUM_VOICES));
m_label_max_num_voices->setComponentID(String("LABEL ") + String(SYNTH_PARAM_TOTAL_NUM_VOICES));
m_label_osc0_level->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_LEVEL));
m_label_osc1_level->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_LEVEL));
m_label_osc0_dutycycle->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_DUTYCYCLE));
m_label_osc1_dutycycle->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_DUTYCYCLE));
m_label_osc0_det->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_DETUNE));
m_label_osc1_det->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_DETUNE));
m_label_osc0_transpose->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_TRANSPOSE));
m_label_osc1_transpose->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_TRANSPOSE));
m_label_osc0_pb_min->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_PB_RANGE_MIN));
m_label_osc0_pb_max->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_PB_RANGE_MAX));
m_label_osc1_pb_min->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_PB_RANGE_MIN));
m_label_osc1_pb_max->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_PB_RANGE_MAX));
m_label_osc0_fm_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_FM_AMT_0));
m_label_osc1_fm_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_FM_AMT_0));
m_label_osc0_am_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_AM_AMT_0));
m_label_osc1_am_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_AM_AMT_0));
m_label_osc0_pwm_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_PWM_AMT_0));
m_label_osc1_pwm_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_PWM_AMT_0));
m_label_osc0_fm_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_FM_AMT_1));
m_label_osc1_fm_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_FM_AMT_1));
m_label_osc0_am_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_AM_AMT_1));
m_label_osc1_am_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_AM_AMT_1));
m_label_osc0_pwm_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_0_PWM_AMT_1));
m_label_osc1_pwm_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_OSC_1_PWM_AMT_1));
m_label_noise_level->setComponentID(String("LABEL ") + String(SYNTH_PARAM_NOISE_LEVEL));
m_label_vca_env_amount->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_ENV_AMT));
m_label_vca_am_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_AM_AMT_0));
m_label_vca_pan_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_PAN_AMT_0));
m_label_vca_env_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_ENV_A));
m_label_vca_env_decay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_ENV_D));
m_label_vca_env_sustain->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_ENV_S));
m_label_vca_env_release->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCA_ENV_R));
m_label_vcf_env_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_ENV_A));
m_label_vcf_env_decay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_ENV_D));
m_label_vcf_env_sustain->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_ENV_S));
m_label_vcf_env_release->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_ENV_R));
m_label_env2_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_2_A));
m_label_env2_decay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_2_D));
m_label_env2_sustain->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_2_S));
m_label_env2_release->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_2_R));
m_label_env3_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_3_A));
m_label_env3_decay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_3_D));
m_label_env3_sustain->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_3_S));
m_label_env3_release->setComponentID(String("LABEL ") + String(SYNTH_PARAM_ENV_3_R));
m_label_vcf_f->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_F));
m_label_vcf_q->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_Q));
m_label_vcf_env_amount->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_ENV_AMT));
m_label_vcf_f_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_F_AMT_0));
m_label_vcf_q_amt0->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_Q_AMT_0));
m_label_vcf_f_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_F_AMT_1));
m_label_vcf_q_amt1->setComponentID(String("LABEL ") + String(SYNTH_PARAM_VCF_Q_AMT_1));
m_label_lfo0_speed->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_SPEED));
m_label_lfo1_speed->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_SPEED));
m_label_lfo2_speed->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_SPEED));
m_label_lfo3_speed->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_SPEED));
m_label_lfo0_smooth->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_SMOOTH));
m_label_lfo1_smooth->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_SMOOTH));
m_label_lfo2_smooth->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_SMOOTH));
m_label_lfo3_smooth->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_SMOOTH));
m_label_lfo0_delay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_DELAY));
m_label_lfo1_delay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_DELAY));
m_label_lfo2_delay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_DELAY));
m_label_lfo3_delay->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_DELAY));
m_label_lfo0_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_ATTACK));
m_label_lfo1_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_ATTACK));
m_label_lfo2_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_ATTACK));
m_label_lfo3_attack->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_ATTACK));
m_label_lfo0_symmetry->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_SYMMETRY));
m_label_lfo1_symmetry->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_SYMMETRY));
m_label_lfo2_symmetry->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_SYMMETRY));
m_label_lfo3_symmetry->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_SYMMETRY));
m_label_lfo0_midisync_factor->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_0_MIDISYNC_BEATDIV));
// m_label_lfo1_midisync_factor->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_1_MIDISYNC_BEATDIV));
// m_label_lfo2_midisync_factor->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_2_MIDISYNC_BEATDIV));
// m_label_lfo3_midisync_factor->setComponentID(String("LABEL ") + String(SYNTH_PARAM_LFO_3_MIDISYNC_BEATDIV));
// --------------------------------------------------------------------
// Comboboxes
// --------------------------------------------------------------------
m_comboBox_osc0_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_WAVEFORM));
m_comboBox_osc1_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_WAVEFORM));
m_comboBox_osc0_fm_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_FM_SRC_0));
m_comboBox_osc1_fm_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_FM_SRC_0));
m_comboBox_osc0_fm_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_FM_SRC_1));
m_comboBox_osc1_fm_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_FM_SRC_1));
m_comboBox_osc0_am_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_AM_SRC_0));
m_comboBox_osc1_am_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_AM_SRC_0));
m_comboBox_osc0_am_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_AM_SRC_1));
m_comboBox_osc1_am_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_AM_SRC_1));
m_comboBox_osc0_pwm_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_PWM_SRC_0));
m_comboBox_osc1_pwm_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_PWM_SRC_0));
m_comboBox_osc0_pwm_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_0_PWM_SRC_1));
m_comboBox_osc1_pwm_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_OSC_1_PWM_SRC_1));
m_comboBox_noise_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_NOISE_SHAPE));
m_comboBox_vca_am_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCA_AM_SRC_0));
m_comboBox_vca_pan_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCA_PAN_SRC_0));
m_comboBox_vcf_type->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_TYPE));
m_comboBox_vcf_f_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_F_SRC_0));
m_comboBox_vcf_f_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_F_SRC_1));
m_comboBox_vcf_q_src0->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_Q_SRC_0));
m_comboBox_vcf_q_src1->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_Q_SRC_1));
m_comboBox_lfo0_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_0_SHAPE));
m_comboBox_lfo1_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_1_SHAPE));
m_comboBox_lfo2_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_2_SHAPE));
m_comboBox_lfo3_shape->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_3_SHAPE));
m_comboBox_vcf_order->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_VCF_ORDER));
m_comboBox_lfo0_midisync_mode->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_0_MIDISYNC_MODE));
// m_comboBox_lfo1_midisync_mode->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_1_MIDISYNC_MODE));
// m_comboBox_lfo2_midisync_mode->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_2_MIDISYNC_MODE));
// m_comboBox_lfo3_midisync_mode->setComponentID(String("COMBOBOX ") + String(SYNTH_PARAM_LFO_3_MIDISYNC_MODE));
// --------------------------------------------------------------------
getProcessor()->addActionListener(this);
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
{
Button *pButton;
pButton = (Button*)findChildWithID(String("BUTTON ") + String(i));
if (pButton)
pButton->addMouseListener (this, false);
}
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
{
Slider *pSlider;
pSlider = (Slider*)findChildWithID(String("SLIDER ") + String(i));
if (pSlider)
pSlider->addMouseListener (this, false);
}
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
{
Label *pLabel;
pLabel = (Label*)findChildWithID(String("LABEL ") + String(i));
if (pLabel)
pLabel->addMouseListener (this, false);
}
for (int i=0; i < SYNTH_NUM_PARAMS; i++)
{
ComboBox *pComboBox;
pComboBox = (ComboBox*)findChildWithID(String("COMBOBOX ") + String(i));
if (pComboBox)
pComboBox->addMouseListener (this, false);
}
//[/Constructor]
}
JaySynthAudioProcessorEditor::~JaySynthAudioProcessorEditor()
{
//[Destructor_pre]. You can add your own custom destruction code here..
getProcessor()->removeActionListener(this);
deleteAndZero(m_tooltipWindow);
deleteAndZero(m_MidiCC_PopUp);
deleteAndZero(m_VelKey_PopUp);
//[/Destructor_pre]
m_label_colon = nullptr;
m_slider_master_volume = nullptr;
m_slider_vcf_f = nullptr;
m_slider_vcf_q = nullptr;
m_slider_osc0_det = nullptr;
m_slider_osc1_det = nullptr;
m_slider_osc0_transpose = nullptr;
m_slider_osc1_transpose = nullptr;
m_slider_vca_env_attack = nullptr;
m_slider_vca_env_decay = nullptr;
m_slider_vca_env_release = nullptr;
m_slider_vca_env_sustain = nullptr;
m_slider_vcf_env_attack = nullptr;
m_slider_vcf_env_decay = nullptr;
m_slider_vcf_env_release = nullptr;
m_slider_vcf_env_sustain = nullptr;
m_slider_vcf_env_amount = nullptr;
m_label_vcf_env_attack = nullptr;
m_label_vcf_f = nullptr;
m_label_vca_env_attack = nullptr;
m_label_vca_env_decay = nullptr;
m_label_vca_env_sustain = nullptr;
m_label_vca_env_release = nullptr;
m_label_vcf_env_decay = nullptr;
m_label_vcf_env_sustain = nullptr;
m_label_vcf_env_release = nullptr;
m_label_vcf_q = nullptr;
m_label_vcf_env_amount = nullptr;
m_label_master_volume = nullptr;
m_label_osc0_transpose = nullptr;
m_label_osc1_transpose = nullptr;
m_label_osc0_det = nullptr;
m_label_osc1_det = nullptr;
m_slider_vca_env_amount = nullptr;
m_label_vca_env_amount = nullptr;
m_slider_osc0_dutycycle = nullptr;
m_slider_osc1_dutycycle = nullptr;
m_label_osc0_dutycycle = nullptr;
m_label_osc1_dutycycle = nullptr;
m_slider_lfo0_speed = nullptr;
m_slider_osc1_fm_amt0 = nullptr;
m_slider_osc0_fm_amt0 = nullptr;
m_label_lfo0_speed = nullptr;
m_label_osc0_fm_amt0 = nullptr;
m_label_osc1_fm_amt0 = nullptr;
m_slider_vcf_f_amt0 = nullptr;
m_label_vcf_f_amt0 = nullptr;
m_slider_lfo1_speed = nullptr;
m_label_lfo1_speed = nullptr;
m_comboBox_osc0_shape = nullptr;
m_comboBox_osc1_shape = nullptr;
m_comboBox_lfo0_shape = nullptr;
m_comboBox_lfo1_shape = nullptr;
m_slider_lfo2_speed = nullptr;
m_slider_lfo3_speed = nullptr;
m_comboBox_lfo2_shape = nullptr;
m_comboBox_lfo3_shape = nullptr;
m_label_lfo2_speed = nullptr;
m_label_lfo3_speed = nullptr;
m_comboBox_vcf_f_src0 = nullptr;
m_comboBox_osc0_fm_src0 = nullptr;
m_comboBox_osc1_fm_src0 = nullptr;
m_slider_vca_am_amt0 = nullptr;
m_label_vca_am_amt0 = nullptr;
m_comboBox_vca_am_src0 = nullptr;
m_slider_vca_pan_amt0 = nullptr;
m_label_vca_pan_amt0 = nullptr;
m_comboBox_vca_pan_src0 = nullptr;
m_label_synth_name = nullptr;
m_label_synth_version = nullptr;
m_comboBox_vcf_type = nullptr;
m_slider_lfo1_smooth = nullptr;
m_label_lfo1_smooth = nullptr;
m_slider_lfo0_smooth = nullptr;
m_label_lfo0_smooth = nullptr;
m_slider_lfo2_smooth = nullptr;
m_label_lfo2_smooth = nullptr;
m_slider_lfo3_smooth = nullptr;
m_label_lfo3_smooth = nullptr;
m_slider_osc0_pwm_amt0 = nullptr;
m_label_osc0_pwm_amt0 = nullptr;
m_slider_osc1_pwm_amt0 = nullptr;
m_label_osc1_pwm_amt0 = nullptr;
m_comboBox_osc0_pwm_src0 = nullptr;
m_comboBox_osc1_pwm_src0 = nullptr;
m_slider_osc0_level = nullptr;
m_label_osc0_level = nullptr;
m_slider_osc1_level = nullptr;
m_label_osc1_level = nullptr;
m_slider_noise_level = nullptr;
m_label_noise_level = nullptr;
m_comboBox_noise_shape = nullptr;
m_btn_noise_enable_led = nullptr;
m_btn_osc0_enable = nullptr;
m_btn_osc1_enable = nullptr;
m_label_patch_name = nullptr;
m_button_patch_incr = nullptr;
m_button_patch_decr = nullptr;
m_label_patch_number = nullptr;
m_label_osc1_pb_min = nullptr;
m_label_osc1_pb_max = nullptr;
m_label_osc0_pb_max = nullptr;
m_label_osc0_pb_min = nullptr;
m_slider_master_tune = nullptr;
m_label_master_tune = nullptr;
m_button_humanize_enable = nullptr;
m_comboBox_vcf_order = nullptr;
m_slider_portamento_time = nullptr;
m_label_portamento_time = nullptr;
m_button_unisono_enable = nullptr;
m_slider_humanize_var_vco = nullptr;
m_slider_voice_pan_spread = nullptr;
m_label_voice_pan_spread = nullptr;
m_slider_humanize_var_vcf = nullptr;
m_slider_humanize_var_env = nullptr;
m_label_unisono_num_voices = nullptr;
m_button_osc0_restart_enable = nullptr;
m_button_osc1_restart_enable = nullptr;
m_button_mono_enable = nullptr;
m_comboBox_osc1_fm_src1 = nullptr;
m_comboBox_osc1_pwm_src1 = nullptr;
m_comboBox_osc0_fm_src1 = nullptr;
m_comboBox_osc0_pwm_src1 = nullptr;
m_comboBox_osc1_am_src0 = nullptr;
m_comboBox_osc1_am_src1 = nullptr;
m_slider_osc1_am_amt0 = nullptr;
m_label_osc1_am_amt0 = nullptr;
m_comboBox_osc0_am_src0 = nullptr;
m_comboBox_osc0_am_src1 = nullptr;
m_slider_osc0_am_amt0 = nullptr;
m_label_osc0_am_amt0 = nullptr;
m_slider_env2_attack = nullptr;
m_slider_env2_decay = nullptr;
m_slider_env2_release = nullptr;
m_slider_env2_sustain = nullptr;
m_label_env2_attack = nullptr;
m_label_env2_decay = nullptr;
m_label_env2_sustain = nullptr;
m_label_env2_release = nullptr;
m_slider_env3_attack = nullptr;
m_slider_env3_decay = nullptr;
m_slider_env3_release = nullptr;
m_slider_env3_sustain = nullptr;
m_label_env3_attack = nullptr;
m_label_env3_decay = nullptr;
m_label_env3_sustain = nullptr;
m_label_env3_release = nullptr;
m_comboBox_vcf_f_src1 = nullptr;
m_slider_vcf_q_amt0 = nullptr;
m_label_vcf_q_amt0 = nullptr;
m_comboBox_vcf_q_src0 = nullptr;
m_comboBox_vcf_q_src1 = nullptr;
m_label_humanize_var_vco = nullptr;
m_label_humanize_var_vcf = nullptr;
m_label_humanize_var_env = nullptr;
m_btn_limiter_led = nullptr;
m_label_limiter_led = nullptr;
m_slider_lfo0_delay = nullptr;
m_label_lfo0_delay = nullptr;
m_slider_lfo0_attack = nullptr;
m_label_lfo0_attack = nullptr;
m_slider_lfo1_delay = nullptr;
m_label_lfo1_delay = nullptr;
m_slider_lfo1_attack = nullptr;
m_label_lfo1_attack = nullptr;
m_slider_lfo2_delay = nullptr;
m_label_lfo2_delay = nullptr;
m_slider_lfo2_attack = nullptr;
m_label_lfo2_attack = nullptr;
m_slider_lfo3_delay = nullptr;
m_label_lfo3_delay = nullptr;
m_slider_lfo3_attack = nullptr;
m_label_lfo3_attack = nullptr;
m_button_lfo0_restart_enable = nullptr;
m_button_lfo0_individual_enable = nullptr;
m_slider_lfo0_symmetry = nullptr;
m_label_lfo0_symmetry = nullptr;
m_slider_lfo1_symmetry = nullptr;
m_label_lfo1_symmetry = nullptr;
m_button_lfo1_restart_enable = nullptr;
m_button_lfo1_individual_enable = nullptr;
m_button_lfo2_restart_enable = nullptr;
m_button_lfo2_individual_enable = nullptr;
m_slider_lfo2_symmetry = nullptr;
m_label_lfo2_symmetry = nullptr;
m_slider_lfo3_symmetry = nullptr;
m_label_lfo3_symmetry = nullptr;
m_button_lfo3_restart_enable = nullptr;
m_button_lfo3_individual_enable = nullptr;
m_slider_osc0_fm_amt1 = nullptr;
m_label_osc0_fm_amt1 = nullptr;
m_slider_osc0_pwm_amt1 = nullptr;
m_label_osc0_pwm_amt1 = nullptr;
m_slider_osc0_am_amt1 = nullptr;
m_label_osc0_am_amt1 = nullptr;
m_slider_osc1_fm_amt1 = nullptr;
m_label_osc1_fm_amt1 = nullptr;
m_slider_osc1_pwm_amt1 = nullptr;
m_label_osc1_pwm_amt1 = nullptr;
m_slider_osc1_am_amt1 = nullptr;
m_label_osc1_am_amt1 = nullptr;
m_slider_vcf_f_amt1 = nullptr;
m_label_vcf_f_amt1 = nullptr;
m_slider_vcf_q_amt1 = nullptr;
m_label_vcf_q_amt1 = nullptr;
m_button_mono_retrigger = nullptr;
m_label_max_num_voices = nullptr;
m_label_num_voices_playing = nullptr;
m_labelDebug = nullptr;
m_btn_midiClockLed = nullptr;
m_label_lfo0_midisync_factor = nullptr;
m_slider_lfo0_midisync_divisor = nullptr;
m_comboBox_lfo0_midisync_mode = nullptr;
//[Destructor]. You can add your own custom destruction code here..
//[/Destructor]
}
//==============================================================================
void JaySynthAudioProcessorEditor::paint (Graphics& g)
{
//[UserPrePaint] Add your own custom painting code here..
//[/UserPrePaint]
g.fillAll (Colour (0xff8b94bd));
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (644.0f, 4.0f, 80.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (644.0f, 318.0f, 80.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (962.0f, 4.0f, 154.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (962.0f, 318.0f, 154.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (560.0f, 318.0f, 80.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (560.0f, 4.0f, 80.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (4.0f, 632.0f, 1112.0f, 84.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (4.0f, 318.0f, 324.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (446.0f, 318.0f, 110.0f, 310.0f, 10.000f);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (446.0f, 4.0f, 110.0f, 310.0f, 10.000f);
g.setColour (Colours::black);
g.setFont (Font (15.00f, Font::plain));
g.drawText (TRANS("OSC 1 tune"),
12, -108, 76, 30,
Justification::centred, true);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (728.0f, 318.0f, 230.0f, 310.0f, 10.000f);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCA"),
732, 322, 48, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Env. amt."),
740, 504, 52, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Volume"),
968, 572, 40, 16,
Justification::centred, true);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (728.0f, 4.0f, 230.0f, 310.0f, 10.000f);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCF"),
732, 8, 48, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Env. amt."),
886, 156, 52, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Reson."),
816, 88, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Cutoff"),
746, 88, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Sustain"),
664, 222, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Decay"),
664, 156, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Release"),
660, 290, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
660, 88, 48, 16,
Justification::centred, true);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (4.0f, 4.0f, 324.0f, 310.0f, 10.000f);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCO 1"),
6, 8, 72, 32,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Detune"),
96, 86, 54, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Transpose"),
246, 154, 58, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCO 2"),
6, 322, 72, 32,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Pulse Width"),
160, 86, 68, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
242, 86, 64, 16,
Justification::centred, true);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (332.0f, 4.0f, 110.0f, 310.0f, 10.000f);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("LFO 1"),
336, 8, 60, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM amt. 1"),
90, 154, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Speed"),
338, 120, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
348, 54, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Mod. amt. 1"),
736, 156, 64, 16,
Justification::centred, true);
g.setColour (Colour (0xff2a64a5));
g.fillRoundedRectangle (332.0f, 318.0f, 110.0f, 310.0f, 10.000f);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("LFO 2"),
450, 8, 60, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Polyphon"),
388, 290, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Restart"),
346, 290, 30, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("LFO 3"),
336, 322, 60, 24,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("LFO 4"),
450, 322, 60, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Tremolo"),
736, 402, 60, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Stereo pan"),
810, 402, 60, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM Source 1"),
94, 188, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source"),
804, 436, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source"),
732, 436, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source 2"),
732, 290, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("VCF type"),
878, 54, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Smooth"),
386, 256, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM amt. 1"),
160, 154, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM Source 1"),
166, 188, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Level"),
30, 86, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Noise level"),
802, 504, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Noise shape"),
810, 540, 60, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Tune"),
1018, 572, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("VCF Order"),
878, 90, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Portamento"),
1058, 376, 60, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Voice pan."),
1064, 572, 52, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("VCO hum."),
966, 504, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("VCF hum."),
1016, 504, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("ENV hum."),
1068, 504, 44, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (11.00f, Font::plain));
g.drawText (TRANS("Unison num. voices :"),
966, 414, 100, 18,
Justification::centredRight, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM Source 2"),
94, 290, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM Source 2"),
166, 290, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM source 1"),
22, 188, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM source 2"),
22, 290, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM amt. 1"),
20, 154, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Detune"),
96, 400, 54, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Transpose"),
246, 468, 58, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Pulse Width"),
160, 400, 68, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
242, 400, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Level"),
30, 400, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Speed"),
338, 434, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
348, 368, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Smooth"),
386, 434, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Speed"),
452, 120, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
462, 54, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Smooth"),
500, 120, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Speed"),
452, 434, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Shape"),
462, 368, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Smooth"),
500, 434, 44, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCF ENV"),
562, 8, 76, 24,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("VCA ENV"),
648, 8, 72, 24,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("ENV 3"),
562, 322, 76, 24,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("ENV 4"),
648, 322, 72, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Sustain"),
664, 534, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Decay"),
664, 470, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Release"),
660, 604, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
660, 402, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Sustain"),
580, 222, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Decay"),
580, 156, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Release"),
576, 290, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
576, 88, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Sustain"),
580, 534, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Decay"),
580, 470, 40, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Release"),
576, 604, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
576, 402, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source 1"),
732, 190, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Mod. amt. 1"),
808, 156, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source 2"),
804, 290, 72, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Source 1"),
804, 190, 72, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (16.00f, Font::plain));
g.drawText (TRANS("Misc."),
966, 322, 58, 24,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Delay"),
338, 188, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
384, 188, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Delay"),
452, 188, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
498, 188, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Delay"),
452, 502, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
498, 502, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Delay"),
338, 502, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Attack"),
384, 502, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Symmetry"),
338, 256, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Polyphon"),
500, 290, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Restart"),
458, 290, 30, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Symmetry"),
476, 256, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Polyphon"),
388, 604, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Restart"),
346, 604, 30, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Polyphon"),
500, 604, 44, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Restart"),
458, 604, 30, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Symmetry"),
362, 570, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Symmetry"),
476, 570, 48, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM amt. 2"),
90, 256, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM amt. 2"),
160, 256, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM amt. 2"),
20, 256, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM amt. 1"),
90, 468, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM amt. 1"),
160, 468, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM amt. 1"),
20, 468, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM Source 1"),
94, 502, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM Source 1"),
166, 502, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM source 1"),
22, 502, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM amt. 2"),
90, 570, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM amt. 2"),
160, 570, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM amt. 2"),
20, 570, 70, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("FM Source 2"),
92, 604, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("PWM Source 2"),
164, 604, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("AM source 2"),
20, 604, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Mod. amt. 2"),
736, 258, 64, 16,
Justification::centred, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Mod. amt. 2"),
810, 258, 64, 16,
Justification::centred, true);
g.setColour (Colours::white);
g.setFont (Font (11.00f, Font::plain));
g.drawText (TRANS("Max. Polyphony :"),
966, 394, 100, 18,
Justification::centredRight, true);
g.setColour (Colours::black);
g.setFont (Font (10.00f, Font::plain));
g.drawText (TRANS("Divisor"),
386, 119, 48, 16,
Justification::centred, true);
//[UserPaint] Add your own custom painting code here..
//[/UserPaint]
}
void JaySynthAudioProcessorEditor::resized()
{
m_label_colon->setBounds (220, 660, 24, 28);
m_slider_master_volume->setBounds (972, 542, 36, 36);
m_slider_vcf_f->setBounds (748, 56, 36, 36);
m_slider_vcf_q->setBounds (820, 56, 36, 36);
m_slider_osc0_det->setBounds (106, 54, 36, 36);
m_slider_osc1_det->setBounds (106, 368, 36, 36);
m_slider_osc0_transpose->setBounds (256, 122, 36, 36);
m_slider_osc1_transpose->setBounds (256, 436, 36, 36);
m_slider_vca_env_attack->setBounds (666, 56, 36, 36);
m_slider_vca_env_decay->setBounds (666, 124, 36, 36);
m_slider_vca_env_release->setBounds (666, 258, 36, 36);
m_slider_vca_env_sustain->setBounds (666, 190, 36, 36);
m_slider_vcf_env_attack->setBounds (582, 56, 36, 36);
m_slider_vcf_env_decay->setBounds (582, 124, 36, 36);
m_slider_vcf_env_release->setBounds (582, 258, 36, 36);
m_slider_vcf_env_sustain->setBounds (582, 190, 36, 36);
m_slider_vcf_env_amount->setBounds (892, 124, 36, 36);
m_label_vcf_env_attack->setBounds (574, 38, 52, 20);
m_label_vcf_f->setBounds (740, 38, 52, 20);
m_label_vca_env_attack->setBounds (658, 38, 52, 20);
m_label_vca_env_decay->setBounds (658, 106, 52, 20);
m_label_vca_env_sustain->setBounds (658, 172, 52, 20);
m_label_vca_env_release->setBounds (658, 240, 52, 20);
m_label_vcf_env_decay->setBounds (574, 106, 52, 20);
m_label_vcf_env_sustain->setBounds (574, 172, 52, 20);
m_label_vcf_env_release->setBounds (574, 240, 52, 20);
m_label_vcf_q->setBounds (812, 38, 52, 20);
m_label_vcf_env_amount->setBounds (884, 106, 52, 20);
m_label_master_volume->setBounds (968, 524, 44, 20);
m_label_osc0_transpose->setBounds (248, 104, 52, 20);
m_label_osc1_transpose->setBounds (248, 418, 52, 20);
m_label_osc0_det->setBounds (98, 36, 52, 20);
m_label_osc1_det->setBounds (98, 350, 52, 20);
m_slider_vca_env_amount->setBounds (748, 472, 36, 36);
m_label_vca_env_amount->setBounds (740, 454, 52, 20);
m_slider_osc0_dutycycle->setBounds (176, 54, 36, 36);
m_slider_osc1_dutycycle->setBounds (176, 368, 36, 36);
m_label_osc0_dutycycle->setBounds (168, 36, 52, 20);
m_label_osc1_dutycycle->setBounds (168, 350, 52, 20);
m_slider_lfo0_speed->setBounds (346, 88, 36, 36);
m_slider_osc1_fm_amt0->setBounds (106, 436, 36, 36);
m_slider_osc0_fm_amt0->setBounds (106, 122, 36, 36);
m_label_lfo0_speed->setBounds (338, 70, 52, 20);
m_label_osc0_fm_amt0->setBounds (98, 104, 52, 20);
m_label_osc1_fm_amt0->setBounds (98, 418, 52, 20);
m_slider_vcf_f_amt0->setBounds (748, 124, 36, 36);
m_label_vcf_f_amt0->setBounds (740, 106, 52, 20);
m_slider_lfo1_speed->setBounds (460, 88, 36, 36);
m_label_lfo1_speed->setBounds (452, 70, 52, 20);
m_comboBox_osc0_shape->setBounds (244, 68, 64, 16);
m_comboBox_osc1_shape->setBounds (244, 382, 64, 16);
m_comboBox_lfo0_shape->setBounds (355, 38, 64, 16);
m_comboBox_lfo1_shape->setBounds (470, 38, 64, 16);
m_slider_lfo2_speed->setBounds (346, 402, 36, 36);
m_slider_lfo3_speed->setBounds (460, 402, 36, 36);
m_comboBox_lfo2_shape->setBounds (354, 352, 64, 16);
m_comboBox_lfo3_shape->setBounds (470, 352, 64, 16);
m_label_lfo2_speed->setBounds (338, 384, 52, 20);
m_label_lfo3_speed->setBounds (452, 384, 52, 20);
m_comboBox_vcf_f_src0->setBounds (736, 174, 64, 16);
m_comboBox_osc0_fm_src0->setBounds (94, 172, 64, 16);
m_comboBox_osc1_fm_src0->setBounds (94, 486, 64, 16);
m_slider_vca_am_amt0->setBounds (748, 370, 36, 36);
m_label_vca_am_amt0->setBounds (740, 352, 52, 20);
m_comboBox_vca_am_src0->setBounds (736, 420, 64, 16);
m_slider_vca_pan_amt0->setBounds (820, 370, 36, 36);
m_label_vca_pan_amt0->setBounds (812, 352, 52, 20);
m_comboBox_vca_pan_src0->setBounds (808, 420, 64, 16);
m_label_synth_name->setBounds (12, 662, 92, 24);
m_label_synth_version->setBounds (978, 662, 132, 24);
m_comboBox_vcf_type->setBounds (880, 74, 68, 16);
m_slider_lfo1_smooth->setBounds (506, 88, 36, 36);
m_label_lfo1_smooth->setBounds (498, 70, 52, 20);
m_slider_lfo0_smooth->setBounds (392, 224, 36, 36);
m_label_lfo0_smooth->setBounds (384, 206, 52, 20);
m_slider_lfo2_smooth->setBounds (392, 402, 36, 36);
m_label_lfo2_smooth->setBounds (384, 384, 52, 20);
m_slider_lfo3_smooth->setBounds (506, 402, 36, 36);
m_label_lfo3_smooth->setBounds (498, 384, 52, 20);
m_slider_osc0_pwm_amt0->setBounds (176, 122, 36, 36);
m_label_osc0_pwm_amt0->setBounds (168, 104, 52, 20);
m_slider_osc1_pwm_amt0->setBounds (176, 436, 36, 36);
m_label_osc1_pwm_amt0->setBounds (168, 418, 52, 20);
m_comboBox_osc0_pwm_src0->setBounds (166, 172, 64, 16);
m_comboBox_osc1_pwm_src0->setBounds (166, 486, 64, 16);
m_slider_osc0_level->setBounds (36, 54, 36, 36);
m_label_osc0_level->setBounds (28, 36, 52, 20);
m_slider_osc1_level->setBounds (36, 368, 36, 36);
m_label_osc1_level->setBounds (28, 350, 52, 20);
m_slider_noise_level->setBounds (820, 472, 36, 36);
m_label_noise_level->setBounds (810, 454, 56, 20);
m_comboBox_noise_shape->setBounds (808, 524, 64, 16);
m_btn_noise_enable_led->setBounds (862, 472, 32, 32);
m_btn_osc0_enable->setBounds (72, 8, 32, 32);
m_btn_osc1_enable->setBounds (72, 322, 32, 32);
m_label_patch_name->setBounds (232, 658, 308, 32);
m_button_patch_incr->setBounds (156, 662, 28, 24);
m_button_patch_decr->setBounds (120, 662, 28, 24);
m_label_patch_number->setBounds (192, 658, 32, 32);
m_label_osc1_pb_min->setBounds (228, 442, 32, 20);
m_label_osc1_pb_max->setBounds (288, 442, 32, 20);
m_label_osc0_pb_max->setBounds (288, 128, 32, 20);
m_label_osc0_pb_min->setBounds (228, 128, 32, 20);
m_slider_master_tune->setBounds (1022, 542, 36, 36);
m_label_master_tune->setBounds (1018, 524, 44, 20);
m_button_humanize_enable->setBounds (1040, 436, 72, 16);
m_comboBox_vcf_order->setBounds (880, 38, 68, 16);
m_slider_portamento_time->setBounds (1070, 346, 36, 36);
m_label_portamento_time->setBounds (1066, 328, 44, 20);
m_button_unisono_enable->setBounds (966, 436, 76, 16);
m_slider_humanize_var_vco->setBounds (972, 472, 36, 36);
m_slider_voice_pan_spread->setBounds (1072, 542, 36, 36);
m_label_voice_pan_spread->setBounds (1068, 524, 44, 20);
m_slider_humanize_var_vcf->setBounds (1022, 472, 36, 36);
m_slider_humanize_var_env->setBounds (1072, 472, 36, 36);
m_label_unisono_num_voices->setBounds (1064, 414, 42, 18);
m_button_osc0_restart_enable->setBounds (246, 46, 58, 16);
m_button_osc1_restart_enable->setBounds (246, 360, 58, 16);
m_button_mono_enable->setBounds (965, 346, 86, 16);
m_comboBox_osc1_fm_src1->setBounds (94, 588, 64, 16);
m_comboBox_osc1_pwm_src1->setBounds (166, 588, 64, 16);
m_comboBox_osc0_fm_src1->setBounds (94, 274, 64, 16);
m_comboBox_osc0_pwm_src1->setBounds (166, 274, 64, 16);
m_comboBox_osc1_am_src0->setBounds (22, 486, 64, 16);
m_comboBox_osc1_am_src1->setBounds (22, 588, 64, 16);
m_slider_osc1_am_amt0->setBounds (36, 436, 36, 36);
m_label_osc1_am_amt0->setBounds (28, 418, 52, 20);
m_comboBox_osc0_am_src0->setBounds (22, 172, 64, 16);
m_comboBox_osc0_am_src1->setBounds (22, 274, 64, 16);
m_slider_osc0_am_amt0->setBounds (36, 122, 36, 36);
m_label_osc0_am_amt0->setBounds (28, 104, 52, 20);
m_slider_env2_attack->setBounds (582, 370, 36, 36);
m_slider_env2_decay->setBounds (582, 438, 36, 36);
m_slider_env2_release->setBounds (582, 572, 36, 36);
m_slider_env2_sustain->setBounds (582, 502, 36, 36);
m_label_env2_attack->setBounds (574, 352, 52, 20);
m_label_env2_decay->setBounds (574, 420, 52, 20);
m_label_env2_sustain->setBounds (574, 486, 52, 20);
m_label_env2_release->setBounds (574, 554, 52, 20);
m_slider_env3_attack->setBounds (666, 370, 36, 36);
m_slider_env3_decay->setBounds (666, 438, 36, 36);
m_slider_env3_release->setBounds (666, 572, 36, 36);
m_slider_env3_sustain->setBounds (666, 502, 36, 36);
m_label_env3_attack->setBounds (658, 352, 52, 20);
m_label_env3_decay->setBounds (658, 419, 52, 20);
m_label_env3_sustain->setBounds (658, 485, 52, 20);
m_label_env3_release->setBounds (658, 553, 52, 20);
m_comboBox_vcf_f_src1->setBounds (736, 274, 64, 16);
m_slider_vcf_q_amt0->setBounds (820, 124, 36, 36);
m_label_vcf_q_amt0->setBounds (812, 106, 52, 20);
m_comboBox_vcf_q_src0->setBounds (808, 174, 64, 16);
m_comboBox_vcf_q_src1->setBounds (808, 274, 64, 16);
m_label_humanize_var_vco->setBounds (968, 454, 44, 20);
m_label_humanize_var_vcf->setBounds (1018, 454, 44, 20);
m_label_humanize_var_env->setBounds (1068, 454, 44, 20);
m_btn_limiter_led->setBounds (974, 590, 32, 32);
m_label_limiter_led->setBounds (998, 594, 92, 24);
m_slider_lfo0_delay->setBounds (346, 156, 36, 36);
m_label_lfo0_delay->setBounds (338, 138, 52, 20);
m_slider_lfo0_attack->setBounds (392, 156, 36, 36);
m_label_lfo0_attack->setBounds (384, 138, 52, 20);
m_slider_lfo1_delay->setBounds (460, 156, 36, 36);
m_label_lfo1_delay->setBounds (452, 138, 52, 20);
m_slider_lfo1_attack->setBounds (506, 156, 36, 36);
m_label_lfo1_attack->setBounds (498, 138, 52, 20);
m_slider_lfo2_delay->setBounds (346, 470, 36, 36);
m_label_lfo2_delay->setBounds (338, 452, 52, 20);
m_slider_lfo2_attack->setBounds (392, 470, 36, 36);
m_label_lfo2_attack->setBounds (384, 452, 52, 20);
m_slider_lfo3_delay->setBounds (460, 470, 36, 36);
m_label_lfo3_delay->setBounds (452, 452, 52, 20);
m_slider_lfo3_attack->setBounds (506, 470, 36, 36);
m_label_lfo3_attack->setBounds (498, 452, 52, 20);
m_button_lfo0_restart_enable->setBounds (356, 278, 16, 16);
m_button_lfo0_individual_enable->setBounds (402, 278, 16, 16);
m_slider_lfo0_symmetry->setBounds (346, 224, 36, 36);
m_label_lfo0_symmetry->setBounds (338, 206, 52, 20);
m_slider_lfo1_symmetry->setBounds (484, 224, 36, 36);
m_label_lfo1_symmetry->setBounds (476, 206, 52, 20);
m_button_lfo1_restart_enable->setBounds (468, 277, 16, 16);
m_button_lfo1_individual_enable->setBounds (514, 277, 16, 16);
m_button_lfo2_restart_enable->setBounds (356, 592, 16, 16);
m_button_lfo2_individual_enable->setBounds (402, 592, 16, 16);
m_slider_lfo2_symmetry->setBounds (370, 538, 36, 36);
m_label_lfo2_symmetry->setBounds (362, 520, 52, 20);
m_slider_lfo3_symmetry->setBounds (484, 538, 36, 36);
m_label_lfo3_symmetry->setBounds (476, 520, 52, 20);
m_button_lfo3_restart_enable->setBounds (468, 591, 16, 16);
m_button_lfo3_individual_enable->setBounds (514, 591, 16, 16);
m_slider_osc0_fm_amt1->setBounds (106, 224, 36, 36);
m_label_osc0_fm_amt1->setBounds (98, 206, 52, 20);
m_slider_osc0_pwm_amt1->setBounds (176, 224, 36, 36);
m_label_osc0_pwm_amt1->setBounds (168, 206, 52, 20);
m_slider_osc0_am_amt1->setBounds (36, 224, 36, 36);
m_label_osc0_am_amt1->setBounds (28, 206, 52, 20);
m_slider_osc1_fm_amt1->setBounds (106, 538, 36, 36);
m_label_osc1_fm_amt1->setBounds (98, 520, 52, 20);
m_slider_osc1_pwm_amt1->setBounds (176, 538, 36, 36);
m_label_osc1_pwm_amt1->setBounds (168, 520, 52, 20);
m_slider_osc1_am_amt1->setBounds (36, 538, 36, 36);
m_label_osc1_am_amt1->setBounds (28, 520, 52, 20);
m_slider_vcf_f_amt1->setBounds (748, 226, 36, 36);
m_label_vcf_f_amt1->setBounds (740, 208, 52, 20);
m_slider_vcf_q_amt1->setBounds (820, 226, 36, 36);
m_label_vcf_q_amt1->setBounds (812, 208, 52, 20);
m_button_mono_retrigger->setBounds (965, 364, 86, 16);
m_label_max_num_voices->setBounds (1064, 394, 42, 18);
m_label_num_voices_playing->setBounds (1060, 598, 42, 18);
m_labelDebug->setBounds (966, 274, 150, 24);
m_btn_midiClockLed->setBounds (1058, 272, 32, 32);
m_label_lfo0_midisync_factor->setBounds (384, 70, 52, 20);
m_slider_lfo0_midisync_divisor->setBounds (392, 88, 36, 36);
m_comboBox_lfo0_midisync_mode->setBounds (393, 12, 47, 16);
//[UserResized] Add your own custom resize handling here..
//[/UserResized]
}
void JaySynthAudioProcessorEditor::sliderValueChanged (Slider* sliderThatWasMoved)
{
//[UsersliderValueChanged_Pre]
int paramID;
float value;
param_info_t *pParamInfo;
paramID = (int)(sliderThatWasMoved->getComponentID()).getTrailingIntValue();
value = (float)sliderThatWasMoved->getValue();
pParamInfo = getParamInfo(paramID);
if (pParamInfo)
getProcessor()->setParam(paramID, toParam(pParamInfo, (synth_float_t)value), true, true);
if (sliderThatWasMoved == m_slider_humanize_var_vco)
{
getProcessor()->humanizeVarianceChanged_VCO();
}
else if (sliderThatWasMoved == m_slider_humanize_var_vcf)
{
getProcessor()->humanizeVarianceChanged_VCF();
}
else if (sliderThatWasMoved == m_slider_humanize_var_env)
{
getProcessor()->humanizeVarianceChanged_ENV();
}
return;
//[/UsersliderValueChanged_Pre]
if (sliderThatWasMoved == m_slider_master_volume)
{
//[UserSliderCode_m_slider_master_volume] -- add your slider handling code here..
//[/UserSliderCode_m_slider_master_volume]
}
else if (sliderThatWasMoved == m_slider_vcf_f)
{
//[UserSliderCode_m_slider_vcf_f] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_f]
}
else if (sliderThatWasMoved == m_slider_vcf_q)
{
//[UserSliderCode_m_slider_vcf_q] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_q]
}
else if (sliderThatWasMoved == m_slider_osc0_det)
{
//[UserSliderCode_m_slider_osc0_det] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_det]
}
else if (sliderThatWasMoved == m_slider_osc1_det)
{
//[UserSliderCode_m_slider_osc1_det] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_det]
}
else if (sliderThatWasMoved == m_slider_osc0_transpose)
{
//[UserSliderCode_m_slider_osc0_transpose] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_transpose]
}
else if (sliderThatWasMoved == m_slider_osc1_transpose)
{
//[UserSliderCode_m_slider_osc1_transpose] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_transpose]
}
else if (sliderThatWasMoved == m_slider_vca_env_attack)
{
//[UserSliderCode_m_slider_vca_env_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_env_attack]
}
else if (sliderThatWasMoved == m_slider_vca_env_decay)
{
//[UserSliderCode_m_slider_vca_env_decay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_env_decay]
}
else if (sliderThatWasMoved == m_slider_vca_env_release)
{
//[UserSliderCode_m_slider_vca_env_release] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_env_release]
}
else if (sliderThatWasMoved == m_slider_vca_env_sustain)
{
//[UserSliderCode_m_slider_vca_env_sustain] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_env_sustain]
}
else if (sliderThatWasMoved == m_slider_vcf_env_attack)
{
//[UserSliderCode_m_slider_vcf_env_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_env_attack]
}
else if (sliderThatWasMoved == m_slider_vcf_env_decay)
{
//[UserSliderCode_m_slider_vcf_env_decay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_env_decay]
}
else if (sliderThatWasMoved == m_slider_vcf_env_release)
{
//[UserSliderCode_m_slider_vcf_env_release] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_env_release]
}
else if (sliderThatWasMoved == m_slider_vcf_env_sustain)
{
//[UserSliderCode_m_slider_vcf_env_sustain] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_env_sustain]
}
else if (sliderThatWasMoved == m_slider_vcf_env_amount)
{
//[UserSliderCode_m_slider_vcf_env_amount] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_env_amount]
}
else if (sliderThatWasMoved == m_slider_vca_env_amount)
{
//[UserSliderCode_m_slider_vca_env_amount] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_env_amount]
}
else if (sliderThatWasMoved == m_slider_osc0_dutycycle)
{
//[UserSliderCode_m_slider_osc0_dutycycle] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_dutycycle]
}
else if (sliderThatWasMoved == m_slider_osc1_dutycycle)
{
//[UserSliderCode_m_slider_osc1_dutycycle] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_dutycycle]
}
else if (sliderThatWasMoved == m_slider_lfo0_speed)
{
//[UserSliderCode_m_slider_lfo0_speed] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_speed]
}
else if (sliderThatWasMoved == m_slider_osc1_fm_amt0)
{
//[UserSliderCode_m_slider_osc1_fm_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_fm_amt0]
}
else if (sliderThatWasMoved == m_slider_osc0_fm_amt0)
{
//[UserSliderCode_m_slider_osc0_fm_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_fm_amt0]
}
else if (sliderThatWasMoved == m_slider_vcf_f_amt0)
{
//[UserSliderCode_m_slider_vcf_f_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_f_amt0]
}
else if (sliderThatWasMoved == m_slider_lfo1_speed)
{
//[UserSliderCode_m_slider_lfo1_speed] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo1_speed]
}
else if (sliderThatWasMoved == m_slider_lfo2_speed)
{
//[UserSliderCode_m_slider_lfo2_speed] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo2_speed]
}
else if (sliderThatWasMoved == m_slider_lfo3_speed)
{
//[UserSliderCode_m_slider_lfo3_speed] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo3_speed]
}
else if (sliderThatWasMoved == m_slider_vca_am_amt0)
{
//[UserSliderCode_m_slider_vca_am_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_am_amt0]
}
else if (sliderThatWasMoved == m_slider_vca_pan_amt0)
{
//[UserSliderCode_m_slider_vca_pan_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vca_pan_amt0]
}
else if (sliderThatWasMoved == m_slider_lfo1_smooth)
{
//[UserSliderCode_m_slider_lfo1_smooth] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo1_smooth]
}
else if (sliderThatWasMoved == m_slider_lfo0_smooth)
{
//[UserSliderCode_m_slider_lfo0_smooth] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_smooth]
}
else if (sliderThatWasMoved == m_slider_lfo2_smooth)
{
//[UserSliderCode_m_slider_lfo2_smooth] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo2_smooth]
}
else if (sliderThatWasMoved == m_slider_lfo3_smooth)
{
//[UserSliderCode_m_slider_lfo3_smooth] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo3_smooth]
}
else if (sliderThatWasMoved == m_slider_osc0_pwm_amt0)
{
//[UserSliderCode_m_slider_osc0_pwm_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_pwm_amt0]
}
else if (sliderThatWasMoved == m_slider_osc1_pwm_amt0)
{
//[UserSliderCode_m_slider_osc1_pwm_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_pwm_amt0]
}
else if (sliderThatWasMoved == m_slider_osc0_level)
{
//[UserSliderCode_m_slider_osc0_level] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_level]
}
else if (sliderThatWasMoved == m_slider_osc1_level)
{
//[UserSliderCode_m_slider_osc1_level] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_level]
}
else if (sliderThatWasMoved == m_slider_noise_level)
{
//[UserSliderCode_m_slider_noise_level] -- add your slider handling code here..
//[/UserSliderCode_m_slider_noise_level]
}
else if (sliderThatWasMoved == m_slider_master_tune)
{
//[UserSliderCode_m_slider_master_tune] -- add your slider handling code here..
//[/UserSliderCode_m_slider_master_tune]
}
else if (sliderThatWasMoved == m_slider_portamento_time)
{
//[UserSliderCode_m_slider_portamento_time] -- add your slider handling code here..
//[/UserSliderCode_m_slider_portamento_time]
}
else if (sliderThatWasMoved == m_slider_humanize_var_vco)
{
//[UserSliderCode_m_slider_humanize_var_vco] -- add your slider handling code here..
//[/UserSliderCode_m_slider_humanize_var_vco]
}
else if (sliderThatWasMoved == m_slider_voice_pan_spread)
{
//[UserSliderCode_m_slider_voice_pan_spread] -- add your slider handling code here..
//[/UserSliderCode_m_slider_voice_pan_spread]
}
else if (sliderThatWasMoved == m_slider_humanize_var_vcf)
{
//[UserSliderCode_m_slider_humanize_var_vcf] -- add your slider handling code here..
//[/UserSliderCode_m_slider_humanize_var_vcf]
}
else if (sliderThatWasMoved == m_slider_humanize_var_env)
{
//[UserSliderCode_m_slider_humanize_var_env] -- add your slider handling code here..
//[/UserSliderCode_m_slider_humanize_var_env]
}
else if (sliderThatWasMoved == m_slider_osc1_am_amt0)
{
//[UserSliderCode_m_slider_osc1_am_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_am_amt0]
}
else if (sliderThatWasMoved == m_slider_osc0_am_amt0)
{
//[UserSliderCode_m_slider_osc0_am_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_am_amt0]
}
else if (sliderThatWasMoved == m_slider_env2_attack)
{
//[UserSliderCode_m_slider_env2_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env2_attack]
}
else if (sliderThatWasMoved == m_slider_env2_decay)
{
//[UserSliderCode_m_slider_env2_decay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env2_decay]
}
else if (sliderThatWasMoved == m_slider_env2_release)
{
//[UserSliderCode_m_slider_env2_release] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env2_release]
}
else if (sliderThatWasMoved == m_slider_env2_sustain)
{
//[UserSliderCode_m_slider_env2_sustain] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env2_sustain]
}
else if (sliderThatWasMoved == m_slider_env3_attack)
{
//[UserSliderCode_m_slider_env3_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env3_attack]
}
else if (sliderThatWasMoved == m_slider_env3_decay)
{
//[UserSliderCode_m_slider_env3_decay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env3_decay]
}
else if (sliderThatWasMoved == m_slider_env3_release)
{
//[UserSliderCode_m_slider_env3_release] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env3_release]
}
else if (sliderThatWasMoved == m_slider_env3_sustain)
{
//[UserSliderCode_m_slider_env3_sustain] -- add your slider handling code here..
//[/UserSliderCode_m_slider_env3_sustain]
}
else if (sliderThatWasMoved == m_slider_vcf_q_amt0)
{
//[UserSliderCode_m_slider_vcf_q_amt0] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_q_amt0]
}
else if (sliderThatWasMoved == m_slider_lfo0_delay)
{
//[UserSliderCode_m_slider_lfo0_delay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_delay]
}
else if (sliderThatWasMoved == m_slider_lfo0_attack)
{
//[UserSliderCode_m_slider_lfo0_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_attack]
}
else if (sliderThatWasMoved == m_slider_lfo1_delay)
{
//[UserSliderCode_m_slider_lfo1_delay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo1_delay]
}
else if (sliderThatWasMoved == m_slider_lfo1_attack)
{
//[UserSliderCode_m_slider_lfo1_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo1_attack]
}
else if (sliderThatWasMoved == m_slider_lfo2_delay)
{
//[UserSliderCode_m_slider_lfo2_delay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo2_delay]
}
else if (sliderThatWasMoved == m_slider_lfo2_attack)
{
//[UserSliderCode_m_slider_lfo2_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo2_attack]
}
else if (sliderThatWasMoved == m_slider_lfo3_delay)
{
//[UserSliderCode_m_slider_lfo3_delay] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo3_delay]
}
else if (sliderThatWasMoved == m_slider_lfo3_attack)
{
//[UserSliderCode_m_slider_lfo3_attack] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo3_attack]
}
else if (sliderThatWasMoved == m_slider_lfo0_symmetry)
{
//[UserSliderCode_m_slider_lfo0_symmetry] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_symmetry]
}
else if (sliderThatWasMoved == m_slider_lfo1_symmetry)
{
//[UserSliderCode_m_slider_lfo1_symmetry] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo1_symmetry]
}
else if (sliderThatWasMoved == m_slider_lfo2_symmetry)
{
//[UserSliderCode_m_slider_lfo2_symmetry] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo2_symmetry]
}
else if (sliderThatWasMoved == m_slider_lfo3_symmetry)
{
//[UserSliderCode_m_slider_lfo3_symmetry] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo3_symmetry]
}
else if (sliderThatWasMoved == m_slider_osc0_fm_amt1)
{
//[UserSliderCode_m_slider_osc0_fm_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_fm_amt1]
}
else if (sliderThatWasMoved == m_slider_osc0_pwm_amt1)
{
//[UserSliderCode_m_slider_osc0_pwm_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_pwm_amt1]
}
else if (sliderThatWasMoved == m_slider_osc0_am_amt1)
{
//[UserSliderCode_m_slider_osc0_am_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc0_am_amt1]
}
else if (sliderThatWasMoved == m_slider_osc1_fm_amt1)
{
//[UserSliderCode_m_slider_osc1_fm_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_fm_amt1]
}
else if (sliderThatWasMoved == m_slider_osc1_pwm_amt1)
{
//[UserSliderCode_m_slider_osc1_pwm_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_pwm_amt1]
}
else if (sliderThatWasMoved == m_slider_osc1_am_amt1)
{
//[UserSliderCode_m_slider_osc1_am_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_osc1_am_amt1]
}
else if (sliderThatWasMoved == m_slider_vcf_f_amt1)
{
//[UserSliderCode_m_slider_vcf_f_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_f_amt1]
}
else if (sliderThatWasMoved == m_slider_vcf_q_amt1)
{
//[UserSliderCode_m_slider_vcf_q_amt1] -- add your slider handling code here..
//[/UserSliderCode_m_slider_vcf_q_amt1]
}
else if (sliderThatWasMoved == m_slider_lfo0_midisync_divisor)
{
//[UserSliderCode_m_slider_lfo0_midisync_divisor] -- add your slider handling code here..
//[/UserSliderCode_m_slider_lfo0_midisync_divisor]
}
//[UsersliderValueChanged_Post]
//[/UsersliderValueChanged_Post]
}
void JaySynthAudioProcessorEditor::labelTextChanged (Label* labelThatHasChanged)
{
//[UserlabelTextChanged_Pre]
int paramID;
float value;
if (labelThatHasChanged == m_label_patch_name)
{
getProcessor()->setCurrentProgramName(labelThatHasChanged->getText());
labelThatHasChanged->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
return;
}
else if (labelThatHasChanged == m_label_patch_number)
{
getProcessor()->setCurrentProgram(labelThatHasChanged->getText().getIntValue());
return;
}
paramID = (int)(labelThatHasChanged->getComponentID()).getTrailingIntValue();
value = (float)String(labelThatHasChanged->getText()).getFloatValue();
getProcessor()->setParam(paramID, value, true, true);
if (labelThatHasChanged == m_label_unisono_num_voices)
{
getProcessor()->unisonoModeChanged();
}
else if (labelThatHasChanged == m_label_max_num_voices)
{
getProcessor()->unisonoModeChanged();
}
else if (labelThatHasChanged == m_label_humanize_var_vco)
{
getProcessor()->humanizeVarianceChanged_VCO();
}
else if (labelThatHasChanged == m_label_humanize_var_vcf)
{
getProcessor()->humanizeVarianceChanged_VCF();
}
else if (labelThatHasChanged == m_label_humanize_var_env)
{
getProcessor()->humanizeVarianceChanged_ENV();
}
return;
//[/UserlabelTextChanged_Pre]
if (labelThatHasChanged == m_label_vcf_env_attack)
{
//[UserLabelCode_m_label_vcf_env_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_env_attack]
}
else if (labelThatHasChanged == m_label_vcf_f)
{
//[UserLabelCode_m_label_vcf_f] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_f]
}
else if (labelThatHasChanged == m_label_vca_env_attack)
{
//[UserLabelCode_m_label_vca_env_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_env_attack]
}
else if (labelThatHasChanged == m_label_vca_env_decay)
{
//[UserLabelCode_m_label_vca_env_decay] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_env_decay]
}
else if (labelThatHasChanged == m_label_vca_env_sustain)
{
//[UserLabelCode_m_label_vca_env_sustain] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_env_sustain]
}
else if (labelThatHasChanged == m_label_vca_env_release)
{
//[UserLabelCode_m_label_vca_env_release] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_env_release]
}
else if (labelThatHasChanged == m_label_vcf_env_decay)
{
//[UserLabelCode_m_label_vcf_env_decay] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_env_decay]
}
else if (labelThatHasChanged == m_label_vcf_env_sustain)
{
//[UserLabelCode_m_label_vcf_env_sustain] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_env_sustain]
}
else if (labelThatHasChanged == m_label_vcf_env_release)
{
//[UserLabelCode_m_label_vcf_env_release] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_env_release]
}
else if (labelThatHasChanged == m_label_vcf_q)
{
//[UserLabelCode_m_label_vcf_q] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_q]
}
else if (labelThatHasChanged == m_label_vcf_env_amount)
{
//[UserLabelCode_m_label_vcf_env_amount] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_env_amount]
}
else if (labelThatHasChanged == m_label_master_volume)
{
//[UserLabelCode_m_label_master_volume] -- add your label text handling code here..
//[/UserLabelCode_m_label_master_volume]
}
else if (labelThatHasChanged == m_label_osc0_transpose)
{
//[UserLabelCode_m_label_osc0_transpose] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_transpose]
}
else if (labelThatHasChanged == m_label_osc1_transpose)
{
//[UserLabelCode_m_label_osc1_transpose] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_transpose]
}
else if (labelThatHasChanged == m_label_osc0_det)
{
//[UserLabelCode_m_label_osc0_det] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_det]
}
else if (labelThatHasChanged == m_label_osc1_det)
{
//[UserLabelCode_m_label_osc1_det] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_det]
}
else if (labelThatHasChanged == m_label_vca_env_amount)
{
//[UserLabelCode_m_label_vca_env_amount] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_env_amount]
}
else if (labelThatHasChanged == m_label_osc0_dutycycle)
{
//[UserLabelCode_m_label_osc0_dutycycle] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_dutycycle]
}
else if (labelThatHasChanged == m_label_osc1_dutycycle)
{
//[UserLabelCode_m_label_osc1_dutycycle] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_dutycycle]
}
else if (labelThatHasChanged == m_label_lfo0_speed)
{
//[UserLabelCode_m_label_lfo0_speed] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_speed]
}
else if (labelThatHasChanged == m_label_osc0_fm_amt0)
{
//[UserLabelCode_m_label_osc0_fm_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_fm_amt0]
}
else if (labelThatHasChanged == m_label_osc1_fm_amt0)
{
//[UserLabelCode_m_label_osc1_fm_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_fm_amt0]
}
else if (labelThatHasChanged == m_label_vcf_f_amt0)
{
//[UserLabelCode_m_label_vcf_f_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_f_amt0]
}
else if (labelThatHasChanged == m_label_lfo1_speed)
{
//[UserLabelCode_m_label_lfo1_speed] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo1_speed]
}
else if (labelThatHasChanged == m_label_lfo2_speed)
{
//[UserLabelCode_m_label_lfo2_speed] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo2_speed]
}
else if (labelThatHasChanged == m_label_lfo3_speed)
{
//[UserLabelCode_m_label_lfo3_speed] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo3_speed]
}
else if (labelThatHasChanged == m_label_vca_am_amt0)
{
//[UserLabelCode_m_label_vca_am_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_am_amt0]
}
else if (labelThatHasChanged == m_label_vca_pan_amt0)
{
//[UserLabelCode_m_label_vca_pan_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_vca_pan_amt0]
}
else if (labelThatHasChanged == m_label_lfo1_smooth)
{
//[UserLabelCode_m_label_lfo1_smooth] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo1_smooth]
}
else if (labelThatHasChanged == m_label_lfo0_smooth)
{
//[UserLabelCode_m_label_lfo0_smooth] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_smooth]
}
else if (labelThatHasChanged == m_label_lfo2_smooth)
{
//[UserLabelCode_m_label_lfo2_smooth] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo2_smooth]
}
else if (labelThatHasChanged == m_label_lfo3_smooth)
{
//[UserLabelCode_m_label_lfo3_smooth] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo3_smooth]
}
else if (labelThatHasChanged == m_label_osc0_pwm_amt0)
{
//[UserLabelCode_m_label_osc0_pwm_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_pwm_amt0]
}
else if (labelThatHasChanged == m_label_osc1_pwm_amt0)
{
//[UserLabelCode_m_label_osc1_pwm_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_pwm_amt0]
}
else if (labelThatHasChanged == m_label_osc0_level)
{
//[UserLabelCode_m_label_osc0_level] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_level]
}
else if (labelThatHasChanged == m_label_osc1_level)
{
//[UserLabelCode_m_label_osc1_level] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_level]
}
else if (labelThatHasChanged == m_label_noise_level)
{
//[UserLabelCode_m_label_noise_level] -- add your label text handling code here..
//[/UserLabelCode_m_label_noise_level]
}
else if (labelThatHasChanged == m_label_patch_name)
{
//[UserLabelCode_m_label_patch_name] -- add your label text handling code here..
//[/UserLabelCode_m_label_patch_name]
}
else if (labelThatHasChanged == m_label_patch_number)
{
//[UserLabelCode_m_label_patch_number] -- add your label text handling code here..
//[/UserLabelCode_m_label_patch_number]
}
else if (labelThatHasChanged == m_label_osc1_pb_min)
{
//[UserLabelCode_m_label_osc1_pb_min] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_pb_min]
}
else if (labelThatHasChanged == m_label_osc1_pb_max)
{
//[UserLabelCode_m_label_osc1_pb_max] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_pb_max]
}
else if (labelThatHasChanged == m_label_osc0_pb_max)
{
//[UserLabelCode_m_label_osc0_pb_max] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_pb_max]
}
else if (labelThatHasChanged == m_label_osc0_pb_min)
{
//[UserLabelCode_m_label_osc0_pb_min] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_pb_min]
}
else if (labelThatHasChanged == m_label_master_tune)
{
//[UserLabelCode_m_label_master_tune] -- add your label text handling code here..
//[/UserLabelCode_m_label_master_tune]
}
else if (labelThatHasChanged == m_label_portamento_time)
{
//[UserLabelCode_m_label_portamento_time] -- add your label text handling code here..
//[/UserLabelCode_m_label_portamento_time]
}
else if (labelThatHasChanged == m_label_voice_pan_spread)
{
//[UserLabelCode_m_label_voice_pan_spread] -- add your label text handling code here..
//[/UserLabelCode_m_label_voice_pan_spread]
}
else if (labelThatHasChanged == m_label_unisono_num_voices)
{
//[UserLabelCode_m_label_unisono_num_voices] -- add your label text handling code here..
//[/UserLabelCode_m_label_unisono_num_voices]
}
else if (labelThatHasChanged == m_label_osc1_am_amt0)
{
//[UserLabelCode_m_label_osc1_am_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_am_amt0]
}
else if (labelThatHasChanged == m_label_osc0_am_amt0)
{
//[UserLabelCode_m_label_osc0_am_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_am_amt0]
}
else if (labelThatHasChanged == m_label_env2_attack)
{
//[UserLabelCode_m_label_env2_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_env2_attack]
}
else if (labelThatHasChanged == m_label_env2_decay)
{
//[UserLabelCode_m_label_env2_decay] -- add your label text handling code here..
//[/UserLabelCode_m_label_env2_decay]
}
else if (labelThatHasChanged == m_label_env2_sustain)
{
//[UserLabelCode_m_label_env2_sustain] -- add your label text handling code here..
//[/UserLabelCode_m_label_env2_sustain]
}
else if (labelThatHasChanged == m_label_env2_release)
{
//[UserLabelCode_m_label_env2_release] -- add your label text handling code here..
//[/UserLabelCode_m_label_env2_release]
}
else if (labelThatHasChanged == m_label_env3_attack)
{
//[UserLabelCode_m_label_env3_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_env3_attack]
}
else if (labelThatHasChanged == m_label_env3_decay)
{
//[UserLabelCode_m_label_env3_decay] -- add your label text handling code here..
//[/UserLabelCode_m_label_env3_decay]
}
else if (labelThatHasChanged == m_label_env3_sustain)
{
//[UserLabelCode_m_label_env3_sustain] -- add your label text handling code here..
//[/UserLabelCode_m_label_env3_sustain]
}
else if (labelThatHasChanged == m_label_env3_release)
{
//[UserLabelCode_m_label_env3_release] -- add your label text handling code here..
//[/UserLabelCode_m_label_env3_release]
}
else if (labelThatHasChanged == m_label_vcf_q_amt0)
{
//[UserLabelCode_m_label_vcf_q_amt0] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_q_amt0]
}
else if (labelThatHasChanged == m_label_humanize_var_vco)
{
//[UserLabelCode_m_label_humanize_var_vco] -- add your label text handling code here..
//[/UserLabelCode_m_label_humanize_var_vco]
}
else if (labelThatHasChanged == m_label_humanize_var_vcf)
{
//[UserLabelCode_m_label_humanize_var_vcf] -- add your label text handling code here..
//[/UserLabelCode_m_label_humanize_var_vcf]
}
else if (labelThatHasChanged == m_label_humanize_var_env)
{
//[UserLabelCode_m_label_humanize_var_env] -- add your label text handling code here..
//[/UserLabelCode_m_label_humanize_var_env]
}
else if (labelThatHasChanged == m_label_lfo0_delay)
{
//[UserLabelCode_m_label_lfo0_delay] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_delay]
}
else if (labelThatHasChanged == m_label_lfo0_attack)
{
//[UserLabelCode_m_label_lfo0_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_attack]
}
else if (labelThatHasChanged == m_label_lfo1_delay)
{
//[UserLabelCode_m_label_lfo1_delay] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo1_delay]
}
else if (labelThatHasChanged == m_label_lfo1_attack)
{
//[UserLabelCode_m_label_lfo1_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo1_attack]
}
else if (labelThatHasChanged == m_label_lfo2_delay)
{
//[UserLabelCode_m_label_lfo2_delay] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo2_delay]
}
else if (labelThatHasChanged == m_label_lfo2_attack)
{
//[UserLabelCode_m_label_lfo2_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo2_attack]
}
else if (labelThatHasChanged == m_label_lfo3_delay)
{
//[UserLabelCode_m_label_lfo3_delay] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo3_delay]
}
else if (labelThatHasChanged == m_label_lfo3_attack)
{
//[UserLabelCode_m_label_lfo3_attack] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo3_attack]
}
else if (labelThatHasChanged == m_label_lfo0_symmetry)
{
//[UserLabelCode_m_label_lfo0_symmetry] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_symmetry]
}
else if (labelThatHasChanged == m_label_lfo1_symmetry)
{
//[UserLabelCode_m_label_lfo1_symmetry] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo1_symmetry]
}
else if (labelThatHasChanged == m_label_lfo2_symmetry)
{
//[UserLabelCode_m_label_lfo2_symmetry] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo2_symmetry]
}
else if (labelThatHasChanged == m_label_lfo3_symmetry)
{
//[UserLabelCode_m_label_lfo3_symmetry] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo3_symmetry]
}
else if (labelThatHasChanged == m_label_osc0_fm_amt1)
{
//[UserLabelCode_m_label_osc0_fm_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_fm_amt1]
}
else if (labelThatHasChanged == m_label_osc0_pwm_amt1)
{
//[UserLabelCode_m_label_osc0_pwm_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_pwm_amt1]
}
else if (labelThatHasChanged == m_label_osc0_am_amt1)
{
//[UserLabelCode_m_label_osc0_am_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc0_am_amt1]
}
else if (labelThatHasChanged == m_label_osc1_fm_amt1)
{
//[UserLabelCode_m_label_osc1_fm_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_fm_amt1]
}
else if (labelThatHasChanged == m_label_osc1_pwm_amt1)
{
//[UserLabelCode_m_label_osc1_pwm_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_pwm_amt1]
}
else if (labelThatHasChanged == m_label_osc1_am_amt1)
{
//[UserLabelCode_m_label_osc1_am_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_osc1_am_amt1]
}
else if (labelThatHasChanged == m_label_vcf_f_amt1)
{
//[UserLabelCode_m_label_vcf_f_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_f_amt1]
}
else if (labelThatHasChanged == m_label_vcf_q_amt1)
{
//[UserLabelCode_m_label_vcf_q_amt1] -- add your label text handling code here..
//[/UserLabelCode_m_label_vcf_q_amt1]
}
else if (labelThatHasChanged == m_label_max_num_voices)
{
//[UserLabelCode_m_label_max_num_voices] -- add your label text handling code here..
//[/UserLabelCode_m_label_max_num_voices]
}
else if (labelThatHasChanged == m_label_num_voices_playing)
{
//[UserLabelCode_m_label_num_voices_playing] -- add your label text handling code here..
//[/UserLabelCode_m_label_num_voices_playing]
}
else if (labelThatHasChanged == m_label_lfo0_midisync_factor)
{
//[UserLabelCode_m_label_lfo0_midisync_factor] -- add your label text handling code here..
//[/UserLabelCode_m_label_lfo0_midisync_factor]
}
//[UserlabelTextChanged_Post]
//[/UserlabelTextChanged_Post]
}
void JaySynthAudioProcessorEditor::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
{
//[UsercomboBoxChanged_Pre]
int paramID, srcID, opID;
float value;
param_info_t *pParamInfo;
paramID = (int)(comboBoxThatHasChanged->getComponentID()).getTrailingIntValue();
value = (float)(comboBoxThatHasChanged->getSelectedId()-1);
pParamInfo = getParamInfo(paramID);
if (pParamInfo)
getProcessor()->setParam(paramID, (synth_float_t)value, true, true);
if (comboBoxThatHasChanged == m_comboBox_osc0_fm_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_fm_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_pwm_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_pwm_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_am_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_am_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_f_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_q_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vca_am_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vca_pan_src0)
{
srcID = ModSrc0_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_fm_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_0_FM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_fm_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_1_FM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_pwm_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_0_PWM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_pwm_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_1_PWM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_am_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_0_AM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_am_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_OSC_1_AM_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_f_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_VCF_F_SRC_OP, (synth_float_t)opID, true, true);
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_q_src1)
{
srcID = ModSrc1_findByName(comboBoxThatHasChanged->getText());
if (srcID >= 0)
getProcessor()->setParam(paramID, (synth_float_t)srcID, true, true);
opID = ModSrcOP_findByName(comboBoxThatHasChanged->getText());
if (opID >= 0)
getProcessor()->setParam(SYNTH_PARAM_VCF_Q_SRC_OP, (synth_float_t)opID, true, true);
}
return;
//[/UsercomboBoxChanged_Pre]
if (comboBoxThatHasChanged == m_comboBox_osc0_shape)
{
//[UserComboBoxCode_m_comboBox_osc0_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_shape)
{
//[UserComboBoxCode_m_comboBox_osc1_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_lfo0_shape)
{
//[UserComboBoxCode_m_comboBox_lfo0_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_lfo0_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_lfo1_shape)
{
//[UserComboBoxCode_m_comboBox_lfo1_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_lfo1_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_lfo2_shape)
{
//[UserComboBoxCode_m_comboBox_lfo2_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_lfo2_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_lfo3_shape)
{
//[UserComboBoxCode_m_comboBox_lfo3_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_lfo3_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_f_src0)
{
//[UserComboBoxCode_m_comboBox_vcf_f_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_f_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_fm_src0)
{
//[UserComboBoxCode_m_comboBox_osc0_fm_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_fm_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_fm_src0)
{
//[UserComboBoxCode_m_comboBox_osc1_fm_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_fm_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_vca_am_src0)
{
//[UserComboBoxCode_m_comboBox_vca_am_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vca_am_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_vca_pan_src0)
{
//[UserComboBoxCode_m_comboBox_vca_pan_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vca_pan_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_type)
{
//[UserComboBoxCode_m_comboBox_vcf_type] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_type]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_pwm_src0)
{
//[UserComboBoxCode_m_comboBox_osc0_pwm_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_pwm_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_pwm_src0)
{
//[UserComboBoxCode_m_comboBox_osc1_pwm_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_pwm_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_noise_shape)
{
//[UserComboBoxCode_m_comboBox_noise_shape] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_noise_shape]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_order)
{
//[UserComboBoxCode_m_comboBox_vcf_order] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_order]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_fm_src1)
{
//[UserComboBoxCode_m_comboBox_osc1_fm_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_fm_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_pwm_src1)
{
//[UserComboBoxCode_m_comboBox_osc1_pwm_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_pwm_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_fm_src1)
{
//[UserComboBoxCode_m_comboBox_osc0_fm_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_fm_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_pwm_src1)
{
//[UserComboBoxCode_m_comboBox_osc0_pwm_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_pwm_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_am_src0)
{
//[UserComboBoxCode_m_comboBox_osc1_am_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_am_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_osc1_am_src1)
{
//[UserComboBoxCode_m_comboBox_osc1_am_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc1_am_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_am_src0)
{
//[UserComboBoxCode_m_comboBox_osc0_am_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_am_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_osc0_am_src1)
{
//[UserComboBoxCode_m_comboBox_osc0_am_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_osc0_am_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_f_src1)
{
//[UserComboBoxCode_m_comboBox_vcf_f_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_f_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_q_src0)
{
//[UserComboBoxCode_m_comboBox_vcf_q_src0] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_q_src0]
}
else if (comboBoxThatHasChanged == m_comboBox_vcf_q_src1)
{
//[UserComboBoxCode_m_comboBox_vcf_q_src1] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_vcf_q_src1]
}
else if (comboBoxThatHasChanged == m_comboBox_lfo0_midisync_mode)
{
//[UserComboBoxCode_m_comboBox_lfo0_midisync_mode] -- add your combo box handling code here..
//[/UserComboBoxCode_m_comboBox_lfo0_midisync_mode]
}
//[UsercomboBoxChanged_Post]
//[/UsercomboBoxChanged_Post]
}
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
int JaySynthAudioProcessorEditor::ModSrc0_findByName(String name)
{
int i;
for (i=0; i < VOICE_NUM_MOD_SOURCES_0; i++)
{
if (name.contains(m_mod_src0_names[i]))
break;
}
if (i == VOICE_NUM_MOD_SOURCES_0)
return -1;
return i;
}
int JaySynthAudioProcessorEditor::ModSrc1_findByName(String name)
{
int i;
for (i=0; i < VOICE_NUM_MOD_SOURCES_1; i++)
{
if (name.contains(m_mod_src1_names[i]))
break;
}
if (i == VOICE_NUM_MOD_SOURCES_1)
return -1;
return i;
}
int JaySynthAudioProcessorEditor::ModSrcOP_findByName(String name)
{
int i;
for (i=0; i < VOICE_NUM_MOD_OPS; i++)
{
if (name.substring(0, 2).contains(m_mod_src_op_names[i]))
break;
}
if (i == VOICE_NUM_MOD_OPS)
return -1;
return i;
}
int JaySynthAudioProcessorEditor::ModSrc1_CB_getIndex(int srcID, int opID)
{
if (srcID == 0)
return 1;
return 1 + opID*(VOICE_NUM_MOD_SOURCES_1-1) + srcID;
}
void JaySynthAudioProcessorEditor::buttonClicked (Button* buttonThatWasClicked)
{
int paramID;
float value;
param_info_t *pParamInfo;
if (buttonThatWasClicked == m_button_patch_incr)
{
getProcessor()->setCurrentProgram(getProcessor()->getCurrentProgram()+1);
return;
}
else if (buttonThatWasClicked == m_button_patch_decr)
{
getProcessor()->setCurrentProgram(getProcessor()->getCurrentProgram()-1);
return;
}
paramID = (int)(buttonThatWasClicked->getComponentID()).getTrailingIntValue();
value = (float)buttonThatWasClicked->getToggleState();
pParamInfo = getParamInfo(paramID);
if (pParamInfo)
getProcessor()->setParam(paramID, toParam(pParamInfo, (synth_float_t)value), true, true);
if (buttonThatWasClicked == m_button_humanize_enable)
{
getProcessor()->humanizeModeChanged();
}
if (buttonThatWasClicked == m_button_unisono_enable)
{
getProcessor()->unisonoModeChanged();
}
if (buttonThatWasClicked == m_button_mono_enable)
{
getProcessor()->unisonoModeChanged();
}
}
void JaySynthAudioProcessorEditor::mouseDown (const MouseEvent &m)
{
int paramID;
Component *componentThatWasClicked = (Component*)m.eventComponent;
paramID = componentThatWasClicked->getComponentID().getTrailingIntValue();
if (m.mods.isRightButtonDown() && !m.mods.isShiftDown())
{
if (componentThatWasClicked->getComponentID().contains(String("SLIDER")))
{
switch (paramID)
{
// These parameters don't support per voice modulation
case SYNTH_PARAM_VOLUME:
case SYNTH_PARAM_TUNE:
case SYNTH_PARAM_VOICE_PAN_SPREAD:
case SYNTH_PARAM_HUMANIZE_VAR_VCO:
case SYNTH_PARAM_HUMANIZE_VAR_VCF:
case SYNTH_PARAM_HUMANIZE_VAR_ENV:
case SYNTH_PARAM_PORTAMENTO_TIME:
return;
default:
break;
}
VelKey_PopUp_show(componentThatWasClicked);
}
}
if (m.mods.isRightButtonDown() && m.mods.isShiftDown())
{
// Comboboxes don't support midicontroller assignments
if (componentThatWasClicked->getComponentID().contains(String("COMBOBOX")))
{
return;
}
MidiCC_PopUp_show(componentThatWasClicked);
}
}
void JaySynthAudioProcessorEditor::mouseDoubleClick (const MouseEvent &/*m*/)
{
}
void JaySynthAudioProcessorEditor::VelKey_PopUp_show(Component *componentThatWasClicked)
{
int paramID, compX, compY, mainSizeX, mainSizeY, popupSizeX, popupSizeY;
synth_float_t currentParamValue;
JaySynthMidiCC *pMidiCC;
JaySynth::midi_note_info_t *pCurrentMidiNoteInfo;
if (m_VelKey_PopUp)
return;
if (componentThatWasClicked->getName().isEmpty())
return;
paramID = (int)(componentThatWasClicked->getComponentID()).getTrailingIntValue();
currentParamValue = getProcessor()->getParam(paramID);
pCurrentMidiNoteInfo = getProcessor()->getLastMidiNoteInfos();
pMidiCC = getProcessor()->getMidiCC_editBuffer();
addChildComponent (m_VelKey_PopUp = new VelKey_PopUp(pMidiCC, paramID, currentParamValue, pCurrentMidiNoteInfo, componentThatWasClicked->getName(), this));
compX = componentThatWasClicked->getX();
compY = componentThatWasClicked->getY();
mainSizeX = this->getWidth();
mainSizeY = this->getHeight();
popupSizeX = m_VelKey_PopUp->getWidth();
popupSizeY = m_VelKey_PopUp->getHeight();
if ((compX + popupSizeX) > mainSizeX)
compX = mainSizeX - popupSizeX;
if ((compY + popupSizeY) > mainSizeY)
compY = mainSizeY - popupSizeY;
m_VelKey_PopUp->setBounds(compX, compY, popupSizeX, popupSizeY);
m_VelKey_PopUp->show();
// m_VelKey_PopUp->enterModalState();
}
void JaySynthAudioProcessorEditor::VelKey_PopUp_event(int event)
{
int paramID;
switch (event)
{
case VelKey_PopUp::POPUP_OK:
paramID = m_VelKey_PopUp->getParamID();
m_label_patch_name->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
paramUpdate(paramID, false);
deleteAndZero (m_VelKey_PopUp);
break;
case VelKey_PopUp::POPUP_PARAM_CHANGED:
paramID = m_VelKey_PopUp->getParamID();
m_label_patch_name->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
getProcessor()->perVoiceControlChanged(paramID);
paramUpdate(paramID, false);
break;
default:
break;
}
};
void JaySynthAudioProcessorEditor::MidiCC_PopUp_show(Component *componentThatWasClicked)
{
int paramID, compX, compY, mainSizeX, mainSizeY, popupSizeX, popupSizeY;
synth_float_t currentParamValue;
JaySynthMidiCC *pMidiCC;
JaySynth::midiCC_info_t *pCurrentMidiCCinfo;
if (m_MidiCC_PopUp)
return;
if (componentThatWasClicked->getName().isEmpty())
return;
paramID = (int)(componentThatWasClicked->getComponentID()).getTrailingIntValue();
currentParamValue = getProcessor()->getParam(paramID);
pCurrentMidiCCinfo = getProcessor()->getLastMidiControllers();
pMidiCC = getProcessor()->getMidiCC_editBuffer();
addChildComponent (m_MidiCC_PopUp = new MidiCC_PopUp(pMidiCC, paramID, currentParamValue, pCurrentMidiCCinfo, componentThatWasClicked->getName(), this));
compX = componentThatWasClicked->getX();
compY = componentThatWasClicked->getY();
mainSizeX = this->getWidth();
mainSizeY = this->getHeight();
popupSizeX = m_MidiCC_PopUp->getWidth();
popupSizeY = m_MidiCC_PopUp->getHeight();
if ((compX + popupSizeX) > mainSizeX)
compX = mainSizeX - popupSizeX;
if ((compY + popupSizeY) > mainSizeY)
compY = mainSizeY - popupSizeY;
m_MidiCC_PopUp->setBounds(compX, compY, popupSizeX, popupSizeY);
m_MidiCC_PopUp->show();
// m_MidiCC_PopUp->enterModalState();
}
void JaySynthAudioProcessorEditor::MidiCC_PopUp_event(int event)
{
int paramID;
switch (event)
{
case MidiCC_PopUp::POPUP_OK:
paramID = m_MidiCC_PopUp->getParamID();
getProcessor()->setParam(paramID, m_MidiCC_PopUp->getCurrentParamValue(), false, false);
getProcessor()->controlParam(paramID, m_MidiCC_PopUp->getCurrentControlValue());
m_label_patch_name->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
deleteAndZero (m_MidiCC_PopUp);
break;
case MidiCC_PopUp::POPUP_PARAM_CHANGED:
paramID = m_MidiCC_PopUp->getParamID();
getProcessor()->setParam(paramID, m_MidiCC_PopUp->getCurrentParamValue(), false, false);
getProcessor()->controlParam(paramID, m_MidiCC_PopUp->getCurrentControlValue());
break;
default:
break;
}
};
void JaySynthAudioProcessorEditor::actionListenerCallback (const String &message)
{
int type, paramID, note, limiter_on;
String key, value;
StringPairArray spa;
String s = message;
float velocity;
do
{
key = s.substring(0, s.indexOfChar('='));
s = s.trimCharactersAtStart(key + "=");
value = s.substring(0, s.indexOfChar(' '));
s = s.trimCharactersAtStart(value + "=");
spa.set(key, value);
s = s.substring(s.indexOfChar(' ')+1);
} while (s != String::empty);
type = spa.getValue("type", "-1").getIntValue();
switch (type)
{
case JaySynthActionListener::JAYSYNTH_CHANGED_PARAM:
paramID = spa.getValue("paramID", "-1").getIntValue();
if (paramID < 0)
break;
paramUpdate(paramID, false);
m_label_patch_name->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
if (m_VelKey_PopUp)
m_VelKey_PopUp->setCurrParam(paramID, (float)getProcessor()->getParam(paramID));
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_MIDICC:
JaySynth::midiCC_info_t midi_info;
midi_info.channel = spa.getValue("ch", "-1").getIntValue();
midi_info.ID = spa.getValue("id", "-1").getIntValue();
midi_info.value = spa.getValue("value", "-1").getFloatValue();
if (m_MidiCC_PopUp)
m_MidiCC_PopUp->setControllerID(midi_info.ID);
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_NOTE_PRESSED:
note = spa.getValue("note", "-1").getIntValue();
velocity = spa.getValue("velocity", "-1").getFloatValue();
if (m_VelKey_PopUp)
m_VelKey_PopUp->setKeyVel(note, velocity);
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_NOTE_RELEASED:
note = spa.getValue("note", "-1").getIntValue();
velocity = spa.getValue("velocity", "-1").getFloatValue();
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_PROGRAM:
m_label_patch_name->setText(getProcessor()->getCurrentProgramName(), juce::NotificationType::dontSendNotification);
m_label_patch_number->setText(String::formatted("%02d", getProcessor()->getCurrentProgram()), juce::NotificationType::dontSendNotification);
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_LIMITER:
limiter_on = spa.getValue("value", "-1").getIntValue();
m_btn_limiter_led->setToggleState(limiter_on != 0, juce::NotificationType::dontSendNotification);
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_NUM_VOICES_PLAYING:
paramID = spa.getValue("value", "-1").getIntValue();
if (paramID < 0)
break;
m_label_num_voices_playing->setText(String::formatted("%d", paramID), juce::NotificationType::dontSendNotification);
break;
case JaySynthActionListener::JAYSYNTH_CHANGED_MIDICLOCK:
{
uint32_t deltaTime_ms = spa.getValue("deltatime", "-1").getIntValue();
uint32_t brightness = spa.getValue("brightness", "-1").getIntValue();
m_btn_midiClockLed->flash(brightness*50, brightness);
uint32_t bpm = (uint32_t)(60*1000.0/deltaTime_ms + 0.5);
m_labelDebug->setText(String("BPM = ") + String(bpm), juce::NotificationType::dontSendNotification);
}
break;
default:
break;
}
}
void JaySynthAudioProcessorEditor::paramUpdate(int paramID, bool doHostUpdate)
{
Slider *pSlider;
Label *pLabel;
ComboBox *pComboBox;
Button *pButton;
JaySynthMidiCC *pMidiCC;
midiCC_container_t *pMidiCC_container;
Colour slider_colour;
Colour label_colour;
Colour combobox_colour;
pMidiCC = getProcessor()->getMidiCC_editBuffer();
pMidiCC_container = pMidiCC->getAtParamID(paramID);
if (doHostUpdate)
getProcessor()->sendParamChangeToHost(paramID, getProcessor()->getParameter(paramID));
combobox_colour = Colour(0xffffffff);
slider_colour = Colour(0x7fffffff);
label_colour = Colour(0xff000000);
if (pMidiCC->isAssigned(pMidiCC_container))
{
combobox_colour = Colour(0xffffff00);
slider_colour = Colour(0xffffff00);
if (pMidiCC->doChangeParameter(pMidiCC_container))
{
combobox_colour = Colour(0xffffff00);
slider_colour = Colour(0xffffff00);
}
}
if (pMidiCC->isAssignedVel(pMidiCC_container))
{
label_colour = Colour(0xffffff00);
}
if (pMidiCC->isAssignedKey(pMidiCC_container))
{
label_colour = Colour(0xffffff00);
}
pSlider = (Slider*)findChildWithID(String("SLIDER ") + String(paramID));
if (pSlider)
{
pSlider->setValue(getProcessor()->getParameter(paramID), juce::NotificationType::dontSendNotification);
pSlider->setColour (Slider::rotarySliderFillColourId, slider_colour);
}
pLabel = (Label*)findChildWithID(String("LABEL ") + String(paramID));
if (pLabel)
{
pLabel->setText((String)getProcessor()->getParameterText(paramID), juce::NotificationType::dontSendNotification);
pLabel->setColour (Label::textColourId, label_colour);
}
pComboBox = (ComboBox*)findChildWithID(String("COMBOBOX ") + String(paramID));
if (pComboBox)
{
switch(paramID)
{
case SYNTH_PARAM_OSC_0_FM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_0_FM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_OSC_1_FM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_1_FM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_OSC_0_AM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_0_AM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_OSC_1_AM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_1_AM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_OSC_0_PWM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_0_PWM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_OSC_1_PWM_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_OSC_1_PWM_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_VCF_F_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_VCF_F_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
case SYNTH_PARAM_VCF_Q_SRC_1:
pComboBox->setSelectedId(ModSrc1_CB_getIndex((int)getProcessor()->getParam(paramID), (int)getProcessor()->getParam(SYNTH_PARAM_VCF_Q_SRC_OP)), juce::NotificationType::dontSendNotification);
break;
default:
pComboBox->setSelectedId(1 + (int)getProcessor()->getParam(paramID), juce::NotificationType::dontSendNotification);
break;
}
pComboBox->setColour (ComboBox:: backgroundColourId, combobox_colour);
}
pButton = (Button*)findChildWithID(String("BUTTON ") + String(paramID));
if (pButton)
{
pButton->setToggleState(getProcessor()->getParameter(paramID) > 0.5, juce::NotificationType::dontSendNotification);
}
}
// This timer periodically checks whether any of the vcf's parameters have changed...
void JaySynthAudioProcessorEditor::timerCallback()
{
}
//[/MiscUserCode]
//==============================================================================
#if 0
/* -- Introjucer information section --
This is where the Introjucer stores the metadata that describe this GUI layout, so
make changes in here at your peril!
BEGIN_JUCER_METADATA
<JUCER_COMPONENT documentType="Component" className="JaySynthAudioProcessorEditor"
componentName="" parentClasses="public AudioProcessorEditor, public Timer, public ButtonListener, public ActionListener, public MidiCC_PopUp_Listener, public VelKey_PopUp_Listener"
constructorParams="JaySynthAudioProcessor* ownerFilter, bool has_wt"
variableInitialisers="AudioProcessorEditor (ownerFilter)" snapPixels="2"
snapActive="1" snapShown="1" overlayOpacity="0.330" fixedSize="1"
initialWidth="1120" initialHeight="720">
<BACKGROUND backgroundColour="ff8b94bd">
<ROUNDRECT pos="644 4 80 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="644 318 80 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="962 4 154 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="962 318 154 310" cornerSize="10" fill="solid: ff2a64a5"
hasStroke="0"/>
<ROUNDRECT pos="560 318 80 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="560 4 80 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="4 632 1112 84" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="4 318 324 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<ROUNDRECT pos="446 318 110 310" cornerSize="10" fill="solid: ff2a64a5"
hasStroke="0"/>
<ROUNDRECT pos="446 4 110 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<TEXT pos="12 -108 76 30" fill="solid: ff000000" hasStroke="0" text="OSC 1 tune"
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
<ROUNDRECT pos="728 318 230 310" cornerSize="10" fill="solid: ff2a64a5"
hasStroke="0"/>
<TEXT pos="732 322 48 24" fill="solid: ffffffff" hasStroke="0" text="VCA"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="740 504 52 16" fill="solid: ff000000" hasStroke="0" text="Env. amt."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="968 572 40 16" fill="solid: ff000000" hasStroke="0" text="Volume"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<ROUNDRECT pos="728 4 230 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<TEXT pos="732 8 48 24" fill="solid: ffffffff" hasStroke="0" text="VCF"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="886 156 52 16" fill="solid: ff000000" hasStroke="0" text="Env. amt."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="816 88 44 16" fill="solid: ff000000" hasStroke="0" text="Reson."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="746 88 40 16" fill="solid: ff000000" hasStroke="0" text="Cutoff"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="664 222 40 16" fill="solid: ff000000" hasStroke="0" text="Sustain"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="664 156 40 16" fill="solid: ff000000" hasStroke="0" text="Decay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="660 290 48 16" fill="solid: ff000000" hasStroke="0" text="Release"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="660 88 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<ROUNDRECT pos="4 4 324 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<TEXT pos="6 8 72 32" fill="solid: ffffffff" hasStroke="0" text="VCO 1"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="96 86 54 16" fill="solid: ff000000" hasStroke="0" text="Detune"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="246 154 58 16" fill="solid: ff000000" hasStroke="0" text="Transpose"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="6 322 72 32" fill="solid: ffffffff" hasStroke="0" text="VCO 2"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="160 86 68 16" fill="solid: ff000000" hasStroke="0" text="Pulse Width"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="242 86 64 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<ROUNDRECT pos="332 4 110 310" cornerSize="10" fill="solid: ff2a64a5" hasStroke="0"/>
<TEXT pos="336 8 60 24" fill="solid: ffffffff" hasStroke="0" text="LFO 1"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="90 154 70 16" fill="solid: ff000000" hasStroke="0" text="FM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="338 120 48 16" fill="solid: ff000000" hasStroke="0" text="Speed"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="348 54 72 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="736 156 64 16" fill="solid: ff000000" hasStroke="0" text="Mod. amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<ROUNDRECT pos="332 318 110 310" cornerSize="10" fill="solid: ff2a64a5"
hasStroke="0"/>
<TEXT pos="450 8 60 24" fill="solid: ffffffff" hasStroke="0" text="LFO 2"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="388 290 44 16" fill="solid: ff000000" hasStroke="0" text="Polyphon"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="346 290 30 16" fill="solid: ff000000" hasStroke="0" text="Restart"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="336 322 60 24" fill="solid: ffffffff" hasStroke="0" text="LFO 3"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="450 322 60 24" fill="solid: ffffffff" hasStroke="0" text="LFO 4"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="736 402 60 16" fill="solid: ff000000" hasStroke="0" text="Tremolo"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="810 402 60 16" fill="solid: ff000000" hasStroke="0" text="Stereo pan"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="94 188 64 16" fill="solid: ff000000" hasStroke="0" text="FM Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="804 436 72 16" fill="solid: ff000000" hasStroke="0" text="Source"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="732 436 72 16" fill="solid: ff000000" hasStroke="0" text="Source"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="732 290 72 16" fill="solid: ff000000" hasStroke="0" text="Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="878 54 72 16" fill="solid: ff000000" hasStroke="0" text="VCF type"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="386 256 44 16" fill="solid: ff000000" hasStroke="0" text="Smooth"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="160 154 70 16" fill="solid: ff000000" hasStroke="0" text="PWM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="166 188 64 16" fill="solid: ff000000" hasStroke="0" text="PWM Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="30 86 48 16" fill="solid: ff000000" hasStroke="0" text="Level"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="802 504 72 16" fill="solid: ff000000" hasStroke="0" text="Noise level"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="810 540 60 16" fill="solid: ff000000" hasStroke="0" text="Noise shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="1018 572 40 16" fill="solid: ff000000" hasStroke="0" text="Tune"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="878 90 72 16" fill="solid: ff000000" hasStroke="0" text="VCF Order"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="1058 376 60 16" fill="solid: ff000000" hasStroke="0" text="Portamento"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="1064 572 52 16" fill="solid: ff000000" hasStroke="0" text="Voice pan."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="966 504 44 16" fill="solid: ff000000" hasStroke="0" text="VCO hum."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="1016 504 44 16" fill="solid: ff000000" hasStroke="0" text="VCF hum."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="1068 504 44 16" fill="solid: ff000000" hasStroke="0" text="ENV hum."
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="966 414 100 18" fill="solid: ffffffff" hasStroke="0" text="Unison num. voices :"
fontname="Default font" fontsize="11" bold="0" italic="0" justification="34"/>
<TEXT pos="94 290 64 16" fill="solid: ff000000" hasStroke="0" text="FM Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="166 290 64 16" fill="solid: ff000000" hasStroke="0" text="PWM Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="22 188 64 16" fill="solid: ff000000" hasStroke="0" text="AM source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="22 290 64 16" fill="solid: ff000000" hasStroke="0" text="AM source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="20 154 70 16" fill="solid: ff000000" hasStroke="0" text="AM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="96 400 54 16" fill="solid: ff000000" hasStroke="0" text="Detune"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="246 468 58 16" fill="solid: ff000000" hasStroke="0" text="Transpose"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="160 400 68 16" fill="solid: ff000000" hasStroke="0" text="Pulse Width"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="242 400 64 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="30 400 48 16" fill="solid: ff000000" hasStroke="0" text="Level"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="338 434 48 16" fill="solid: ff000000" hasStroke="0" text="Speed"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="348 368 72 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="386 434 44 16" fill="solid: ff000000" hasStroke="0" text="Smooth"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="452 120 48 16" fill="solid: ff000000" hasStroke="0" text="Speed"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="462 54 72 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="500 120 44 16" fill="solid: ff000000" hasStroke="0" text="Smooth"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="452 434 48 16" fill="solid: ff000000" hasStroke="0" text="Speed"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="462 368 72 16" fill="solid: ff000000" hasStroke="0" text="Shape"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="500 434 44 16" fill="solid: ff000000" hasStroke="0" text="Smooth"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="562 8 76 24" fill="solid: ffffffff" hasStroke="0" text="VCF ENV"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="648 8 72 24" fill="solid: ffffffff" hasStroke="0" text="VCA ENV"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="562 322 76 24" fill="solid: ffffffff" hasStroke="0" text="ENV 3"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="648 322 72 24" fill="solid: ffffffff" hasStroke="0" text="ENV 4"
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="664 534 40 16" fill="solid: ff000000" hasStroke="0" text="Sustain"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="664 470 40 16" fill="solid: ff000000" hasStroke="0" text="Decay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="660 604 48 16" fill="solid: ff000000" hasStroke="0" text="Release"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="660 402 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="580 222 40 16" fill="solid: ff000000" hasStroke="0" text="Sustain"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="580 156 40 16" fill="solid: ff000000" hasStroke="0" text="Decay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="576 290 48 16" fill="solid: ff000000" hasStroke="0" text="Release"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="576 88 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="580 534 40 16" fill="solid: ff000000" hasStroke="0" text="Sustain"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="580 470 40 16" fill="solid: ff000000" hasStroke="0" text="Decay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="576 604 48 16" fill="solid: ff000000" hasStroke="0" text="Release"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="576 402 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="732 190 72 16" fill="solid: ff000000" hasStroke="0" text="Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="808 156 64 16" fill="solid: ff000000" hasStroke="0" text="Mod. amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="804 290 72 16" fill="solid: ff000000" hasStroke="0" text="Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="804 190 72 16" fill="solid: ff000000" hasStroke="0" text="Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="966 322 58 24" fill="solid: ffffffff" hasStroke="0" text="Misc."
fontname="Default font" fontsize="16" bold="0" italic="0" justification="36"/>
<TEXT pos="338 188 48 16" fill="solid: ff000000" hasStroke="0" text="Delay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="384 188 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="452 188 48 16" fill="solid: ff000000" hasStroke="0" text="Delay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="498 188 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="452 502 48 16" fill="solid: ff000000" hasStroke="0" text="Delay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="498 502 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="338 502 48 16" fill="solid: ff000000" hasStroke="0" text="Delay"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="384 502 48 16" fill="solid: ff000000" hasStroke="0" text="Attack"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="338 256 48 16" fill="solid: ff000000" hasStroke="0" text="Symmetry"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="500 290 44 16" fill="solid: ff000000" hasStroke="0" text="Polyphon"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="458 290 30 16" fill="solid: ff000000" hasStroke="0" text="Restart"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="476 256 48 16" fill="solid: ff000000" hasStroke="0" text="Symmetry"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="388 604 44 16" fill="solid: ff000000" hasStroke="0" text="Polyphon"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="346 604 30 16" fill="solid: ff000000" hasStroke="0" text="Restart"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="500 604 44 16" fill="solid: ff000000" hasStroke="0" text="Polyphon"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="458 604 30 16" fill="solid: ff000000" hasStroke="0" text="Restart"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="362 570 48 16" fill="solid: ff000000" hasStroke="0" text="Symmetry"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="476 570 48 16" fill="solid: ff000000" hasStroke="0" text="Symmetry"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="90 256 70 16" fill="solid: ff000000" hasStroke="0" text="FM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="160 256 70 16" fill="solid: ff000000" hasStroke="0" text="PWM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="20 256 70 16" fill="solid: ff000000" hasStroke="0" text="AM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="90 468 70 16" fill="solid: ff000000" hasStroke="0" text="FM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="160 468 70 16" fill="solid: ff000000" hasStroke="0" text="PWM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="20 468 70 16" fill="solid: ff000000" hasStroke="0" text="AM amt. 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="94 502 64 16" fill="solid: ff000000" hasStroke="0" text="FM Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="166 502 64 16" fill="solid: ff000000" hasStroke="0" text="PWM Source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="22 502 64 16" fill="solid: ff000000" hasStroke="0" text="AM source 1"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="90 570 70 16" fill="solid: ff000000" hasStroke="0" text="FM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="160 570 70 16" fill="solid: ff000000" hasStroke="0" text="PWM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="20 570 70 16" fill="solid: ff000000" hasStroke="0" text="AM amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="92 604 64 16" fill="solid: ff000000" hasStroke="0" text="FM Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="164 604 64 16" fill="solid: ff000000" hasStroke="0" text="PWM Source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="20 604 64 16" fill="solid: ff000000" hasStroke="0" text="AM source 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="736 258 64 16" fill="solid: ff000000" hasStroke="0" text="Mod. amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="810 258 64 16" fill="solid: ff000000" hasStroke="0" text="Mod. amt. 2"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
<TEXT pos="966 394 100 18" fill="solid: ffffffff" hasStroke="0" text="Max. Polyphony :"
fontname="Default font" fontsize="11" bold="0" italic="0" justification="34"/>
<TEXT pos="386 119 48 16" fill="solid: ff000000" hasStroke="0" text="Divisor"
fontname="Default font" fontsize="10" bold="0" italic="0" justification="36"/>
</BACKGROUND>
<LABEL name="Colon" id="49ecaccc9d2b3ddd" memberName="m_label_colon"
virtualName="" explicitFocusOrder="0" pos="220 660 24 28" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText=":" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Times New Roman"
fontsize="20" bold="0" italic="0" justification="33"/>
<SLIDER name="Master volume" id="b491d423f9083ae7" memberName="m_slider_master_volume"
virtualName="" explicitFocusOrder="0" pos="972 542 36 36" tooltip="Master volume [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Cutoff" id="98ddd479b3437481" memberName="m_slider_vcf_f"
virtualName="" explicitFocusOrder="0" pos="748 56 36 36" tooltip="VCF Cutoff [Hz]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Resonance" id="94eec9b78293503e" memberName="m_slider_vcf_q"
virtualName="" explicitFocusOrder="0" pos="820 56 36 36" tooltip="VCF Resonance. Value = 1.0 means no resonance"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 1 Detune" id="5b48e4494bd5bbdd" memberName="m_slider_osc0_det"
virtualName="" explicitFocusOrder="0" pos="106 54 36 36" tooltip="OSC 1 Detune [cent]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 2 Detune" id="9885eee1e1e74c9d" memberName="m_slider_osc1_det"
virtualName="" explicitFocusOrder="0" pos="106 368 36 36" tooltip="OSC 2 Detune [cent]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 1 Transpose" id="1a6ab646ac5804c9" memberName="m_slider_osc0_transpose"
virtualName="" explicitFocusOrder="0" pos="256 122 36 36" tooltip="OSC 1 Transpose [semitones]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 2 Transpose" id="bf346b54be1fa0d3" memberName="m_slider_osc1_transpose"
virtualName="" explicitFocusOrder="0" pos="256 436 36 36" tooltip="OSC 2 Transpose [semitones]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCA Attack" id="aa93b47136c4b11b" memberName="m_slider_vca_env_attack"
virtualName="" explicitFocusOrder="0" pos="666 56 36 36" tooltip="VCA Attack Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCA Decay" id="f9bd9a23e65c8685" memberName="m_slider_vca_env_decay"
virtualName="" explicitFocusOrder="0" pos="666 124 36 36" tooltip="VCA Decay Time [ms]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCA Release" id="5eed47c034c45caa" memberName="m_slider_vca_env_release"
virtualName="" explicitFocusOrder="0" pos="666 258 36 36" tooltip="VCA Release Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCA Sustain" id="8ac84db213fbeac9" memberName="m_slider_vca_env_sustain"
virtualName="" explicitFocusOrder="0" pos="666 190 36 36" tooltip="VCA Sustain Level [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Attack" id="28e46c87593cd009" memberName="m_slider_vcf_env_attack"
virtualName="" explicitFocusOrder="0" pos="582 56 36 36" tooltip="VCF Attack Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Decay" id="b1c6706036d8d828" memberName="m_slider_vcf_env_decay"
virtualName="" explicitFocusOrder="0" pos="582 124 36 36" tooltip="VCF Decay Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Release" id="fdb84d8a25267c88" memberName="m_slider_vcf_env_release"
virtualName="" explicitFocusOrder="0" pos="582 258 36 36" tooltip="VCF Release Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF Sustain" id="c15c90d1ae46203b" memberName="m_slider_vcf_env_sustain"
virtualName="" explicitFocusOrder="0" pos="582 190 36 36" tooltip="VCF Sustain Level [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="VCF ENV Amount" id="ea2492ae12a7d4d3" memberName="m_slider_vcf_env_amount"
virtualName="" explicitFocusOrder="0" pos="892 124 36 36" tooltip="VCF Envelope Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCF Attack" id="850e277d4704196" memberName="m_label_vcf_env_attack"
virtualName="" explicitFocusOrder="0" pos="574 38 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF Cutoff" id="ffafbe5d30d3293a" memberName="m_label_vcf_f"
virtualName="" explicitFocusOrder="0" pos="740 38 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCA Attack" id="150695cee5b42196" memberName="m_label_vca_env_attack"
virtualName="" explicitFocusOrder="0" pos="658 38 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCA Decay" id="ff5a7f8bb6c88447" memberName="m_label_vca_env_decay"
virtualName="" explicitFocusOrder="0" pos="658 106 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCA Sustain" id="841e6ef67e43fff9" memberName="m_label_vca_env_sustain"
virtualName="" explicitFocusOrder="0" pos="658 172 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCA Release" id="fdd825acf4759d6b" memberName="m_label_vca_env_release"
virtualName="" explicitFocusOrder="0" pos="658 240 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF Decay" id="afc2f7586806be04" memberName="m_label_vcf_env_decay"
virtualName="" explicitFocusOrder="0" pos="574 106 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF Sustain" id="49f4af5dfe3821c9" memberName="m_label_vcf_env_sustain"
virtualName="" explicitFocusOrder="0" pos="574 172 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF Release" id="fc853396b4846fb3" memberName="m_label_vcf_env_release"
virtualName="" explicitFocusOrder="0" pos="574 240 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF Resonance" id="7b96292291f69278" memberName="m_label_vcf_q"
virtualName="" explicitFocusOrder="0" pos="812 38 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="VCF ENV Amount" id="8edcf67263b36614" memberName="m_label_vcf_env_amount"
virtualName="" explicitFocusOrder="0" pos="884 106 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="Master volume" id="97306c1d7b7f0cad" memberName="m_label_master_volume"
virtualName="" explicitFocusOrder="0" pos="968 524 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 1 Transpose" id="9d88d4d33c3c576a" memberName="m_label_osc0_transpose"
virtualName="" explicitFocusOrder="0" pos="248 104 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 2 Transpose" id="f31c002173794d60" memberName="m_label_osc1_transpose"
virtualName="" explicitFocusOrder="0" pos="248 418 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 1 Detune" id="71857748607f8544" memberName="m_label_osc0_det"
virtualName="" explicitFocusOrder="0" pos="98 36 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 2 Detune" id="6cf091631766f329" memberName="m_label_osc1_det"
virtualName="" explicitFocusOrder="0" pos="98 350 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="VCA ENV Amount" id="6e7ec079f93baefd" memberName="m_slider_vca_env_amount"
virtualName="" explicitFocusOrder="0" pos="748 472 36 36" tooltip="VCA Envelope Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCA ENV Amount" id="510ff1b90a1941f5" memberName="m_label_vca_env_amount"
virtualName="" explicitFocusOrder="0" pos="740 454 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 1 pulse width" id="df1268163b556346" memberName="m_slider_osc0_dutycycle"
virtualName="" explicitFocusOrder="0" pos="176 54 36 36" tooltip="OSC 1 pulse width [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 2 pulse width" id="d08862f552d8c76c" memberName="m_slider_osc1_dutycycle"
virtualName="" explicitFocusOrder="0" pos="176 368 36 36" tooltip="OSC 2 pulse width [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 pulse width" id="f5f5154a3bc61cf8" memberName="m_label_osc0_dutycycle"
virtualName="" explicitFocusOrder="0" pos="168 36 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 2 pulse width" id="a7fff8454f180a67" memberName="m_label_osc1_dutycycle"
virtualName="" explicitFocusOrder="0" pos="168 350 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 1 speed" id="44c63e3e0529352c" memberName="m_slider_lfo0_speed"
virtualName="" explicitFocusOrder="0" pos="346 88 36 36" tooltip="LFO 1 speed [Hz]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 2 FM amount 1" id="f07b21a81c221647" memberName="m_slider_osc1_fm_amt0"
virtualName="" explicitFocusOrder="0" pos="106 436 36 36" tooltip="OSC 2 FM amount [semitones]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="OSC 1 FM amount 1" id="81e7cdf80895d4e3" memberName="m_slider_osc0_fm_amt0"
virtualName="" explicitFocusOrder="0" pos="106 122 36 36" tooltip="OSC 1 FM amount [semitones]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 1 speed" id="b244268e9a52d854" memberName="m_label_lfo0_speed"
virtualName="" explicitFocusOrder="0" pos="338 70 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<LABEL name="OSC 1 FM amt 1" id="b13038df7a09477f" memberName="m_label_osc0_fm_amt0"
virtualName="" explicitFocusOrder="0" pos="98 104 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="OSC 2 FM amt 1" id="7721a6509a40362e" memberName="m_label_osc1_fm_amt0"
virtualName="" explicitFocusOrder="0" pos="98 418 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="VCF Cutoff amount 1" id="f01d6f4cd8e47ccd" memberName="m_slider_vcf_f_amt0"
virtualName="" explicitFocusOrder="0" pos="748 124 36 36" tooltip="VCF Cutoff Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCF Cutoff amount 1" id="44db80da4f1363a2" memberName="m_label_vcf_f_amt0"
virtualName="" explicitFocusOrder="0" pos="740 106 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 2 speed" id="7a9ac7a180523edd" memberName="m_slider_lfo1_speed"
virtualName="" explicitFocusOrder="0" pos="460 88 36 36" tooltip="LFO 2 speed [Hz]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 2 speed" id="a9164989582aa434" memberName="m_label_lfo1_speed"
virtualName="" explicitFocusOrder="0" pos="452 70 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="OSC 1 shape" id="6c0099a38200429c" memberName="m_comboBox_osc0_shape"
virtualName="" explicitFocusOrder="0" pos="244 68 64 16" tooltip="OSC 1 shape"
editable="0" layout="36" items="Saw&#10;Pulse&#10;Tri&#10;Sine&#10;Impulse"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 shape" id="e1da5a93b0e0bfc3" memberName="m_comboBox_osc1_shape"
virtualName="" explicitFocusOrder="0" pos="244 382 64 16" tooltip="OSC 2 shape"
editable="0" layout="36" items="Saw&#10;Pulse&#10;Tri&#10;Sine&#10;Impulse"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="LFO 1 shape" id="4b842eb425ff0d67" memberName="m_comboBox_lfo0_shape"
virtualName="" explicitFocusOrder="0" pos="355 38 64 16" tooltip="LFO 1 shape"
editable="0" layout="36" items="Sine&#10;Cosine&#10;Saw&#10;Square&#10;Tri&#10;S&amp;H 1&#10;S&amp;H 2&#10;1-Sine&#10;1-Cosine&#10;1-Saw&#10;1-Square&#10;1-Tri"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="LFO 2 shape" id="f3beb17b618b89c7" memberName="m_comboBox_lfo1_shape"
virtualName="" explicitFocusOrder="0" pos="470 38 64 16" tooltip="LFO 2 shape"
editable="0" layout="36" items="Sine&#10;Cosine&#10;Saw&#10;Square&#10;Tri&#10;S&amp;H 1&#10;S&amp;H 2&#10;1-Sine&#10;1-Cosine&#10;1-Saw&#10;1-Square&#10;1-Tri"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="LFO 3 speed" id="80d833acc4a84200" memberName="m_slider_lfo2_speed"
virtualName="" explicitFocusOrder="0" pos="346 402 36 36" tooltip="LFO 3 speed [Hz]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="LFO 4 speed" id="dc5ba3b2320bab33" memberName="m_slider_lfo3_speed"
virtualName="" explicitFocusOrder="0" pos="460 402 36 36" tooltip="LFO 4 speed [Hz]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<COMBOBOX name="LFO 3 shape" id="165438f45bb9eca5" memberName="m_comboBox_lfo2_shape"
virtualName="" explicitFocusOrder="0" pos="354 352 64 16" tooltip="LFO 3 shape"
editable="0" layout="36" items="Sine&#10;Cosine&#10;Saw&#10;Square&#10;Tri&#10;S&amp;H 1&#10;S&amp;H 2&#10;1-Sine&#10;1-Cosine&#10;1-Saw&#10;1-Square&#10;1-Tri"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="LFO 4 shape" id="3b277fe0487943fb" memberName="m_comboBox_lfo3_shape"
virtualName="" explicitFocusOrder="0" pos="470 352 64 16" tooltip="LFO 4 shape"
editable="0" layout="36" items="Sine&#10;Cosine&#10;Saw&#10;Square&#10;Tri&#10;S&amp;H 1&#10;S&amp;H 2&#10;1-Sine&#10;1-Cosine&#10;1-Saw&#10;1-Square&#10;1-Tri"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<LABEL name="LFO 3 speed" id="a486c8cebe6ce625" memberName="m_label_lfo2_speed"
virtualName="" explicitFocusOrder="0" pos="338 384 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="LFO 3 speed" id="f1c611480c0816cc" memberName="m_label_lfo3_speed"
virtualName="" explicitFocusOrder="0" pos="452 384 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="VCF Cutoff Source 1" id="fc64922ff7e0a056" memberName="m_comboBox_vcf_f_src0"
virtualName="" explicitFocusOrder="0" pos="736 174 64 16" tooltip="VCF Cutoff Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 1 FM Source 1" id="295af1eed9d0a878" memberName="m_comboBox_osc0_fm_src0"
virtualName="" explicitFocusOrder="0" pos="94 172 64 16" tooltip="OSC 1 FM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 FM Source 1" id="e3be19469b97f1ff" memberName="m_comboBox_osc1_fm_src0"
virtualName="" explicitFocusOrder="0" pos="94 486 64 16" tooltip="OSC 2 FM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="Tremolo amt" id="49def1578a8e8e49" memberName="m_slider_vca_am_amt0"
virtualName="" explicitFocusOrder="0" pos="748 370 36 36" tooltip="Tremolo Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Tremolo amt" id="6598d6e0f0fd446c" memberName="m_label_vca_am_amt0"
virtualName="" explicitFocusOrder="0" pos="740 352 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="Tremolo Source 1" id="5c57a27a3c80cb2f" memberName="m_comboBox_vca_am_src0"
virtualName="" explicitFocusOrder="0" pos="736 420 64 16" tooltip="Tremolo Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="Stereo pan amt" id="72ba34f5a7b94de8" memberName="m_slider_vca_pan_amt0"
virtualName="" explicitFocusOrder="0" pos="820 370 36 36" tooltip="Stereo Pan Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Stereo pan amt" id="68ac278bef7e7100" memberName="m_label_vca_pan_amt0"
virtualName="" explicitFocusOrder="0" pos="812 352 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="Stereo pan Source" id="314c1b56be050545" memberName="m_comboBox_vca_pan_src0"
virtualName="" explicitFocusOrder="0" pos="808 420 64 16" tooltip="Stereo Pan Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<LABEL name="Synth Name" id="e56f77196f5f07ba" memberName="m_label_synth_name"
virtualName="" explicitFocusOrder="0" pos="12 662 92 24" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="Jay Synth" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Arial"
fontsize="20" bold="0" italic="0" justification="33"/>
<LABEL name="Synth Version" id="2d111509c09ade42" memberName="m_label_synth_version"
virtualName="" explicitFocusOrder="0" pos="978 662 132 24" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="V 1.0.0" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Arial"
fontsize="14" bold="0" italic="0" justification="34"/>
<COMBOBOX name="VCF Type" id="9ea55078c12cd926" memberName="m_comboBox_vcf_type"
virtualName="" explicitFocusOrder="0" pos="880 74 68 16" tooltip="VCF Type"
editable="0" layout="36" items="LPF&#10;HPF&#10;BPF" textWhenNonSelected=""
textWhenNoItems="(no choices)"/>
<SLIDER name="LFO 2 smooth" id="3e2fbfef56e56c4f" memberName="m_slider_lfo1_smooth"
virtualName="" explicitFocusOrder="0" pos="506 88 36 36" tooltip="LFO 2 smooth [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 2 smooth" id="921acde772b1efab" memberName="m_label_lfo1_smooth"
virtualName="" explicitFocusOrder="0" pos="498 70 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 1 smooth" id="fb6d892c7346c915" memberName="m_slider_lfo0_smooth"
virtualName="" explicitFocusOrder="0" pos="392 224 36 36" tooltip="LFO 1 smooth [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 1 smooth" id="4a0362e95d693bc2" memberName="m_label_lfo0_smooth"
virtualName="" explicitFocusOrder="0" pos="384 206 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 3 smooth" id="32c6f164aff1fe7b" memberName="m_slider_lfo2_smooth"
virtualName="" explicitFocusOrder="0" pos="392 402 36 36" tooltip="LFO 3 smooth [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 3 smooth" id="db98e7edd2007744" memberName="m_label_lfo2_smooth"
virtualName="" explicitFocusOrder="0" pos="384 384 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 4 smooth" id="660be81b64d9ebff" memberName="m_slider_lfo3_smooth"
virtualName="" explicitFocusOrder="0" pos="506 402 36 36" tooltip="LFO 4 smooth [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 4 smooth" id="983245d94897a245" memberName="m_label_lfo3_smooth"
virtualName="" explicitFocusOrder="0" pos="498 384 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 1 PWM amount 1" id="e53ce859ec4cfd88" memberName="m_slider_osc0_pwm_amt0"
virtualName="" explicitFocusOrder="0" pos="176 122 36 36" tooltip="OSC 1 PWM Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 PWM 1" id="60584bb02624d4ce" memberName="m_label_osc0_pwm_amt0"
virtualName="" explicitFocusOrder="0" pos="168 104 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 2 PWM amount 1" id="628385d42a00803f" memberName="m_slider_osc1_pwm_amt0"
virtualName="" explicitFocusOrder="0" pos="176 436 36 36" tooltip="OSC 2 PWM Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 PWM amount 1" id="1188a2953004f72" memberName="m_label_osc1_pwm_amt0"
virtualName="" explicitFocusOrder="0" pos="168 418 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="OSC 1 PWM Source 1" id="a239eda31a5b506f" memberName="m_comboBox_osc0_pwm_src0"
virtualName="" explicitFocusOrder="0" pos="166 172 64 16" tooltip="OSC 1 PWM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 PWM Source 1" id="867c4fa8cbff715d" memberName="m_comboBox_osc1_pwm_src0"
virtualName="" explicitFocusOrder="0" pos="166 486 64 16" tooltip="OSC 2 PWM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="OSC 1 Level" id="f436e9516c3e3926" memberName="m_slider_osc0_level"
virtualName="" explicitFocusOrder="0" pos="36 54 36 36" tooltip="OSC 1 Level [%]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 Level" id="c0bafe240e123723" memberName="m_label_osc0_level"
virtualName="" explicitFocusOrder="0" pos="28 36 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 2 Level" id="7abcd26d2ef8fda6" memberName="m_slider_osc1_level"
virtualName="" explicitFocusOrder="0" pos="36 368 36 36" tooltip="OSC 2 Level [%]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 Level" id="54a3ac0c1b45d1e8" memberName="m_label_osc1_level"
virtualName="" explicitFocusOrder="0" pos="28 350 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="Noise Level" id="1319e0816191edad" memberName="m_slider_noise_level"
virtualName="" explicitFocusOrder="0" pos="820 472 36 36" tooltip="Noise Level [%]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Noise Level" id="7d75b9141b78fff0" memberName="m_label_noise_level"
virtualName="" explicitFocusOrder="0" pos="810 454 56 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="Noise shape" id="db4c1fddf8539dc8" memberName="m_comboBox_noise_shape"
virtualName="" explicitFocusOrder="0" pos="808 524 64 16" tooltip="Noise shape"
editable="0" layout="36" items="Uniform&#10;Gauss" textWhenNonSelected=""
textWhenNoItems="(no choices)"/>
<JUCERCOMP name="Noise On/Off LED" id="78406935c07604bd" memberName="m_btn_noise_enable_led"
virtualName="" explicitFocusOrder="0" pos="862 472 32 32" sourceFile="ButtonLED.cpp"
constructorParams="L&quot;Noise On/Off&quot;"/>
<JUCERCOMP name="OSC 1 On/Off" id="7b0e754b939cb14f" memberName="m_btn_osc0_enable"
virtualName="" explicitFocusOrder="0" pos="72 8 32 32" sourceFile="ButtonLED.cpp"
constructorParams="L&quot;OSC 1 On/Off&quot;"/>
<JUCERCOMP name="OSC 2 On/Off" id="28beafcf96274ec1" memberName="m_btn_osc1_enable"
virtualName="" explicitFocusOrder="0" pos="72 322 32 32" sourceFile="ButtonLED.cpp"
constructorParams="L&quot;OSC 2 On/Off&quot;"/>
<LABEL name="Label Patch Name" id="b4f67e154ec9cbc7" memberName="m_label_patch_name"
virtualName="" explicitFocusOrder="0" pos="232 658 308 32" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="Patch name" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="20" bold="0" italic="0" justification="33"/>
<TEXTBUTTON name="Patch Increment" id="7a557406a7f1d577" memberName="m_button_patch_incr"
virtualName="" explicitFocusOrder="0" pos="156 662 28 24" tooltip="Next Patch"
buttonText="+" connectedEdges="0" needsCallback="0" radioGroupId="0"/>
<TEXTBUTTON name="Patch Decrement" id="ce92f92e89dc396e" memberName="m_button_patch_decr"
virtualName="" explicitFocusOrder="0" pos="120 662 28 24" tooltip="Previous Patch"
buttonText="-" connectedEdges="0" needsCallback="0" radioGroupId="0"/>
<LABEL name="Label Patch Number" id="c996f026057d1a00" memberName="m_label_patch_number"
virtualName="" explicitFocusOrder="0" pos="192 658 32 32" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="00" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="20" bold="0" italic="0" justification="33"/>
<LABEL name="OSC 2 Pitch bender min" id="4ac1db6254d0d3b6" memberName="m_label_osc1_pb_min"
virtualName="" explicitFocusOrder="0" pos="228 442 32 20" tooltip="OSC 2 pitch bender minimum [semitones]"
edTextCol="ff000000" edBkgCol="0" labelText="-24" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="12" bold="0" italic="0" justification="36"/>
<LABEL name="OSC 2 Pitch bender max" id="d2ab43bcb715c37a" memberName="m_label_osc1_pb_max"
virtualName="" explicitFocusOrder="0" pos="288 442 32 20" tooltip="OSC 2 pitch bender maximum [semitones]"
edTextCol="ff000000" edBkgCol="0" labelText="+24" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="12" bold="0" italic="0" justification="36"/>
<LABEL name="OSC 1 Pitch bender max" id="8871341a3998f903" memberName="m_label_osc0_pb_max"
virtualName="" explicitFocusOrder="0" pos="288 128 32 20" tooltip="OSC 1 pitch bender maximum [semitones]"
edTextCol="ff000000" edBkgCol="0" labelText="+24" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="12" bold="0" italic="0" justification="36"/>
<LABEL name="OSC 1 Pitch bender min" id="dc5e9e5de977cd2" memberName="m_label_osc0_pb_min"
virtualName="" explicitFocusOrder="0" pos="228 128 32 20" tooltip="OSC 1 pitch bender minimum [semitones]"
edTextCol="ff000000" edBkgCol="0" labelText="-24" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="12" bold="0" italic="0" justification="36"/>
<SLIDER name="Master tune" id="1659927faca3396b" memberName="m_slider_master_tune"
virtualName="" explicitFocusOrder="0" pos="1022 542 36 36" tooltip="Master tune [semitones]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Master tune" id="feeb43fae0af0267" memberName="m_label_master_tune"
virtualName="" explicitFocusOrder="0" pos="1018 524 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Humanize Enable" id="3642956baa05a33a" memberName="m_button_humanize_enable"
virtualName="" explicitFocusOrder="0" pos="1040 436 72 16" tooltip="Humanize spreads individual voice parameter to get a more vivid sound\n. Humanize alters VCO tune, VCF cutoff and ENV times."
txtcol="ffffffff" buttonText="Humanize" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<COMBOBOX name="VCF Order" id="35bfb7def8797178" memberName="m_comboBox_vcf_order"
virtualName="" explicitFocusOrder="0" pos="880 38 68 16" tooltip="VCF Order"
editable="0" layout="36" items="12 dB/Oct.&#10;24 dB/Oct.&#10;"
textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="Portamento Time" id="53dec7b518c488ed" memberName="m_slider_portamento_time"
virtualName="" explicitFocusOrder="0" pos="1070 346 36 36" tooltip="Portamento Time [s]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Portamento Time" id="2b74b855bfca6c73" memberName="m_label_portamento_time"
virtualName="" explicitFocusOrder="0" pos="1066 328 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Unisono Enable" id="77ced22a0f454aa4" memberName="m_button_unisono_enable"
virtualName="" explicitFocusOrder="0" pos="966 436 76 16" tooltip="This button switches unisono mode on and off"
txtcol="ffffffff" buttonText="Unisono" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<SLIDER name="Humanize Variance VCO" id="84ec9f6c685231f0" memberName="m_slider_humanize_var_vco"
virtualName="" explicitFocusOrder="0" pos="972 472 36 36" tooltip="Humanize spread VCO [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="Voice Pan Spread" id="d4b872916707849e" memberName="m_slider_voice_pan_spread"
virtualName="" explicitFocusOrder="0" pos="1072 542 36 36" tooltip="Voice Pan Spread [%]"
trackcol="7fffffff" rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff"
min="0" max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Voice Pan Spread" id="7ea0e4088a56545e" memberName="m_label_voice_pan_spread"
virtualName="" explicitFocusOrder="0" pos="1068 524 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="Humanize Variance VCF" id="6ebf649f13aafab" memberName="m_slider_humanize_var_vcf"
virtualName="" explicitFocusOrder="0" pos="1022 472 36 36" tooltip="Humanize spread VCF [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="Humanize Variance ENV" id="b1b2be5ffd6fa12e" memberName="m_slider_humanize_var_env"
virtualName="" explicitFocusOrder="0" pos="1072 472 36 36" tooltip="Humanize spread Envelopes [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="Unisono Number of Voices" id="d670eed2e8879382" memberName="m_label_unisono_num_voices"
virtualName="" explicitFocusOrder="0" pos="1064 414 42 18" tooltip="Unisono number of voices to allocate"
edTextCol="ff000000" edBkgCol="0" labelText="999" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="14" bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Restart VCO 1 Enable" id="54db061b9cd99284" memberName="m_button_osc0_restart_enable"
virtualName="" explicitFocusOrder="0" pos="246 46 58 16" tooltip="If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."
txtcol="ffffffff" buttonText="Restart" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="Restart VCO 2 Enable" id="11640cad1585fd4f" memberName="m_button_osc1_restart_enable"
virtualName="" explicitFocusOrder="0" pos="246 360 58 16" tooltip="If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."
txtcol="ffffffff" buttonText="Restart" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="Monophonic Enable" id="a9fdfd6430ee6bae" memberName="m_button_mono_enable"
virtualName="" explicitFocusOrder="0" pos="965 346 86 16" tooltip="This button switches monophonic mode on and off"
txtcol="ffffffff" buttonText="Monophonic" connectedEdges="0"
needsCallback="0" radioGroupId="0" state="0"/>
<COMBOBOX name="OSC 2 FM Source 2" id="f795a0da3f05d07a" memberName="m_comboBox_osc1_fm_src1"
virtualName="" explicitFocusOrder="0" pos="94 588 64 16" tooltip="OSC 2 FM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 PWM Source 2" id="4e1f5838dffdffae" memberName="m_comboBox_osc1_pwm_src1"
virtualName="" explicitFocusOrder="0" pos="166 588 64 16" tooltip="OSC 2 PWM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 1 FM Source 2" id="8be4d2ec897eeab8" memberName="m_comboBox_osc0_fm_src1"
virtualName="" explicitFocusOrder="0" pos="94 274 64 16" tooltip="OSC 1 FM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 1 PWM Source 2" id="346745c36f0eb523" memberName="m_comboBox_osc0_pwm_src1"
virtualName="" explicitFocusOrder="0" pos="166 274 64 16" tooltip="OSC 1 PWM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 AM Source 1" id="d0c22767d372fffe" memberName="m_comboBox_osc1_am_src0"
virtualName="" explicitFocusOrder="0" pos="22 486 64 16" tooltip="OSC 2 AM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 2 AM Source 2" id="619a1848479ee499" memberName="m_comboBox_osc1_am_src1"
virtualName="" explicitFocusOrder="0" pos="22 588 64 16" tooltip="OSC 2 AM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="OSC 2 AM amount 1" id="3625ab65f3f93761" memberName="m_slider_osc1_am_amt0"
virtualName="" explicitFocusOrder="0" pos="36 436 36 36" tooltip="OSC 2 AM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 AM amt 1" id="e305a4a65e19f13f" memberName="m_label_osc1_am_amt0"
virtualName="" explicitFocusOrder="0" pos="28 418 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="OSC 1 AM Source 1" id="c94b6c7ed29b84ab" memberName="m_comboBox_osc0_am_src0"
virtualName="" explicitFocusOrder="0" pos="22 172 64 16" tooltip="OSC 1 AM Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="OSC 1 AM Source 2" id="14b3801abfb05b8" memberName="m_comboBox_osc0_am_src1"
virtualName="" explicitFocusOrder="0" pos="22 274 64 16" tooltip="OSC 1 AM Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="OSC 1 AM amount 1" id="143ea9fdf654d730" memberName="m_slider_osc0_am_amt0"
virtualName="" explicitFocusOrder="0" pos="36 122 36 36" tooltip="OSC 1 AM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 AM amt 1" id="cef3fe76e7afcf5" memberName="m_label_osc0_am_amt0"
virtualName="" explicitFocusOrder="0" pos="28 104 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="ENV 3 Attack" id="453c4cbb0b9405c3" memberName="m_slider_env2_attack"
virtualName="" explicitFocusOrder="0" pos="582 370 36 36" tooltip="ENV 3 Attack Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 3 Decay" id="c22c68bdababd1aa" memberName="m_slider_env2_decay"
virtualName="" explicitFocusOrder="0" pos="582 438 36 36" tooltip="ENV 3 Decay Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 3 Release" id="60842d7cb2bb0218" memberName="m_slider_env2_release"
virtualName="" explicitFocusOrder="0" pos="582 572 36 36" tooltip="ENV 3 Release Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 3 Sustain" id="f0faefe59912b131" memberName="m_slider_env2_sustain"
virtualName="" explicitFocusOrder="0" pos="582 502 36 36" tooltip="ENV 3 Sustain Level [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="ENV 3 Attack" id="eb1df1ff8572818f" memberName="m_label_env2_attack"
virtualName="" explicitFocusOrder="0" pos="574 352 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 3 Decay" id="b17f312c1bc20c6d" memberName="m_label_env2_decay"
virtualName="" explicitFocusOrder="0" pos="574 420 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 3 Sustain" id="5162b3ca9f68e506" memberName="m_label_env2_sustain"
virtualName="" explicitFocusOrder="0" pos="574 486 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 3 Release" id="5e2762a5f9e5b710" memberName="m_label_env2_release"
virtualName="" explicitFocusOrder="0" pos="574 554 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="ENV 4 Attack" id="41b4b7c307cbc6b6" memberName="m_slider_env3_attack"
virtualName="" explicitFocusOrder="0" pos="666 370 36 36" tooltip="ENV 4 Attack Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 4 Decay" id="f4d6a5731c2bb29b" memberName="m_slider_env3_decay"
virtualName="" explicitFocusOrder="0" pos="666 438 36 36" tooltip="ENV 4 Decay Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 4 Release" id="e9e94e32ca28e126" memberName="m_slider_env3_release"
virtualName="" explicitFocusOrder="0" pos="666 572 36 36" tooltip="ENV 4 Release Time [ms]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<SLIDER name="ENV 4 Sustain" id="ed944ada7be3ceda" memberName="m_slider_env3_sustain"
virtualName="" explicitFocusOrder="0" pos="666 502 36 36" tooltip="ENV 4 Sustain Level [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="ENV 4 Attack" id="706793e4a55caad6" memberName="m_label_env3_attack"
virtualName="" explicitFocusOrder="0" pos="658 352 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 4 Decay" id="c24de9c3d027715e" memberName="m_label_env3_decay"
virtualName="" explicitFocusOrder="0" pos="658 419 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 4 Sustain" id="fd97a69c0b019b4" memberName="m_label_env3_sustain"
virtualName="" explicitFocusOrder="0" pos="658 485 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="ENV 4 Release" id="b756b9a88db82d83" memberName="m_label_env3_release"
virtualName="" explicitFocusOrder="0" pos="658 553 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="VCF Cutoff Source 2" id="9381a282c9eb8e76" memberName="m_comboBox_vcf_f_src1"
virtualName="" explicitFocusOrder="0" pos="736 274 64 16" tooltip="VCF Cutoff Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<SLIDER name="VCF Resonance amount 1" id="1f5916c688e88e5a" memberName="m_slider_vcf_q_amt0"
virtualName="" explicitFocusOrder="0" pos="820 124 36 36" tooltip="VCF Resonance Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCF Resonance amount 1" id="f694d055c392dbc4" memberName="m_label_vcf_q_amt0"
virtualName="" explicitFocusOrder="0" pos="812 106 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<COMBOBOX name="VCF Resonance Source 1" id="f7042bce01ad61f7" memberName="m_comboBox_vcf_q_src0"
virtualName="" explicitFocusOrder="0" pos="808 174 64 16" tooltip="VCF Resonance Modulation Source 1"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<COMBOBOX name="VCF Resonance Source 2" id="1026776d6d53e833" memberName="m_comboBox_vcf_q_src1"
virtualName="" explicitFocusOrder="0" pos="808 274 64 16" tooltip="VCF Resonance Modulation Source 2"
editable="0" layout="36" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
<LABEL name="Humanize Variance VCO" id="b2e5276143011732" memberName="m_label_humanize_var_vco"
virtualName="" explicitFocusOrder="0" pos="968 454 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="Humanize Variance VCF" id="dc8c038c44056f9a" memberName="m_label_humanize_var_vcf"
virtualName="" explicitFocusOrder="0" pos="1018 454 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<LABEL name="Humanize Variance ENV" id="24075326d71e1e30" memberName="m_label_humanize_var_env"
virtualName="" explicitFocusOrder="0" pos="1068 454 44 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<JUCERCOMP name="Limiter On/Off" id="7df8df8efbfb0f77" memberName="m_btn_limiter_led"
virtualName="" explicitFocusOrder="0" pos="974 590 32 32" sourceFile="ButtonLED.cpp"
constructorParams="L&quot;Limiter 1 On/Off&quot;"/>
<LABEL name="Limiter LED Text" id="b15591ba57372ab0" memberName="m_label_limiter_led"
virtualName="" explicitFocusOrder="0" pos="998 594 92 24" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="Limiting" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Arial"
fontsize="12" bold="0" italic="0" justification="33"/>
<SLIDER name="LFO 1 Delay" id="8aecd4fb91f13cc7" memberName="m_slider_lfo0_delay"
virtualName="" explicitFocusOrder="0" pos="346 156 36 36" tooltip="LFO 1 Delay [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 1 Delay" id="a16b952638608c25" memberName="m_label_lfo0_delay"
virtualName="" explicitFocusOrder="0" pos="338 138 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 1 Attack" id="56e83c6880be52dd" memberName="m_slider_lfo0_attack"
virtualName="" explicitFocusOrder="0" pos="392 156 36 36" tooltip="LFO 1 Attack Time [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 1 Attack" id="f5b3f043eb98df" memberName="m_label_lfo0_attack"
virtualName="" explicitFocusOrder="0" pos="384 138 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 2 Delay" id="add5a41333c94ceb" memberName="m_slider_lfo1_delay"
virtualName="" explicitFocusOrder="0" pos="460 156 36 36" tooltip="LFO 2 Delay [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 2 Delay" id="dd1e22de12d144a4" memberName="m_label_lfo1_delay"
virtualName="" explicitFocusOrder="0" pos="452 138 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 2 Attack" id="4aa0a28ae6441466" memberName="m_slider_lfo1_attack"
virtualName="" explicitFocusOrder="0" pos="506 156 36 36" tooltip="LFO 2 Attack Time [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 2 Attack" id="d13d673e74359c6f" memberName="m_label_lfo1_attack"
virtualName="" explicitFocusOrder="0" pos="498 138 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 3 Delay" id="8361dc4d82ac1c19" memberName="m_slider_lfo2_delay"
virtualName="" explicitFocusOrder="0" pos="346 470 36 36" tooltip="LFO 3 Delay [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 3 Delay" id="7e86df1f14568ad9" memberName="m_label_lfo2_delay"
virtualName="" explicitFocusOrder="0" pos="338 452 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 3 Attack" id="99a83e1b47fcb1fe" memberName="m_slider_lfo2_attack"
virtualName="" explicitFocusOrder="0" pos="392 470 36 36" tooltip="LFO 3 Attack Time [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 3 Attack" id="2498288da4e66219" memberName="m_label_lfo2_attack"
virtualName="" explicitFocusOrder="0" pos="384 452 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 4 Delay" id="1cfb557a70da0186" memberName="m_slider_lfo3_delay"
virtualName="" explicitFocusOrder="0" pos="460 470 36 36" tooltip="LFO 4 Delay [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 4 Delay" id="c2a16c2ca17c845b" memberName="m_label_lfo3_delay"
virtualName="" explicitFocusOrder="0" pos="452 452 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 4 Attack" id="2c51d8e42d6aebaf" memberName="m_slider_lfo3_attack"
virtualName="" explicitFocusOrder="0" pos="506 470 36 36" tooltip="LFO 4 Attack Time [ms]. Use with Sync = 'Restart'."
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 4 Attack" id="fa324bc8c3aea48b" memberName="m_label_lfo3_attack"
virtualName="" explicitFocusOrder="0" pos="498 452 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Restart LFO 1 Enable" id="1ef2f8a52d186e15" memberName="m_button_lfo0_restart_enable"
virtualName="" explicitFocusOrder="0" pos="356 278 16 16" tooltip="Use 'Restart' to reset LFO phase on each note trigger. Use 'Free' to use a free running LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="LFO 1 Global Enable" id="234d3b8de67d11c6" memberName="m_button_lfo0_individual_enable"
virtualName="" explicitFocusOrder="0" pos="402 278 16 16" tooltip="Set this to 'Global' to use the LFO for all voices. Set this to 'Individual' to make voices have their own LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<SLIDER name="LFO 1 Symmetry" id="908862f0a9f4df90" memberName="m_slider_lfo0_symmetry"
virtualName="" explicitFocusOrder="0" pos="346 224 36 36" tooltip="LFO 1 Symmetry [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 1 Symmetry" id="bb8547fe5f39b0b6" memberName="m_label_lfo0_symmetry"
virtualName="" explicitFocusOrder="0" pos="338 206 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 2 Symmetry" id="1d603b38a42da532" memberName="m_slider_lfo1_symmetry"
virtualName="" explicitFocusOrder="0" pos="484 224 36 36" tooltip="LFO 2 Symmetry [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 2 Symmetry" id="493da3ded3b668aa" memberName="m_label_lfo1_symmetry"
virtualName="" explicitFocusOrder="0" pos="476 206 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Restart LFO 2 Enable" id="dbfac548e40ae582" memberName="m_button_lfo1_restart_enable"
virtualName="" explicitFocusOrder="0" pos="468 277 16 16" tooltip="Use 'Restart' to reset LFO phase on each note trigger. Use 'Free' to use a free running LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="LFO 2 Global Enable" id="769aaa0f86558136" memberName="m_button_lfo1_individual_enable"
virtualName="" explicitFocusOrder="0" pos="514 277 16 16" tooltip="Set this to 'Global' to use the LFO for all voices. Set this to 'Individual' to make voices have their own LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="Restart LFO 3 Enable" id="b4655ce1a3d96921" memberName="m_button_lfo2_restart_enable"
virtualName="" explicitFocusOrder="0" pos="356 592 16 16" tooltip="Use 'Restart' to reset LFO phase on each note trigger. Use 'Free' to use a free running LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="LFO 3 Global Enable" id="3c7a1d8d9f3b5d31" memberName="m_button_lfo2_individual_enable"
virtualName="" explicitFocusOrder="0" pos="402 592 16 16" tooltip="Set this to 'Global' to use the LFO for all voices. Set this to 'Individual' to make voices have their own LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<SLIDER name="LFO 3 Symmetry" id="9be29366e128b119" memberName="m_slider_lfo2_symmetry"
virtualName="" explicitFocusOrder="0" pos="370 538 36 36" tooltip="LFO 3 Symmetry [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 3 Symmetry" id="ab711bf4067783f5" memberName="m_label_lfo2_symmetry"
virtualName="" explicitFocusOrder="0" pos="362 520 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 4 Symmetry" id="a7753ef3b8aad247" memberName="m_slider_lfo3_symmetry"
virtualName="" explicitFocusOrder="0" pos="484 538 36 36" tooltip="LFO 4 Symmetry [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="LFO 4 Symmetry" id="5494783e41ee075c" memberName="m_label_lfo3_symmetry"
virtualName="" explicitFocusOrder="0" pos="476 520 52 20" outlineCol="0"
edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7" labelText="value"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Restart LFO 4 Enable" id="27f4140e791d548f" memberName="m_button_lfo3_restart_enable"
virtualName="" explicitFocusOrder="0" pos="468 591 16 16" tooltip="Use 'Restart' to reset LFO phase on each note trigger. Use 'Free' to use a free running LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<TOGGLEBUTTON name="LFO 4 Global Enable" id="6bbb0bc084a62576" memberName="m_button_lfo3_individual_enable"
virtualName="" explicitFocusOrder="0" pos="514 591 16 16" tooltip="Set this to 'Global' to use the LFO for all voices. Set this to 'Individual' to make voices have their own LFO."
txtcol="ffffffff" buttonText="" connectedEdges="0" needsCallback="0"
radioGroupId="0" state="0"/>
<SLIDER name="OSC 1 FM amount 2" id="4a72409a3e7b8e72" memberName="m_slider_osc0_fm_amt1"
virtualName="" explicitFocusOrder="0" pos="106 224 36 36" tooltip="OSC 1 FM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 FM amt 2" id="58d97dc175cd370d" memberName="m_label_osc0_fm_amt1"
virtualName="" explicitFocusOrder="0" pos="98 206 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 1 PWM amount 2" id="145170836b1c7669" memberName="m_slider_osc0_pwm_amt1"
virtualName="" explicitFocusOrder="0" pos="176 224 36 36" tooltip="OSC 1 PWM Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 PWM amt 2" id="52984271c366a585" memberName="m_label_osc0_pwm_amt1"
virtualName="" explicitFocusOrder="0" pos="168 206 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 1 AM amount 2" id="f92ba0a1d69b81c4" memberName="m_slider_osc0_am_amt1"
virtualName="" explicitFocusOrder="0" pos="36 224 36 36" tooltip="OSC 1 AM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 1 AM amt 2" id="ce2ac70bfcd53b3a" memberName="m_label_osc0_am_amt1"
virtualName="" explicitFocusOrder="0" pos="28 206 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 2 FM amount 2" id="7f8a93bf6bb7be61" memberName="m_slider_osc1_fm_amt1"
virtualName="" explicitFocusOrder="0" pos="106 538 36 36" tooltip="OSC 2 FM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 FM amt 2" id="e794e52b040ed4bb" memberName="m_label_osc1_fm_amt1"
virtualName="" explicitFocusOrder="0" pos="98 520 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 2 PWM amount 2" id="bcfa3689fd83aefb" memberName="m_slider_osc1_pwm_amt1"
virtualName="" explicitFocusOrder="0" pos="176 538 36 36" tooltip="OSC 2 PWM Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 PWM amt 2" id="45e3ae626b8362e2" memberName="m_label_osc1_pwm_amt1"
virtualName="" explicitFocusOrder="0" pos="168 520 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="OSC 2 AM amount 2" id="a201584f68748e7c" memberName="m_slider_osc1_am_amt1"
virtualName="" explicitFocusOrder="0" pos="36 538 36 36" tooltip="OSC 2 AM amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="OSC 2 AM amt 2" id="6153757cae752e84" memberName="m_label_osc1_am_amt1"
virtualName="" explicitFocusOrder="0" pos="28 520 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="VCF Cutoff amount 2" id="b9e109abfa558e30" memberName="m_slider_vcf_f_amt1"
virtualName="" explicitFocusOrder="0" pos="748 226 36 36" tooltip="VCF Cutoff Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCF Cutoff amount 2" id="55dab9a322f9910e" memberName="m_label_vcf_f_amt1"
virtualName="" explicitFocusOrder="0" pos="740 208 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="VCF Resonance amount 2" id="a9d178925503e750" memberName="m_slider_vcf_q_amt1"
virtualName="" explicitFocusOrder="0" pos="820 226 36 36" tooltip="VCF Resonance Amount [%]"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<LABEL name="VCF Resonance amount 2" id="f8b30cc1b270e310" memberName="m_label_vcf_q_amt1"
virtualName="" explicitFocusOrder="0" pos="812 208 52 20" edTextCol="ff000000"
edBkgCol="0" labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<TOGGLEBUTTON name="Monophonic Retrigger" id="cd7a0699e0c1ec82" memberName="m_button_mono_retrigger"
virtualName="" explicitFocusOrder="0" pos="965 364 86 16" tooltip="This button switches monophonic retrigger mode on and off"
txtcol="ffffffff" buttonText="Mono Retrigger" connectedEdges="0"
needsCallback="0" radioGroupId="0" state="0"/>
<LABEL name="Maximum number of voices (Polyphony)" id="162f7ef84da1fafe"
memberName="m_label_max_num_voices" virtualName="" explicitFocusOrder="0"
pos="1064 394 42 18" tooltip="Unisono number of voices to allocate"
edTextCol="ff000000" edBkgCol="0" labelText="999" editableSingleClick="1"
editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font"
fontsize="14" bold="0" italic="0" justification="36"/>
<LABEL name="Number of Voices Playing" id="9ce7163f32457462" memberName="m_label_num_voices_playing"
virtualName="" explicitFocusOrder="0" pos="1060 598 42 18" tooltip="Number of voices currently playing"
textCol="ffffff00" edTextCol="ff000000" edBkgCol="0" labelText="0"
editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0"
fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/>
<LABEL name="Debug Label" id="26f8a2f4311e7254" memberName="m_labelDebug"
virtualName="" explicitFocusOrder="0" pos="966 274 150 24" textCol="ffffffff"
edTextCol="ff000000" edBkgCol="0" labelText="label text" editableSingleClick="0"
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
fontsize="15" bold="0" italic="0" justification="33"/>
<JUCERCOMP name="MidiClock" id="5a40cdd54b6e8060" memberName="m_btn_midiClockLed"
virtualName="" explicitFocusOrder="0" pos="1058 272 32 32" sourceFile="ButtonLED.cpp"
constructorParams="L&quot;MidiClock&quot;"/>
<LABEL name="LFO 1 Midi Sync. Factor" id="5e64aafc6664225a" memberName="m_label_lfo0_midisync_factor"
virtualName="" explicitFocusOrder="0" pos="384 70 52 20" tooltip="LFO 1 Midi Sync. Factor"
outlineCol="0" edTextCol="fff0ffff" edBkgCol="0" hiliteCol="f7f7f7"
labelText="value" editableSingleClick="1" editableDoubleClick="1"
focusDiscardsChanges="0" fontname="Default font" fontsize="14"
bold="0" italic="0" justification="36"/>
<SLIDER name="LFO 1 Midi Sync Divisor" id="aa98192fcd0b651c" memberName="m_slider_lfo0_midisync_divisor"
virtualName="" explicitFocusOrder="0" pos="392 88 36 36" tooltip="LFO 1 Midi Sync Divisor"
rotarysliderfill="7fffffff" rotaryslideroutline="66ffffff" min="0"
max="1" int="0" style="RotaryVerticalDrag" textBoxPos="NoTextBox"
textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/>
<COMBOBOX name="LFO 1 Midi Sync Mode" id="4d7c3239958eae23" memberName="m_comboBox_lfo0_midisync_mode"
virtualName="" explicitFocusOrder="0" pos="393 12 47 16" tooltip="LFO 1 Midi Sync Mode"
editable="0" layout="36" items="Off&#10;F&#10;P&#10;F + P" textWhenNonSelected=""
textWhenNoItems="(no choices)"/>
</JUCER_COMPONENT>
END_JUCER_METADATA
*/
#endif
//==============================================================================
// Binary resources - be careful not to edit any of these sections!
// JUCER_RESOURCE: led_23_red_png, 820, "C:/Users/jens/Pictures/led_23_red.png"
static const unsigned char resource_JaySynthAudioProcessorEditor_led_23_red_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,1,115,82,71,66,0,174,
206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,0,9,112,72,89,115,0,0,14,195,0,0,14,195,1,199,111,168,100,0,0,2,201,73,68,65,84,88,71,237,84,77,79,26,81,20,125,51,128,56,200,48,10,242,49,45,
6,148,50,72,45,137,74,213,64,210,16,43,196,208,32,154,74,109,218,212,29,38,74,237,166,11,235,166,254,0,22,46,92,179,169,174,26,211,96,93,117,221,244,159,116,103,210,29,173,216,152,156,222,59,66,226,162,
59,199,38,77,120,201,201,187,51,239,222,123,206,189,239,67,136,222,232,117,160,215,129,94,7,254,215,14,36,18,9,111,50,153,124,96,24,70,238,159,214,80,169,84,222,44,46,46,54,106,181,218,175,157,157,29,
108,111,111,131,190,207,253,126,255,161,162,40,183,43,38,151,203,45,111,109,109,181,26,141,6,154,205,38,78,78,154,56,58,58,66,189,94,71,181,90,133,174,235,63,169,27,43,183,210,145,124,62,159,221,216,216,
104,29,28,28,224,248,248,35,90,173,31,56,59,251,142,201,201,73,238,0,214,215,215,81,40,20,160,170,42,139,120,111,181,8,185,88,44,30,238,238,238,98,111,111,15,167,167,159,112,121,217,194,254,126,29,195,
195,195,112,58,157,112,187,221,72,167,211,136,70,163,32,242,15,4,217,74,17,246,181,181,181,246,230,230,38,150,150,150,48,59,59,131,233,233,105,208,190,131,246,29,146,36,193,227,81,77,17,154,166,241,119,
155,200,251,173,18,32,5,131,65,163,84,42,161,92,46,155,196,99,99,99,8,4,2,112,185,92,144,108,14,24,70,2,153,204,44,188,222,33,174,190,139,123,100,75,86,136,112,208,190,38,178,217,44,166,166,166,16,139,
197,64,130,224,86,61,144,6,52,40,129,48,50,243,5,100,30,229,232,16,222,185,46,96,142,200,29,86,8,112,201,178,60,154,74,165,218,76,30,10,133,160,122,60,176,15,250,209,63,18,135,158,158,67,118,245,41,50,
165,34,84,22,208,215,199,34,46,8,35,4,197,10,1,78,74,18,165,170,63,155,228,170,10,89,113,195,17,140,32,52,147,65,120,225,49,178,47,159,35,62,159,131,208,117,8,218,22,242,255,194,49,4,142,189,241,232,227,
100,118,187,125,153,200,207,109,202,0,132,234,131,8,142,64,142,39,32,167,82,38,132,97,116,5,240,1,92,237,8,224,216,27,15,62,205,119,9,51,66,150,223,9,215,96,91,120,67,16,209,81,136,241,113,136,137,137,
171,153,175,159,207,119,97,250,176,239,85,140,37,91,96,167,68,94,194,4,161,64,4,175,133,170,125,19,225,240,111,17,137,64,140,146,16,182,53,237,43,173,213,76,159,43,95,142,225,216,27,15,126,80,184,146,
48,225,33,225,9,225,25,225,133,176,217,222,154,130,132,120,213,249,199,107,236,195,190,28,99,217,99,100,163,100,30,66,164,67,144,167,185,68,88,233,128,237,133,206,26,251,176,175,37,213,119,219,199,15,
10,39,228,196,92,221,125,66,154,192,119,157,193,118,146,192,251,222,37,183,228,17,234,10,224,153,19,114,39,184,181,67,4,157,192,119,157,193,54,255,227,53,246,177,156,252,111,66,248,142,51,33,131,237,91,
39,190,46,162,103,247,58,96,89,7,254,0,38,229,208,224,232,174,221,11,0,0,0,0,73,69,78,68,174,66,96,130,0,0};
const char* JaySynthAudioProcessorEditor::led_23_red_png = (const char*) resource_JaySynthAudioProcessorEditor_led_23_red_png;
const int JaySynthAudioProcessorEditor::led_23_red_pngSize = 820;
// JUCER_RESOURCE: led_23_red1_png, 1556, "C:/Users/jens/Pictures/led_23_red1.png"
static const unsigned char resource_JaySynthAudioProcessorEditor_led_23_red1_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,1,115,82,71,66,0,
174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,0,9,112,72,89,115,0,0,14,195,0,0,14,195,1,199,111,168,100,0,0,5,169,73,68,65,84,88,71,197,87,11,80,148,85,20,62,139,15,18,36,205,23,246,
82,18,199,28,84,124,101,78,22,154,142,212,48,105,54,49,162,77,106,84,44,67,142,137,174,38,141,137,173,248,66,69,99,65,217,101,97,5,97,137,76,5,241,177,147,47,124,84,12,96,234,16,249,200,199,84,128,89,
12,54,129,153,186,66,167,243,237,254,59,187,12,168,187,232,232,206,124,243,223,189,247,124,223,61,247,156,123,207,127,127,162,182,252,204,172,34,51,123,9,218,43,64,91,213,22,41,247,57,206,9,189,101,50,
31,129,159,160,139,2,180,209,135,49,56,229,229,190,240,189,44,157,19,119,82,38,237,38,79,127,193,83,130,103,21,160,141,62,140,193,25,216,62,0,71,204,220,78,132,58,10,58,11,158,80,38,121,70,158,207,9,158,
23,12,82,128,54,250,48,6,71,96,11,14,184,237,238,181,198,150,227,246,28,99,114,132,20,43,234,46,120,82,208,87,48,64,48,88,48,66,240,162,2,180,209,135,49,216,192,22,28,112,161,1,45,15,246,136,61,236,32,
98,21,8,43,4,3,4,88,105,176,96,148,224,21,193,4,5,104,163,15,99,176,129,45,56,224,66,3,90,110,238,11,251,228,29,4,216,84,93,5,8,105,31,1,86,135,9,176,234,177,130,80,193,36,5,104,163,15,99,176,129,45,56,
224,66,3,90,208,188,135,19,45,67,223,67,72,200,107,127,1,66,140,85,134,8,94,19,188,41,152,170,0,109,244,97,12,54,176,5,7,92,104,184,153,10,187,3,174,171,239,45,255,145,211,129,130,225,130,49,130,137,130,
201,202,196,51,229,9,192,17,244,97,12,54,176,5,7,92,104,184,70,225,14,123,193,89,92,28,187,30,155,232,105,65,160,178,34,132,247,85,65,152,32,92,149,125,235,189,246,250,63,230,119,72,253,45,78,254,207,
64,159,50,6,27,216,34,10,224,66,3,90,142,83,113,135,162,213,60,252,143,11,161,167,0,231,28,249,28,166,172,108,98,39,99,109,100,96,252,206,67,225,171,205,214,168,141,5,60,107,195,87,60,70,163,179,250,168,
211,143,169,82,170,163,92,162,0,14,184,208,128,22,52,239,114,34,236,14,160,120,60,38,64,133,235,37,112,132,127,164,180,67,186,166,94,212,76,209,26,111,36,237,40,102,243,225,147,156,127,172,130,51,247,
31,231,21,249,7,57,114,195,86,238,253,238,202,155,180,230,140,6,182,2,112,28,105,128,22,52,161,141,57,90,73,67,243,138,135,156,33,119,40,46,65,130,81,157,13,191,79,157,188,56,245,70,66,174,133,179,246,
151,242,181,127,235,249,207,134,191,57,104,237,81,126,93,119,128,103,164,236,226,80,109,14,251,69,44,191,73,186,234,8,112,20,46,52,28,251,224,46,21,178,249,6,68,37,195,57,238,39,24,76,57,77,163,135,44,
48,238,139,94,151,205,115,245,5,188,253,196,69,110,108,186,206,73,37,85,220,99,77,57,251,45,59,202,221,227,10,121,228,146,124,14,152,99,98,138,249,250,27,112,108,92,187,6,180,160,233,56,142,173,70,192,
245,4,192,24,245,29,155,104,8,25,235,95,158,16,187,214,26,161,53,240,248,181,22,30,170,175,224,96,253,143,220,99,221,9,246,91,85,206,222,203,75,185,95,82,9,251,125,178,151,187,104,138,88,165,206,179,82,
90,237,56,27,215,174,1,45,143,28,64,5,179,59,176,229,118,176,111,66,201,180,49,177,201,28,178,40,93,66,126,132,251,126,113,130,123,38,157,100,223,245,167,217,75,247,11,79,179,92,102,109,73,13,7,233,79,
49,105,15,49,45,42,100,250,188,100,42,184,46,14,64,211,237,8,56,29,48,93,31,214,241,211,125,211,131,230,108,226,192,185,153,220,119,213,17,246,151,149,251,232,46,178,42,163,150,123,110,187,202,218,74,
65,197,21,126,169,232,28,83,198,247,76,73,22,166,184,61,31,146,112,219,234,128,51,5,134,186,225,180,96,247,219,1,243,54,91,123,47,200,99,255,101,7,217,87,119,129,189,179,235,56,192,210,192,227,203,235,
57,225,82,29,107,207,95,230,62,187,43,152,204,135,153,210,10,111,211,66,203,20,50,92,69,65,106,83,10,156,155,48,165,102,4,205,43,120,171,91,108,206,119,254,241,22,246,75,252,129,85,250,106,238,181,243,
47,142,168,104,224,119,42,235,120,197,133,43,28,94,122,129,41,79,86,111,148,213,47,205,42,3,135,192,245,96,19,58,174,88,56,42,206,99,152,82,51,140,98,119,76,105,23,101,252,204,119,245,113,171,215,198,
159,153,114,107,88,181,187,150,125,14,93,225,78,251,126,229,142,69,103,152,190,44,99,202,60,192,148,188,205,74,234,180,120,112,196,1,164,192,163,99,216,178,16,25,174,14,150,20,132,209,7,233,106,138,49,
153,200,120,214,74,5,85,76,7,4,123,46,49,21,96,242,114,38,83,49,83,202,206,219,20,157,106,18,219,104,210,236,10,35,67,29,142,33,138,153,91,133,200,245,18,226,44,197,166,235,3,41,254,219,113,20,179,101,
6,205,212,197,81,148,222,64,169,71,206,81,209,233,70,218,46,57,207,147,201,51,138,27,73,155,127,150,222,215,25,108,54,176,5,7,92,15,75,49,210,208,252,101,148,211,216,159,146,206,191,64,11,247,78,38,245,
230,24,154,149,186,148,34,211,214,83,84,230,38,250,56,103,43,205,222,146,39,109,189,173,15,99,176,129,45,56,224,186,253,50,194,197,236,78,175,227,140,134,65,180,242,84,136,8,135,83,76,206,108,82,155,226,
41,58,43,145,62,50,39,219,128,182,122,243,18,138,201,157,109,179,129,173,177,30,247,69,15,94,199,78,7,92,239,130,246,11,73,110,83,127,210,203,113,76,172,28,79,139,139,195,73,83,164,166,249,133,26,201,
243,98,27,236,237,40,219,24,108,96,11,142,199,23,18,187,19,173,95,201,114,155,6,80,230,181,225,164,171,10,161,213,149,147,40,161,124,58,45,43,139,180,1,237,196,159,222,176,141,153,254,193,228,109,188,
146,57,238,199,119,187,148,230,254,55,148,178,111,141,150,13,54,86,28,10,181,1,109,244,97,236,190,47,165,173,167,226,33,95,203,157,145,120,68,31,38,174,159,42,143,244,211,172,117,71,30,242,199,105,107,
31,118,15,240,243,252,127,1,108,76,65,198,225,150,95,0,0,0,0,73,69,78,68,174,66,96,130,0,0};
const char* JaySynthAudioProcessorEditor::led_23_red1_png = (const char*) resource_JaySynthAudioProcessorEditor_led_23_red1_png;
const int JaySynthAudioProcessorEditor::led_23_red1_pngSize = 1556;
//[EndFile] You can add extra defines here...
//[/EndFile]