/* ============================================================================== 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] using namespace juce; //============================================================================== JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcessor* ownerFilter, bool has_wt) : AudioProcessorEditor (ownerFilter) { m_fileChooserDirectory = File::getSpecialLocation (File::currentExecutableFile).getParentDirectory(); 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 juce::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); addAndMakeVisible (m_button_bank_load = new juce::TextButton (L"Bank Load")); m_button_bank_load->setTooltip (TRANS("Load a bank")); m_button_bank_load->addListener (this); addAndMakeVisible (m_button_bank_save = new juce::TextButton (L"Bank Save")); m_button_bank_save->setTooltip (TRANS("Save a bank")); m_button_bank_save->addListener (this); addAndMakeVisible (m_button_patch_load = new juce::TextButton (L"Patch Load")); m_button_patch_load->setTooltip (TRANS("Load a patch")); m_button_patch_load->addListener (this); addAndMakeVisible (m_button_patch_save = new juce::TextButton (L"Patch Save")); m_button_patch_save->setTooltip (TRANS("Save a patch")); m_button_patch_save->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("PARAM_BUTTON ") + String(SYNTH_PARAM_OSC_0_ENABLE)); m_btn_osc1_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_OSC_1_ENABLE)); m_btn_noise_enable_led->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_NOISE_ENABLE)); m_button_humanize_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_HUMANIZE_ENABLE)); m_button_mono_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_MONOPHONIC_ENABLE)); m_button_mono_retrigger->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_MONOPHONIC_RETRIGGER_ENABLE)); m_button_unisono_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_UNISONO_ENABLE)); m_button_osc0_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_OSC_0_RESTART_ON_TRIGGER)); m_button_osc1_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_OSC_1_RESTART_ON_TRIGGER)); m_button_lfo0_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_0_SYNC)); m_button_lfo1_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_1_SYNC)); m_button_lfo2_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_2_SYNC)); m_button_lfo3_restart_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_3_SYNC)); m_button_lfo0_individual_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_0_MODE)); m_button_lfo1_individual_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_1_MODE)); m_button_lfo2_individual_enable->setComponentID(String("PARAM_BUTTON ") + String(SYNTH_PARAM_LFO_2_MODE)); m_button_lfo3_individual_enable->setComponentID(String("PARAM_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; m_button_bank_load = nullptr; m_button_bank_save = nullptr; m_button_patch_load = nullptr; m_button_patch_save = 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); m_button_bank_load->setBounds (1000, 70, 80, 20); m_button_bank_save->setBounds (1000, 100, 80, 20); m_button_patch_load->setBounds (1000, 140, 80, 20); m_button_patch_save->setBounds (1000, 170, 80, 20); //[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_bank_load) { String filePatterns("*.fxb;*.xmb"); FileChooser fc("Load bank", m_fileChooserDirectory, filePatterns, false); if (fc.browseForFileToOpen()) { File const &file = fc.getResult(); getProcessor()->loadBank(file); m_fileChooserDirectory = file; } } else if (buttonThatWasClicked == m_button_bank_save) { String filePatterns("*.fxb;*.xmb"); FileChooser fc("Save bank", m_fileChooserDirectory, filePatterns, false); if (fc.browseForFileToSave(true)) { File const &file = fc.getResult(); getProcessor()->saveBank(file); m_fileChooserDirectory = file; } } else if (buttonThatWasClicked == m_button_patch_load) { String filePatterns("*.fxp;*.xmp"); FileChooser fc("Load patch", m_fileChooserDirectory, filePatterns, false); if (fc.browseForFileToOpen()) { File const &file = fc.getResult(); getProcessor()->loadPatch(file, 0); m_fileChooserDirectory = file; } } else if (buttonThatWasClicked == m_button_patch_save) { String filePatterns("*.fxp;*.xmp"); FileChooser fc("Save patch", m_fileChooserDirectory, filePatterns, false); if (fc.browseForFileToSave(true)) { File const &file = fc.getResult(); getProcessor()->savePatch(file, 0); m_fileChooserDirectory = file; } } else 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; } if (buttonThatWasClicked == m_button_humanize_enable) { getProcessor()->humanizeModeChanged(); } if (buttonThatWasClicked == m_button_unisono_enable) { getProcessor()->unisonoModeChanged(); } if (buttonThatWasClicked == m_button_mono_enable) { getProcessor()->unisonoModeChanged(); } if (buttonThatWasClicked->getComponentID().startsWith("PARAM")) { 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); } } } 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 bpm = spa.getValue("bpm", "-1").getIntValue(); uint32_t brightness = spa.getValue("brightness", "-1").getIntValue(); m_btn_midiClockLed->flash(brightness*50, brightness); 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 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]