/* ============================================================================== 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 "PluginGui.h" //[MiscUserDefs] You can add your own user definitions and misc code here... void PluginGui::updateFromParameters() { sineImageButton->setToggleState(false, false); halfsineImageButton->setToggleState(false, false); abssineImageButton->setToggleState(false, false); quartersineImageButton->setToggleState(false, false); alternatingsineImageButton->setToggleState(false, false); camelsineImageButton->setToggleState(false, false); squareImageButton->setToggleState(false, false); logsawImageButton->setToggleState(false, false); switch(processor->getEnumParameter("Modulator Wave")) { case 0: sineImageButton->setToggleState(true, false); break; case 1: halfsineImageButton->setToggleState(true, false); break; case 2: abssineImageButton->setToggleState(true, false); break; case 3: quartersineImageButton->setToggleState(true, false); break; case 4: alternatingsineImageButton->setToggleState(true, false); break; case 5: camelsineImageButton->setToggleState(true, false); break; case 6: squareImageButton->setToggleState(true, false); break; case 7: logsawImageButton->setToggleState(true, false); break; } sineImageButton2->setToggleState(false, false); halfsineImageButton2->setToggleState(false, false); abssineImageButton2->setToggleState(false, false); quartersineImageButton2->setToggleState(false, false); alternatingsineImageButton2->setToggleState(false, false); camelsineImageButton2->setToggleState(false, false); squareImageButton2->setToggleState(false, false); logsawImageButton2->setToggleState(false, false); switch(processor->getEnumParameter("Carrier Wave")) { case 0: sineImageButton2->setToggleState(true, false); break; case 1: halfsineImageButton2->setToggleState(true, false); break; case 2: abssineImageButton2->setToggleState(true, false); break; case 3: quartersineImageButton2->setToggleState(true, false); break; case 4: alternatingsineImageButton2->setToggleState(true, false); break; case 5: camelsineImageButton2->setToggleState(true, false); break; case 6: squareImageButton2->setToggleState(true, false); break; case 7: logsawImageButton2->setToggleState(true, false); break; } frequencyComboBox->setSelectedItemIndex(processor->getEnumParameter("Modulator Frequency Multiplier"), true); frequencyComboBox2->setSelectedItemIndex(processor->getEnumParameter("Carrier Frequency Multiplier"), true); attenuationSlider->setValue(processor->getEnumParameter("Modulator Attenuation") * -0.75, juce::NotificationType::dontSendNotification); attenuationSlider2->setValue(processor->getEnumParameter("Carrier Attenuation") * -0.75, juce::NotificationType::dontSendNotification); aSlider->setValue(processor->getIntParameter("Modulator Attack"), juce::NotificationType::dontSendNotification); dSlider->setValue(processor->getIntParameter("Modulator Decay"), juce::NotificationType::dontSendNotification); sSlider->setValue(processor->getIntParameter("Modulator Sustain Level"), juce::NotificationType::dontSendNotification); rSlider->setValue(processor->getIntParameter("Modulator Release"), juce::NotificationType::dontSendNotification); aSlider2->setValue(processor->getIntParameter("Carrier Attack"), juce::NotificationType::dontSendNotification); dSlider2->setValue(processor->getIntParameter("Carrier Decay"), juce::NotificationType::dontSendNotification); sSlider2->setValue(processor->getIntParameter("Carrier Sustain Level"), juce::NotificationType::dontSendNotification); rSlider2->setValue(processor->getIntParameter("Carrier Release"), juce::NotificationType::dontSendNotification); keyscaleAttenuationComboBox->setSelectedItemIndex(processor->getEnumParameter("Modulator Keyscale Level"), true); keyscaleAttenuationComboBox2->setSelectedItemIndex(processor->getEnumParameter("Carrier Keyscale Level"), true); if (processor->getEnumParameter("Modulator Tremolo")) tremoloButton->setToggleState(true, false); if (processor->getEnumParameter("Modulator Vibrato")) vibratoButton->setToggleState(true, false); if (processor->getEnumParameter("Modulator Sustain")) sustainButton->setToggleState(true, false); if (processor->getEnumParameter("Modulator Keyscale Rate")) keyscaleEnvButton->setToggleState(true, false); if (processor->getEnumParameter("Carrier Tremolo")) tremoloButton2->setToggleState(true, false); if (processor->getEnumParameter("Carrier Vibrato")) vibratoButton2->setToggleState(true, false); if (processor->getEnumParameter("Carrier Sustain")) sustainButton2->setToggleState(true, false); if (processor->getEnumParameter("Carrier Keyscale Rate")) keyscaleEnvButton2->setToggleState(true, false); vibratoSlider->setValue(processor->getEnumParameter("Vibrato Depth") * 7.0 + 7.0, juce::NotificationType::dontSendNotification); tremoloSlider->setValue(processor->getEnumParameter("Tremolo Depth") * 3.8 + 1.0, juce::NotificationType::dontSendNotification); feedbackSlider->setValue(processor->getIntParameter("Modulator Feedback"), juce::NotificationType::dontSendNotification); velocityComboBox->setSelectedItemIndex(processor->getEnumParameter("Modulator Velocity Sensitivity"), true); velocityComboBox2->setSelectedItemIndex(processor->getEnumParameter("Carrier Velocity Sensitivity"), true); algorithmComboBox->setSelectedItemIndex(processor->getEnumParameter("Algorithm"), true); } //[/MiscUserDefs] //============================================================================== PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) : AudioProcessorEditor (ownerFilter) { addAndMakeVisible (groupComponent = new GroupComponent ("new group", "Modulator")); groupComponent->setTextLabelPosition (Justification::centredLeft); groupComponent->setColour (GroupComponent::outlineColourId, Colour (0xff007f00)); groupComponent->setColour (GroupComponent::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyComboBox = new ComboBox ("frequency combo box")); frequencyComboBox->setEditableText (false); frequencyComboBox->setJustificationType (Justification::centredLeft); frequencyComboBox->setTextWhenNothingSelected (String::empty); frequencyComboBox->setTextWhenNoChoicesAvailable ("(no choices)"); frequencyComboBox->addListener (this); addAndMakeVisible (frequencyLabel = new Label ("frequency label", "Frequency")); frequencyLabel->setFont (Font (15.00f, Font::plain)); frequencyLabel->setJustificationType (Justification::centredLeft); frequencyLabel->setEditable (false, false, false); frequencyLabel->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel->setColour (TextEditor::textColourId, Colours::black); frequencyLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (aSlider = new Slider ("a slider")); aSlider->setTooltip ("Envelope attack rate"); aSlider->setRange (0, 15, 1); aSlider->setSliderStyle (Slider::LinearVertical); aSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); aSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); aSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); aSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); aSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); aSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); aSlider->addListener (this); addAndMakeVisible (aLabel = new Label ("a label", "A")); aLabel->setFont (Font (15.00f, Font::plain)); aLabel->setJustificationType (Justification::centred); aLabel->setEditable (false, false, false); aLabel->setColour (Label::textColourId, Colour (0xff007f00)); aLabel->setColour (TextEditor::textColourId, Colours::black); aLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dSlider = new Slider ("d slider")); dSlider->setTooltip ("Envelope decay rate"); dSlider->setRange (0, 15, 1); dSlider->setSliderStyle (Slider::LinearVertical); dSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); dSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); dSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); dSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); dSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); dSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); dSlider->addListener (this); addAndMakeVisible (dLabel = new Label ("d label", "D")); dLabel->setFont (Font (15.00f, Font::plain)); dLabel->setJustificationType (Justification::centred); dLabel->setEditable (false, false, false); dLabel->setColour (Label::textColourId, Colour (0xff007f00)); dLabel->setColour (TextEditor::textColourId, Colours::black); dLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sSlider = new Slider ("s slider")); sSlider->setTooltip ("Envelope sustain level"); sSlider->setRange (0, 15, 1); sSlider->setSliderStyle (Slider::LinearVertical); sSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); sSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); sSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); sSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); sSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); sSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); sSlider->addListener (this); addAndMakeVisible (dLabel2 = new Label ("d label", "S")); dLabel2->setFont (Font (15.00f, Font::plain)); dLabel2->setJustificationType (Justification::centred); dLabel2->setEditable (false, false, false); dLabel2->setColour (Label::textColourId, Colour (0xff007f00)); dLabel2->setColour (TextEditor::textColourId, Colours::black); dLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (rSlider = new Slider ("r slider")); rSlider->setTooltip ("Envelope release rate"); rSlider->setRange (0, 15, 1); rSlider->setSliderStyle (Slider::LinearVertical); rSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); rSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); rSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); rSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); rSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); rSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); rSlider->addListener (this); addAndMakeVisible (rLabel = new Label ("r label", "R")); rLabel->setFont (Font (15.00f, Font::plain)); rLabel->setJustificationType (Justification::centred); rLabel->setEditable (false, false, false); rLabel->setColour (Label::textColourId, Colour (0xff007f00)); rLabel->setColour (TextEditor::textColourId, Colours::black); rLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (attenuationSlider = new Slider ("attenuation slider")); attenuationSlider->setRange (-47.25, 0, 0.75); attenuationSlider->setSliderStyle (Slider::LinearVertical); attenuationSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 64, 20); attenuationSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); attenuationSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); attenuationSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); attenuationSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); attenuationSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); attenuationSlider->addListener (this); addAndMakeVisible (attenuationLabel = new Label ("attenuation label", "Attenuation")); attenuationLabel->setFont (Font (15.00f, Font::plain)); attenuationLabel->setJustificationType (Justification::centred); attenuationLabel->setEditable (false, false, false); attenuationLabel->setColour (Label::textColourId, Colour (0xff007f00)); attenuationLabel->setColour (TextEditor::textColourId, Colours::black); attenuationLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel = new Label ("db label", "dB")); dbLabel->setFont (Font (15.00f, Font::plain)); dbLabel->setJustificationType (Justification::centred); dbLabel->setEditable (false, false, false); dbLabel->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel->setColour (TextEditor::textColourId, Colours::black); dbLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sineImageButton = new ImageButton ("sine image button")); sineImageButton->setTooltip ("sine"); sineImageButton->setButtonText ("Sine"); sineImageButton->setRadioGroupId (1); sineImageButton->addListener (this); sineImageButton->setImages (false, true, true, ImageCache::getFromMemory (full_sine_png, full_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (halfsineImageButton = new ImageButton ("half sine image button")); halfsineImageButton->setTooltip ("half sine"); halfsineImageButton->setButtonText ("Half Sine"); halfsineImageButton->setRadioGroupId (1); halfsineImageButton->addListener (this); halfsineImageButton->setImages (false, true, true, ImageCache::getFromMemory (half_sine_png, half_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (abssineImageButton = new ImageButton ("abs sine image button")); abssineImageButton->setTooltip ("abs sine"); abssineImageButton->setButtonText ("Abs Sine"); abssineImageButton->setRadioGroupId (1); abssineImageButton->addListener (this); abssineImageButton->setImages (false, true, true, ImageCache::getFromMemory (abs_sine_png, abs_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (quartersineImageButton = new ImageButton ("quarter sine image button")); quartersineImageButton->setTooltip ("quarter sine"); quartersineImageButton->setButtonText ("Quarter Sine"); quartersineImageButton->setRadioGroupId (1); quartersineImageButton->addListener (this); quartersineImageButton->setImages (false, true, true, ImageCache::getFromMemory (quarter_sine_png, quarter_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (waveLabel = new Label ("wave label", "Wave")); waveLabel->setFont (Font (15.00f, Font::plain)); waveLabel->setJustificationType (Justification::centredLeft); waveLabel->setEditable (false, false, false); waveLabel->setColour (Label::textColourId, Colour (0xff007f00)); waveLabel->setColour (TextEditor::textColourId, Colours::black); waveLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (tremoloButton = new ToggleButton ("tremolo button")); tremoloButton->setButtonText ("Tremolo"); tremoloButton->addListener (this); tremoloButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (vibratoButton = new ToggleButton ("vibrato button")); vibratoButton->setButtonText ("Vibrato"); vibratoButton->addListener (this); vibratoButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (sustainButton = new ToggleButton ("sustain button")); sustainButton->setButtonText ("Sustain"); sustainButton->addListener (this); sustainButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (keyscaleEnvButton = new ToggleButton ("keyscale env button")); keyscaleEnvButton->setButtonText ("Keyscale Envelope Rate"); keyscaleEnvButton->addListener (this); keyscaleEnvButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyLabel2 = new Label ("frequency label", "Keyscale Attenuation")); frequencyLabel2->setFont (Font (15.00f, Font::plain)); frequencyLabel2->setJustificationType (Justification::centred); frequencyLabel2->setEditable (false, false, false); frequencyLabel2->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel2->setColour (TextEditor::textColourId, Colours::black); frequencyLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel2 = new Label ("db label", "dB/8ve\n")); dbLabel2->setFont (Font (15.00f, Font::plain)); dbLabel2->setJustificationType (Justification::centred); dbLabel2->setEditable (false, false, false); dbLabel2->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel2->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel2->setColour (TextEditor::textColourId, Colours::black); dbLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (groupComponent2 = new GroupComponent ("new group", "Carrier")); groupComponent2->setTextLabelPosition (Justification::centredLeft); groupComponent2->setColour (GroupComponent::outlineColourId, Colour (0xff007f00)); groupComponent2->setColour (GroupComponent::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyComboBox2 = new ComboBox ("frequency combo box")); frequencyComboBox2->setEditableText (false); frequencyComboBox2->setJustificationType (Justification::centredLeft); frequencyComboBox2->setTextWhenNothingSelected (String::empty); frequencyComboBox2->setTextWhenNoChoicesAvailable ("(no choices)"); frequencyComboBox2->addListener (this); addAndMakeVisible (frequencyLabel3 = new Label ("frequency label", "Frequency")); frequencyLabel3->setFont (Font (15.00f, Font::plain)); frequencyLabel3->setJustificationType (Justification::centredLeft); frequencyLabel3->setEditable (false, false, false); frequencyLabel3->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel3->setColour (TextEditor::textColourId, Colours::black); frequencyLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (aSlider2 = new Slider ("a slider")); aSlider2->setRange (0, 15, 1); aSlider2->setSliderStyle (Slider::LinearVertical); aSlider2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); aSlider2->setColour (Slider::thumbColourId, Colour (0xff00af00)); aSlider2->setColour (Slider::trackColourId, Colour (0x7f007f00)); aSlider2->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); aSlider2->setColour (Slider::textBoxBackgroundColourId, Colours::black); aSlider2->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); aSlider2->addListener (this); addAndMakeVisible (aLabel2 = new Label ("a label", "A")); aLabel2->setFont (Font (15.00f, Font::plain)); aLabel2->setJustificationType (Justification::centred); aLabel2->setEditable (false, false, false); aLabel2->setColour (Label::textColourId, Colour (0xff007f00)); aLabel2->setColour (TextEditor::textColourId, Colours::black); aLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dSlider2 = new Slider ("d slider")); dSlider2->setRange (0, 15, 1); dSlider2->setSliderStyle (Slider::LinearVertical); dSlider2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); dSlider2->setColour (Slider::thumbColourId, Colour (0xff00af00)); dSlider2->setColour (Slider::trackColourId, Colour (0x7f007f00)); dSlider2->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); dSlider2->setColour (Slider::textBoxBackgroundColourId, Colours::black); dSlider2->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); dSlider2->addListener (this); addAndMakeVisible (dLabel3 = new Label ("d label", "D")); dLabel3->setFont (Font (15.00f, Font::plain)); dLabel3->setJustificationType (Justification::centred); dLabel3->setEditable (false, false, false); dLabel3->setColour (Label::textColourId, Colour (0xff007f00)); dLabel3->setColour (TextEditor::textColourId, Colours::black); dLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sSlider2 = new Slider ("s slider")); sSlider2->setRange (0, 15, 1); sSlider2->setSliderStyle (Slider::LinearVertical); sSlider2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); sSlider2->setColour (Slider::thumbColourId, Colour (0xff00af00)); sSlider2->setColour (Slider::trackColourId, Colour (0x7f007f00)); sSlider2->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); sSlider2->setColour (Slider::textBoxBackgroundColourId, Colours::black); sSlider2->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); sSlider2->addListener (this); addAndMakeVisible (dLabel4 = new Label ("d label", "S")); dLabel4->setFont (Font (15.00f, Font::plain)); dLabel4->setJustificationType (Justification::centred); dLabel4->setEditable (false, false, false); dLabel4->setColour (Label::textColourId, Colour (0xff007f00)); dLabel4->setColour (TextEditor::textColourId, Colours::black); dLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (rSlider2 = new Slider ("r slider")); rSlider2->setRange (0, 15, 1); rSlider2->setSliderStyle (Slider::LinearVertical); rSlider2->setTextBoxStyle (Slider::TextBoxBelow, false, 40, 20); rSlider2->setColour (Slider::thumbColourId, Colour (0xff00af00)); rSlider2->setColour (Slider::trackColourId, Colour (0x7f007f00)); rSlider2->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); rSlider2->setColour (Slider::textBoxBackgroundColourId, Colours::black); rSlider2->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); rSlider2->addListener (this); addAndMakeVisible (rLabel2 = new Label ("r label", "R")); rLabel2->setFont (Font (15.00f, Font::plain)); rLabel2->setJustificationType (Justification::centred); rLabel2->setEditable (false, false, false); rLabel2->setColour (Label::textColourId, Colour (0xff007f00)); rLabel2->setColour (TextEditor::textColourId, Colours::black); rLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (attenuationSlider2 = new Slider ("attenuation slider")); attenuationSlider2->setRange (-47.25, 0, 0.75); attenuationSlider2->setSliderStyle (Slider::LinearVertical); attenuationSlider2->setTextBoxStyle (Slider::TextBoxBelow, false, 64, 20); attenuationSlider2->setColour (Slider::thumbColourId, Colour (0xff00af00)); attenuationSlider2->setColour (Slider::trackColourId, Colour (0x7f007f00)); attenuationSlider2->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); attenuationSlider2->setColour (Slider::textBoxBackgroundColourId, Colours::black); attenuationSlider2->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); attenuationSlider2->addListener (this); addAndMakeVisible (attenuationLabel2 = new Label ("attenuation label", "Attenuation")); attenuationLabel2->setFont (Font (15.00f, Font::plain)); attenuationLabel2->setJustificationType (Justification::centred); attenuationLabel2->setEditable (false, false, false); attenuationLabel2->setColour (Label::textColourId, Colour (0xff007f00)); attenuationLabel2->setColour (TextEditor::textColourId, Colours::black); attenuationLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel3 = new Label ("db label", "dB")); dbLabel3->setFont (Font (15.00f, Font::plain)); dbLabel3->setJustificationType (Justification::centred); dbLabel3->setEditable (false, false, false); dbLabel3->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel3->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel3->setColour (TextEditor::textColourId, Colours::black); dbLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sineImageButton2 = new ImageButton ("sine image button")); sineImageButton2->setTooltip ("sine"); sineImageButton2->setButtonText ("Sine"); sineImageButton2->setRadioGroupId (2); sineImageButton2->addListener (this); sineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (full_sine_png, full_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (halfsineImageButton2 = new ImageButton ("half sine image button")); halfsineImageButton2->setTooltip ("half sine"); halfsineImageButton2->setButtonText ("Half Sine"); halfsineImageButton2->setRadioGroupId (2); halfsineImageButton2->addListener (this); halfsineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (half_sine_png, half_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (abssineImageButton2 = new ImageButton ("abs sine image button")); abssineImageButton2->setTooltip ("abs sine"); abssineImageButton2->setButtonText ("Abs Sine"); abssineImageButton2->setRadioGroupId (2); abssineImageButton2->addListener (this); abssineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (abs_sine_png, abs_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (quartersineImageButton2 = new ImageButton ("quarter sine image button")); quartersineImageButton2->setTooltip ("quarter sine"); quartersineImageButton2->setButtonText ("Quarter Sine"); quartersineImageButton2->setRadioGroupId (2); quartersineImageButton2->addListener (this); quartersineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (quarter_sine_png, quarter_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (waveLabel2 = new Label ("wave label", "Wave")); waveLabel2->setFont (Font (15.00f, Font::plain)); waveLabel2->setJustificationType (Justification::centredLeft); waveLabel2->setEditable (false, false, false); waveLabel2->setColour (Label::textColourId, Colour (0xff007f00)); waveLabel2->setColour (TextEditor::textColourId, Colours::black); waveLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (tremoloButton2 = new ToggleButton ("tremolo button")); tremoloButton2->setButtonText ("Tremolo"); tremoloButton2->addListener (this); tremoloButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (vibratoButton2 = new ToggleButton ("vibrato button")); vibratoButton2->setButtonText ("Vibrato"); vibratoButton2->addListener (this); vibratoButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (sustainButton2 = new ToggleButton ("sustain button")); sustainButton2->setButtonText ("Sustain"); sustainButton2->addListener (this); sustainButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (keyscaleEnvButton2 = new ToggleButton ("keyscale env button")); keyscaleEnvButton2->setButtonText ("Keyscale Envelope Rate"); keyscaleEnvButton2->addListener (this); keyscaleEnvButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyLabel4 = new Label ("frequency label", "Keyscale Attenuation")); frequencyLabel4->setFont (Font (15.00f, Font::plain)); frequencyLabel4->setJustificationType (Justification::centred); frequencyLabel4->setEditable (false, false, false); frequencyLabel4->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel4->setColour (TextEditor::textColourId, Colours::black); frequencyLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (groupComponent3 = new GroupComponent ("new group", "Common")); groupComponent3->setTextLabelPosition (Justification::centredLeft); groupComponent3->setColour (GroupComponent::outlineColourId, Colour (0xff007f00)); groupComponent3->setColour (GroupComponent::textColourId, Colour (0xff007f00)); addAndMakeVisible (tremoloSlider = new Slider ("tremolo slider")); tremoloSlider->setRange (1, 4.8, 3.8); tremoloSlider->setSliderStyle (Slider::LinearHorizontal); tremoloSlider->setTextBoxStyle (Slider::TextBoxLeft, false, 44, 20); tremoloSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); tremoloSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); tremoloSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); tremoloSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); tremoloSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); tremoloSlider->addListener (this); addAndMakeVisible (frequencyLabel5 = new Label ("frequency label", "Tremolo Depth\n")); frequencyLabel5->setFont (Font (15.00f, Font::plain)); frequencyLabel5->setJustificationType (Justification::centred); frequencyLabel5->setEditable (false, false, false); frequencyLabel5->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel5->setColour (TextEditor::textColourId, Colours::black); frequencyLabel5->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel5 = new Label ("db label", "dB")); dbLabel5->setFont (Font (15.00f, Font::plain)); dbLabel5->setJustificationType (Justification::centred); dbLabel5->setEditable (false, false, false); dbLabel5->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel5->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel5->setColour (TextEditor::textColourId, Colours::black); dbLabel5->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (vibratoSlider = new Slider ("vibrato slider")); vibratoSlider->setRange (7, 14, 7); vibratoSlider->setSliderStyle (Slider::LinearHorizontal); vibratoSlider->setTextBoxStyle (Slider::TextBoxLeft, false, 44, 20); vibratoSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); vibratoSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); vibratoSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); vibratoSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); vibratoSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); vibratoSlider->addListener (this); addAndMakeVisible (frequencyLabel6 = new Label ("frequency label", "Vibrato Depth")); frequencyLabel6->setFont (Font (15.00f, Font::plain)); frequencyLabel6->setJustificationType (Justification::centred); frequencyLabel6->setEditable (false, false, false); frequencyLabel6->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel6->setColour (TextEditor::textColourId, Colours::black); frequencyLabel6->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel6 = new Label ("db label", "cents\n")); dbLabel6->setFont (Font (15.00f, Font::plain)); dbLabel6->setJustificationType (Justification::centred); dbLabel6->setEditable (false, false, false); dbLabel6->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel6->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel6->setColour (TextEditor::textColourId, Colours::black); dbLabel6->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (feedbackSlider = new Slider ("feedback slider")); feedbackSlider->setRange (0, 7, 1); feedbackSlider->setSliderStyle (Slider::LinearHorizontal); feedbackSlider->setTextBoxStyle (Slider::TextBoxRight, false, 44, 20); feedbackSlider->setColour (Slider::thumbColourId, Colour (0xff00af00)); feedbackSlider->setColour (Slider::trackColourId, Colour (0x7f007f00)); feedbackSlider->setColour (Slider::textBoxTextColourId, Colour (0xff007f00)); feedbackSlider->setColour (Slider::textBoxBackgroundColourId, Colours::black); feedbackSlider->setColour (Slider::textBoxHighlightColourId, Colour (0xff00af00)); feedbackSlider->addListener (this); addAndMakeVisible (frequencyLabel7 = new Label ("frequency label", "Feedback")); frequencyLabel7->setFont (Font (15.00f, Font::plain)); frequencyLabel7->setJustificationType (Justification::centredLeft); frequencyLabel7->setEditable (false, false, false); frequencyLabel7->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel7->setColour (TextEditor::textColourId, Colours::black); frequencyLabel7->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (velocityComboBox = new ComboBox ("velocity combo box")); velocityComboBox->setEditableText (false); velocityComboBox->setJustificationType (Justification::centredLeft); velocityComboBox->setTextWhenNothingSelected (String::empty); velocityComboBox->setTextWhenNoChoicesAvailable ("(no choices)"); velocityComboBox->addItem ("Off", 1); velocityComboBox->addItem ("Light", 2); velocityComboBox->addItem ("Heavy", 3); velocityComboBox->addListener (this); addAndMakeVisible (attenuationLabel3 = new Label ("attenuation label", "Velocity")); attenuationLabel3->setFont (Font (15.00f, Font::plain)); attenuationLabel3->setJustificationType (Justification::centredLeft); attenuationLabel3->setEditable (false, false, false); attenuationLabel3->setColour (Label::textColourId, Colour (0xff007f00)); attenuationLabel3->setColour (TextEditor::textColourId, Colours::black); attenuationLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (velocityComboBox2 = new ComboBox ("velocity combo box")); velocityComboBox2->setEditableText (false); velocityComboBox2->setJustificationType (Justification::centredLeft); velocityComboBox2->setTextWhenNothingSelected (String::empty); velocityComboBox2->setTextWhenNoChoicesAvailable ("(no choices)"); velocityComboBox2->addItem ("Off", 1); velocityComboBox2->addItem ("Light", 2); velocityComboBox2->addItem ("Heavy", 3); velocityComboBox2->addListener (this); addAndMakeVisible (attenuationLabel4 = new Label ("attenuation label", "Velocity")); attenuationLabel4->setFont (Font (15.00f, Font::plain)); attenuationLabel4->setJustificationType (Justification::centredLeft); attenuationLabel4->setEditable (false, false, false); attenuationLabel4->setColour (Label::textColourId, Colour (0xff007f00)); attenuationLabel4->setColour (TextEditor::textColourId, Colours::black); attenuationLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (alternatingsineImageButton = new ImageButton ("alternating sine image button")); alternatingsineImageButton->setTooltip ("alternating sine"); alternatingsineImageButton->setButtonText ("Alternating Sine"); alternatingsineImageButton->setRadioGroupId (1); alternatingsineImageButton->addListener (this); alternatingsineImageButton->setImages (false, true, true, ImageCache::getFromMemory (alternating_sine_png, alternating_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (camelsineImageButton = new ImageButton ("camel sine image button")); camelsineImageButton->setTooltip ("camel sine"); camelsineImageButton->setButtonText ("Camel Sine"); camelsineImageButton->setRadioGroupId (1); camelsineImageButton->addListener (this); camelsineImageButton->setImages (false, true, true, ImageCache::getFromMemory (camel_sine_png, camel_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (squareImageButton = new ImageButton ("square image button")); squareImageButton->setTooltip ("square"); squareImageButton->setButtonText ("Square"); squareImageButton->setRadioGroupId (1); squareImageButton->addListener (this); squareImageButton->setImages (false, true, true, ImageCache::getFromMemory (square_png, square_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (logsawImageButton = new ImageButton ("logsaw image button")); logsawImageButton->setTooltip ("logarithmic sawtooth"); logsawImageButton->setButtonText ("Logarithmic Sawtooth"); logsawImageButton->setRadioGroupId (1); logsawImageButton->addListener (this); logsawImageButton->setImages (false, true, true, ImageCache::getFromMemory (logarithmic_saw_png, logarithmic_saw_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (alternatingsineImageButton2 = new ImageButton ("alternating sine image button")); alternatingsineImageButton2->setTooltip ("alternating sine"); alternatingsineImageButton2->setButtonText ("Alternating Sine"); alternatingsineImageButton2->setRadioGroupId (2); alternatingsineImageButton2->addListener (this); alternatingsineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (alternating_sine_png, alternating_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (camelsineImageButton2 = new ImageButton ("camel sine image button")); camelsineImageButton2->setTooltip ("camel sine"); camelsineImageButton2->setButtonText ("Camel Sine"); camelsineImageButton2->setRadioGroupId (2); camelsineImageButton2->addListener (this); camelsineImageButton2->setImages (false, true, true, ImageCache::getFromMemory (camel_sine_png, camel_sine_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (squareImageButton2 = new ImageButton ("square image button")); squareImageButton2->setTooltip ("square"); squareImageButton2->setButtonText ("Square"); squareImageButton2->setRadioGroupId (2); squareImageButton2->addListener (this); squareImageButton2->setImages (false, true, true, ImageCache::getFromMemory (square_png, square_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (logsawImageButton2 = new ImageButton ("logsaw image button")); logsawImageButton2->setTooltip ("logarithmic sawtooth"); logsawImageButton2->setButtonText ("Logarithmic Sawtooth"); logsawImageButton2->setRadioGroupId (2); logsawImageButton2->addListener (this); logsawImageButton2->setImages (false, true, true, ImageCache::getFromMemory (logarithmic_saw_png, logarithmic_saw_pngSize), 0.500f, Colour (0x00000000), Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (algorithmComboBox = new ComboBox ("algorithm combo box")); algorithmComboBox->setEditableText (false); algorithmComboBox->setJustificationType (Justification::centredLeft); algorithmComboBox->setTextWhenNothingSelected (String::empty); algorithmComboBox->setTextWhenNoChoicesAvailable ("(no choices)"); algorithmComboBox->addItem ("FM", 1); algorithmComboBox->addItem ("Additive", 2); algorithmComboBox->addListener (this); addAndMakeVisible (frequencyLabel8 = new Label ("frequency label", "Algorithm")); frequencyLabel8->setFont (Font (15.00f, Font::plain)); frequencyLabel8->setJustificationType (Justification::centredLeft); frequencyLabel8->setEditable (false, false, false); frequencyLabel8->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel8->setColour (TextEditor::textColourId, Colours::black); frequencyLabel8->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (dbLabel4 = new Label ("db label", "dB/8ve\n")); dbLabel4->setFont (Font (15.00f, Font::plain)); dbLabel4->setJustificationType (Justification::centred); dbLabel4->setEditable (false, false, false); dbLabel4->setColour (Label::textColourId, Colour (0xff007f00)); dbLabel4->setColour (Label::outlineColourId, Colour (0x00000000)); dbLabel4->setColour (TextEditor::textColourId, Colours::black); dbLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (keyscaleAttenuationComboBox2 = new ComboBox ("keyscale combo box")); keyscaleAttenuationComboBox2->setEditableText (false); keyscaleAttenuationComboBox2->setJustificationType (Justification::centredLeft); keyscaleAttenuationComboBox2->setTextWhenNothingSelected (String::empty); keyscaleAttenuationComboBox2->setTextWhenNoChoicesAvailable ("(no choices)"); keyscaleAttenuationComboBox2->addItem ("-0.0", 1); keyscaleAttenuationComboBox2->addItem ("-3.0", 2); keyscaleAttenuationComboBox2->addItem ("-1.5", 3); keyscaleAttenuationComboBox2->addItem ("-6.0", 4); keyscaleAttenuationComboBox2->addListener (this); addAndMakeVisible (keyscaleAttenuationComboBox = new ComboBox ("keyscale combo box")); keyscaleAttenuationComboBox->setEditableText (false); keyscaleAttenuationComboBox->setJustificationType (Justification::centredLeft); keyscaleAttenuationComboBox->setTextWhenNothingSelected (String::empty); keyscaleAttenuationComboBox->setTextWhenNoChoicesAvailable ("(no choices)"); keyscaleAttenuationComboBox->addItem ("-0.0", 1); keyscaleAttenuationComboBox->addItem ("-3.0", 2); keyscaleAttenuationComboBox->addItem ("-1.5", 3); keyscaleAttenuationComboBox->addItem ("-6.0", 4); keyscaleAttenuationComboBox->addListener (this); addAndMakeVisible (groupComponent4 = new GroupComponent ("new group", "Channels")); groupComponent4->setTextLabelPosition (Justification::centredLeft); groupComponent4->setColour (GroupComponent::outlineColourId, Colour (0xff007f00)); groupComponent4->setColour (GroupComponent::textColourId, Colour (0xff007f00)); //[UserPreSize] frequencyComboBox->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); frequencyComboBox->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); frequencyComboBox->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); frequencyComboBox->setColour (ComboBox::buttonColourId, Colours::black); frequencyComboBox->setColour (ComboBox::backgroundColourId, Colours::black); frequencyComboBox->addItem ("x1/2", 16); // can't use 0 :( frequencyComboBox->addItem ("x1", 1); frequencyComboBox->addItem ("x2", 2); frequencyComboBox->addItem ("x3", 3); frequencyComboBox->addItem ("x4", 4); frequencyComboBox->addItem ("x5", 5); frequencyComboBox->addItem ("x6", 6); frequencyComboBox->addItem ("x7", 7); frequencyComboBox->addItem ("x8", 8); frequencyComboBox->addItem ("x9", 9); frequencyComboBox->addItem ("x10", 10); frequencyComboBox->addItem ("x12", 12); frequencyComboBox->addItem ("x15", 15); frequencyComboBox2->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); frequencyComboBox2->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); frequencyComboBox2->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); frequencyComboBox2->setColour (ComboBox::buttonColourId, Colours::black); frequencyComboBox2->setColour (ComboBox::backgroundColourId, Colours::black); frequencyComboBox2->addItem ("x1/2", 16); // can't use 0 :( frequencyComboBox2->addItem ("x1", 1); frequencyComboBox2->addItem ("x2", 2); frequencyComboBox2->addItem ("x3", 3); frequencyComboBox2->addItem ("x4", 4); frequencyComboBox2->addItem ("x5", 5); frequencyComboBox2->addItem ("x6", 6); frequencyComboBox2->addItem ("x7", 7); frequencyComboBox2->addItem ("x8", 8); frequencyComboBox2->addItem ("x9", 9); frequencyComboBox2->addItem ("x10", 10); frequencyComboBox2->addItem ("x12", 12); frequencyComboBox2->addItem ("x15", 15); velocityComboBox->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); velocityComboBox->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); velocityComboBox->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); velocityComboBox->setColour (ComboBox::buttonColourId, Colours::black); velocityComboBox->setColour (ComboBox::backgroundColourId, Colours::black); velocityComboBox2->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); velocityComboBox2->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); velocityComboBox2->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); velocityComboBox2->setColour (ComboBox::buttonColourId, Colours::black); velocityComboBox2->setColour (ComboBox::backgroundColourId, Colours::black); algorithmComboBox->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); algorithmComboBox->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); algorithmComboBox->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); algorithmComboBox->setColour (ComboBox::buttonColourId, Colours::black); algorithmComboBox->setColour (ComboBox::backgroundColourId, Colours::black); keyscaleAttenuationComboBox->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox->setColour (ComboBox::buttonColourId, Colours::black); keyscaleAttenuationComboBox->setColour (ComboBox::backgroundColourId, Colours::black); keyscaleAttenuationComboBox2->setColour (ComboBox::textColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox2->setColour (ComboBox::outlineColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox2->setColour (ComboBox::arrowColourId, Colour (COLOUR_MID)); keyscaleAttenuationComboBox2->setColour (ComboBox::buttonColourId, Colours::black); keyscaleAttenuationComboBox2->setColour (ComboBox::backgroundColourId, Colours::black); sineImageButton->setClickingTogglesState(true); sineImageButton->setRepaintsOnMouseActivity(false); abssineImageButton->setClickingTogglesState(true); abssineImageButton->setRepaintsOnMouseActivity(false); halfsineImageButton->setClickingTogglesState(true); halfsineImageButton->setRepaintsOnMouseActivity(false); quartersineImageButton->setClickingTogglesState(true); quartersineImageButton->setRepaintsOnMouseActivity(false); alternatingsineImageButton->setClickingTogglesState(true); alternatingsineImageButton->setRepaintsOnMouseActivity(false); camelsineImageButton->setClickingTogglesState(true); camelsineImageButton->setRepaintsOnMouseActivity(false); squareImageButton->setClickingTogglesState(true); squareImageButton->setRepaintsOnMouseActivity(false); logsawImageButton->setClickingTogglesState(true); logsawImageButton->setRepaintsOnMouseActivity(false); sineImageButton2->setClickingTogglesState(true); sineImageButton2->setRepaintsOnMouseActivity(false); abssineImageButton2->setClickingTogglesState(true); abssineImageButton2->setRepaintsOnMouseActivity(false); halfsineImageButton2->setClickingTogglesState(true); halfsineImageButton2->setRepaintsOnMouseActivity(false); quartersineImageButton2->setClickingTogglesState(true); quartersineImageButton2->setRepaintsOnMouseActivity(false); alternatingsineImageButton2->setClickingTogglesState(true); alternatingsineImageButton2->setRepaintsOnMouseActivity(false); camelsineImageButton2->setClickingTogglesState(true); camelsineImageButton2->setRepaintsOnMouseActivity(false); squareImageButton2->setClickingTogglesState(true); squareImageButton2->setRepaintsOnMouseActivity(false); logsawImageButton2->setClickingTogglesState(true); logsawImageButton2->setRepaintsOnMouseActivity(false); tremoloButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); vibratoButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); keyscaleEnvButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); sustainButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); tremoloButton2->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); vibratoButton2->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); keyscaleEnvButton2->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); sustainButton2->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); for (unsigned int i = 0; i < channels.size(); ++i) { ImageButton *channel = new ImageButton("new button"); addAndMakeVisible(channel); channel->addListener(this); channel->setImages(false, true, true, ImageCache::getFromMemory(channeloff_png, channeloff_pngSize), 1.000f, Colour(0x00000000), Image(), 1.000f, Colour(0x00000000), ImageCache::getFromMemory(channelon_png, channelon_pngSize), 1.000f, Colour(0x00000000)); channels[i] = channel; } //[/UserPreSize] setSize (440, 874); //[Constructor] You can add your own custom stuff here.. processor = ownerFilter; startTimer(1000/30); //[/Constructor] } PluginGui::~PluginGui() { //[Destructor_pre]. You can add your own custom destruction code here.. //[/Destructor_pre] groupComponent = nullptr; frequencyComboBox = nullptr; frequencyLabel = nullptr; aSlider = nullptr; aLabel = nullptr; dSlider = nullptr; dLabel = nullptr; sSlider = nullptr; dLabel2 = nullptr; rSlider = nullptr; rLabel = nullptr; attenuationSlider = nullptr; attenuationLabel = nullptr; dbLabel = nullptr; sineImageButton = nullptr; halfsineImageButton = nullptr; abssineImageButton = nullptr; quartersineImageButton = nullptr; waveLabel = nullptr; tremoloButton = nullptr; vibratoButton = nullptr; sustainButton = nullptr; keyscaleEnvButton = nullptr; frequencyLabel2 = nullptr; dbLabel2 = nullptr; groupComponent2 = nullptr; frequencyComboBox2 = nullptr; frequencyLabel3 = nullptr; aSlider2 = nullptr; aLabel2 = nullptr; dSlider2 = nullptr; dLabel3 = nullptr; sSlider2 = nullptr; dLabel4 = nullptr; rSlider2 = nullptr; rLabel2 = nullptr; attenuationSlider2 = nullptr; attenuationLabel2 = nullptr; dbLabel3 = nullptr; sineImageButton2 = nullptr; halfsineImageButton2 = nullptr; abssineImageButton2 = nullptr; quartersineImageButton2 = nullptr; waveLabel2 = nullptr; tremoloButton2 = nullptr; vibratoButton2 = nullptr; sustainButton2 = nullptr; keyscaleEnvButton2 = nullptr; frequencyLabel4 = nullptr; groupComponent3 = nullptr; tremoloSlider = nullptr; frequencyLabel5 = nullptr; dbLabel5 = nullptr; vibratoSlider = nullptr; frequencyLabel6 = nullptr; dbLabel6 = nullptr; feedbackSlider = nullptr; frequencyLabel7 = nullptr; velocityComboBox = nullptr; attenuationLabel3 = nullptr; velocityComboBox2 = nullptr; attenuationLabel4 = nullptr; alternatingsineImageButton = nullptr; camelsineImageButton = nullptr; squareImageButton = nullptr; logsawImageButton = nullptr; alternatingsineImageButton2 = nullptr; camelsineImageButton2 = nullptr; squareImageButton2 = nullptr; logsawImageButton2 = nullptr; algorithmComboBox = nullptr; frequencyLabel8 = nullptr; dbLabel4 = nullptr; keyscaleAttenuationComboBox2 = nullptr; keyscaleAttenuationComboBox = nullptr; groupComponent4 = nullptr; //[Destructor]. You can add your own custom destruction code here.. //[/Destructor] } //============================================================================== void PluginGui::paint (Graphics& g) { //[UserPrePaint] Add your own custom painting code here.. //[/UserPrePaint] g.fillAll (Colours::black); //[UserPaint] Add your own custom painting code here.. //[/UserPaint] } void PluginGui::resized() { groupComponent->setBounds (16, 8, 408, 336); frequencyComboBox->setBounds (128, 80, 72, 24); frequencyLabel->setBounds (32, 80, 80, 24); aSlider->setBounds (40, 208, 48, 72); aLabel->setBounds (40, 280, 48, 24); dSlider->setBounds (104, 208, 48, 72); dLabel->setBounds (104, 280, 48, 24); sSlider->setBounds (168, 208, 48, 72); dLabel2->setBounds (168, 280, 48, 24); rSlider->setBounds (232, 208, 48, 72); rLabel->setBounds (232, 280, 48, 24); attenuationSlider->setBounds (312, 200, 72, 96); attenuationLabel->setBounds (312, 304, 96, 24); dbLabel->setBounds (376, 272, 40, 24); sineImageButton->setBounds (88, 40, 34, 30); halfsineImageButton->setBounds (128, 40, 34, 30); abssineImageButton->setBounds (168, 40, 34, 30); quartersineImageButton->setBounds (208, 40, 34, 30); waveLabel->setBounds (32, 40, 48, 24); tremoloButton->setBounds (144, 120, 96, 24); vibratoButton->setBounds (40, 120, 96, 24); sustainButton->setBounds (40, 304, 96, 24); keyscaleEnvButton->setBounds (128, 304, 184, 24); frequencyLabel2->setBounds (248, 120, 152, 24); dbLabel2->setBounds (336, 96, 72, 16); groupComponent2->setBounds (16, 352, 408, 336); frequencyComboBox2->setBounds (128, 424, 72, 24); frequencyLabel3->setBounds (32, 424, 80, 24); aSlider2->setBounds (40, 552, 48, 72); aLabel2->setBounds (40, 624, 48, 24); dSlider2->setBounds (104, 552, 48, 72); dLabel3->setBounds (104, 624, 48, 24); sSlider2->setBounds (168, 552, 48, 72); dLabel4->setBounds (168, 624, 48, 24); rSlider2->setBounds (232, 552, 48, 72); rLabel2->setBounds (232, 624, 48, 24); attenuationSlider2->setBounds (312, 544, 72, 96); attenuationLabel2->setBounds (312, 648, 96, 24); dbLabel3->setBounds (376, 616, 40, 24); sineImageButton2->setBounds (88, 384, 34, 30); halfsineImageButton2->setBounds (128, 384, 34, 30); abssineImageButton2->setBounds (168, 384, 34, 30); quartersineImageButton2->setBounds (208, 384, 34, 30); waveLabel2->setBounds (32, 384, 48, 24); tremoloButton2->setBounds (152, 464, 96, 24); vibratoButton2->setBounds (40, 464, 96, 24); sustainButton2->setBounds (40, 648, 96, 24); keyscaleEnvButton2->setBounds (128, 648, 184, 24); frequencyLabel4->setBounds (248, 464, 152, 24); groupComponent3->setBounds (16, 696, 408, 96); tremoloSlider->setBounds (48, 728, 112, 24); frequencyLabel5->setBounds (48, 752, 152, 24); dbLabel5->setBounds (160, 720, 40, 40); vibratoSlider->setBounds (240, 728, 112, 24); frequencyLabel6->setBounds (240, 752, 152, 24); dbLabel6->setBounds (352, 720, 47, 40); feedbackSlider->setBounds (112, 168, 136, 24); frequencyLabel7->setBounds (32, 168, 80, 24); velocityComboBox->setBounds (336, 168, 72, 24); attenuationLabel3->setBounds (272, 168, 64, 24); velocityComboBox2->setBounds (336, 512, 72, 24); attenuationLabel4->setBounds (272, 512, 64, 24); alternatingsineImageButton->setBounds (288, 40, 34, 30); camelsineImageButton->setBounds (248, 40, 34, 30); squareImageButton->setBounds (328, 40, 34, 30); logsawImageButton->setBounds (368, 40, 34, 30); alternatingsineImageButton2->setBounds (290, 385, 34, 30); camelsineImageButton2->setBounds (250, 385, 34, 30); squareImageButton2->setBounds (330, 385, 34, 30); logsawImageButton2->setBounds (370, 385, 34, 30); algorithmComboBox->setBounds (128, 504, 112, 24); frequencyLabel8->setBounds (32, 504, 80, 24); dbLabel4->setBounds (336, 440, 72, 16); keyscaleAttenuationComboBox2->setBounds (264, 432, 72, 24); keyscaleAttenuationComboBox->setBounds (264, 88, 72, 24); groupComponent4->setBounds (16, 800, 408, 64); //[UserResized] Add your own custom resize handling here.. for (unsigned int i = 0; i < channels.size(); ++i) channels[i]->setBounds(32+44*i+4, 824+4, 16, 16); //[/UserResized] } void PluginGui::comboBoxChanged (ComboBox* comboBoxThatHasChanged) { //[UsercomboBoxChanged_Pre] //[/UsercomboBoxChanged_Pre] if (comboBoxThatHasChanged == frequencyComboBox) { //[UserComboBoxCode_frequencyComboBox] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId(); if (id > 15) id = 0; processor->setEnumParameter("Modulator Frequency Multiplier", id); //[/UserComboBoxCode_frequencyComboBox] } else if (comboBoxThatHasChanged == frequencyComboBox2) { //[UserComboBoxCode_frequencyComboBox2] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId(); if (id > 15) id = 0; processor->setEnumParameter("Carrier Frequency Multiplier", id); //[/UserComboBoxCode_frequencyComboBox2] } else if (comboBoxThatHasChanged == velocityComboBox) { //[UserComboBoxCode_velocityComboBox] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId() - 1; processor->setEnumParameter("Modulator Velocity Sensitivity", id); //[/UserComboBoxCode_velocityComboBox] } else if (comboBoxThatHasChanged == velocityComboBox2) { //[UserComboBoxCode_velocityComboBox2] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId() - 1; processor->setEnumParameter("Carrier Velocity Sensitivity", id); //[/UserComboBoxCode_velocityComboBox2] } else if (comboBoxThatHasChanged == algorithmComboBox) { //[UserComboBoxCode_algorithmComboBox] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId() - 1; processor->setEnumParameter("Algorithm", id); //[/UserComboBoxCode_algorithmComboBox] } else if (comboBoxThatHasChanged == keyscaleAttenuationComboBox2) { //[UserComboBoxCode_keyscaleAttenuationComboBox2] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId() - 1; processor->setEnumParameter("Carrier Keyscale Level", id); //[/UserComboBoxCode_keyscaleAttenuationComboBox2] } else if (comboBoxThatHasChanged == keyscaleAttenuationComboBox) { //[UserComboBoxCode_keyscaleAttenuationComboBox] -- add your combo box handling code here.. int id = comboBoxThatHasChanged->getSelectedId() - 1; processor->setEnumParameter("Modulator Keyscale Level", id); //[/UserComboBoxCode_keyscaleAttenuationComboBox] } //[UsercomboBoxChanged_Post] //[/UsercomboBoxChanged_Post] } void PluginGui::sliderValueChanged (Slider* sliderThatWasMoved) { //[UsersliderValueChanged_Pre] //[/UsersliderValueChanged_Pre] if (sliderThatWasMoved == aSlider) { //[UserSliderCode_aSlider] -- add your slider handling code here.. processor->setIntParameter("Modulator Attack", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_aSlider] } else if (sliderThatWasMoved == dSlider) { //[UserSliderCode_dSlider] -- add your slider handling code here.. processor->setIntParameter("Modulator Decay", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_dSlider] } else if (sliderThatWasMoved == sSlider) { //[UserSliderCode_sSlider] -- add your slider handling code here.. processor->setIntParameter("Modulator Sustain Level", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_sSlider] } else if (sliderThatWasMoved == rSlider) { //[UserSliderCode_rSlider] -- add your slider handling code here.. processor->setIntParameter("Modulator Release", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_rSlider] } else if (sliderThatWasMoved == attenuationSlider) { //[UserSliderCode_attenuationSlider] -- add your slider handling code here.. processor->setEnumParameter("Modulator Attenuation", -(int)(sliderThatWasMoved->getValue()/0.75)); //[/UserSliderCode_attenuationSlider] } else if (sliderThatWasMoved == aSlider2) { //[UserSliderCode_aSlider2] -- add your slider handling code here.. processor->setIntParameter("Carrier Attack", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_aSlider2] } else if (sliderThatWasMoved == dSlider2) { //[UserSliderCode_dSlider2] -- add your slider handling code here.. processor->setIntParameter("Carrier Decay", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_dSlider2] } else if (sliderThatWasMoved == sSlider2) { //[UserSliderCode_sSlider2] -- add your slider handling code here.. processor->setIntParameter("Carrier Sustain Level", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_sSlider2] } else if (sliderThatWasMoved == rSlider2) { //[UserSliderCode_rSlider2] -- add your slider handling code here.. processor->setIntParameter("Carrier Release", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_rSlider2] } else if (sliderThatWasMoved == attenuationSlider2) { //[UserSliderCode_attenuationSlider2] -- add your slider handling code here.. processor->setEnumParameter("Carrier Attenuation", -(int)(sliderThatWasMoved->getValue()/0.75)); //[/UserSliderCode_attenuationSlider2] } else if (sliderThatWasMoved == tremoloSlider) { //[UserSliderCode_tremoloSlider] -- add your slider handling code here.. processor->setEnumParameter("Tremolo Depth", sliderThatWasMoved->getValue() < 2.0 ? 0 : 1); //[/UserSliderCode_tremoloSlider] } else if (sliderThatWasMoved == vibratoSlider) { //[UserSliderCode_vibratoSlider] -- add your slider handling code here.. processor->setEnumParameter("Vibrato Depth", sliderThatWasMoved->getValue() < 8.0 ? 0 : 1); //[/UserSliderCode_vibratoSlider] } else if (sliderThatWasMoved == feedbackSlider) { //[UserSliderCode_feedbackSlider] -- add your slider handling code here.. processor->setIntParameter("Modulator Feedback", (int)sliderThatWasMoved->getValue()); //[/UserSliderCode_feedbackSlider] } //[UsersliderValueChanged_Post] //[/UsersliderValueChanged_Post] } void PluginGui::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if (buttonThatWasClicked == sineImageButton) { //[UserButtonCode_sineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 0); //[/UserButtonCode_sineImageButton] } else if (buttonThatWasClicked == halfsineImageButton) { //[UserButtonCode_halfsineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 1); //[/UserButtonCode_halfsineImageButton] } else if (buttonThatWasClicked == abssineImageButton) { //[UserButtonCode_abssineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 2); //[/UserButtonCode_abssineImageButton] } else if (buttonThatWasClicked == quartersineImageButton) { //[UserButtonCode_quartersineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 3); //[/UserButtonCode_quartersineImageButton] } else if (buttonThatWasClicked == tremoloButton) { //[UserButtonCode_tremoloButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Tremolo", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_tremoloButton] } else if (buttonThatWasClicked == vibratoButton) { //[UserButtonCode_vibratoButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Vibrato", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_vibratoButton] } else if (buttonThatWasClicked == sustainButton) { //[UserButtonCode_sustainButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Sustain", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_sustainButton] } else if (buttonThatWasClicked == keyscaleEnvButton) { //[UserButtonCode_keyscaleEnvButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Keyscale Rate", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_keyscaleEnvButton] } else if (buttonThatWasClicked == sineImageButton2) { //[UserButtonCode_sineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 0); //[/UserButtonCode_sineImageButton2] } else if (buttonThatWasClicked == halfsineImageButton2) { //[UserButtonCode_halfsineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 1); //[/UserButtonCode_halfsineImageButton2] } else if (buttonThatWasClicked == abssineImageButton2) { //[UserButtonCode_abssineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 2); //[/UserButtonCode_abssineImageButton2] } else if (buttonThatWasClicked == quartersineImageButton2) { //[UserButtonCode_quartersineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 3); //[/UserButtonCode_quartersineImageButton2] } else if (buttonThatWasClicked == tremoloButton2) { //[UserButtonCode_tremoloButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Tremolo", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_tremoloButton2] } else if (buttonThatWasClicked == vibratoButton2) { //[UserButtonCode_vibratoButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Vibrato", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_vibratoButton2] } else if (buttonThatWasClicked == sustainButton2) { //[UserButtonCode_sustainButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Sustain", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_sustainButton2] } else if (buttonThatWasClicked == keyscaleEnvButton2) { //[UserButtonCode_keyscaleEnvButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Keyscale Rate", buttonThatWasClicked->getToggleState() ? 1 : 0); //[/UserButtonCode_keyscaleEnvButton2] } else if (buttonThatWasClicked == alternatingsineImageButton) { //[UserButtonCode_alternatingsineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 4); //[/UserButtonCode_alternatingsineImageButton] } else if (buttonThatWasClicked == camelsineImageButton) { //[UserButtonCode_camelsineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 5); //[/UserButtonCode_camelsineImageButton] } else if (buttonThatWasClicked == squareImageButton) { //[UserButtonCode_squareImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 6); //[/UserButtonCode_squareImageButton] } else if (buttonThatWasClicked == logsawImageButton) { //[UserButtonCode_logsawImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 7); //[/UserButtonCode_logsawImageButton] } else if (buttonThatWasClicked == alternatingsineImageButton2) { //[UserButtonCode_alternatingsineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 4); //[/UserButtonCode_alternatingsineImageButton2] } else if (buttonThatWasClicked == camelsineImageButton2) { //[UserButtonCode_camelsineImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 5); //[/UserButtonCode_camelsineImageButton2] } else if (buttonThatWasClicked == squareImageButton2) { //[UserButtonCode_squareImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 6); //[/UserButtonCode_squareImageButton2] } else if (buttonThatWasClicked == logsawImageButton2) { //[UserButtonCode_logsawImageButton2] -- add your button handler code here.. processor->setEnumParameter("Carrier Wave", 7); //[/UserButtonCode_logsawImageButton2] } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] } //[MiscUserCode] You can add your own definitions of your custom methods or any other code here... //============================================================================== // These methods implement the FileDragAndDropTarget interface, and allow our component // to accept drag-and-drop of files.. bool PluginGui::isInterestedInFileDrag (const StringArray& files) { return 1 == files.size() && files[0].toLowerCase().endsWith(".sbi"); } void PluginGui::fileDragEnter (const StringArray& files, int x, int y) { } void PluginGui::fileDragMove (const StringArray& files, int x, int y) { } void PluginGui::fileDragExit (const StringArray& files) { } void PluginGui::filesDropped (const StringArray& files, int x, int y) { if (isInterestedInFileDrag(files)) { processor->loadInstrumentFromFile(files[0]); } } void PluginGui::timerCallback() { for (int i = 0; i < Hiopl::CHANNELS; ++i) channels[i]->setState(processor->isChannelActive(i+1) ? Button::buttonDown : Button::buttonNormal); } //[/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: full_sine_png, 203, "../img/full_sine.png" static const unsigned char resource_PluginGui_full_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,146,73,68,65,84,88,133,237,151,81,14,64, 48,16,68,183,226,94,110,225,18,110,230,146,252,116,35,153,166,97,219,21,131,125,63,66,144,241,76,75,147,136,108,66,192,240,116,0,101,60,61,99,133,253,249,158,32,47,48,162,38,208,64,237,120,39,52,70,146, 224,168,185,250,196,206,102,104,140,68,16,228,232,72,235,59,119,234,10,141,145,8,130,148,51,235,212,120,39,235,117,75,222,230,110,209,24,41,103,86,43,78,163,141,198,72,4,65,250,59,162,116,126,181,105, 140,68,16,196,175,35,74,227,191,238,135,141,40,198,245,208,15,140,24,161,49,178,3,63,99,23,114,126,178,233,88,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::full_sine_png = (const char*) resource_PluginGui_full_sine_png; const int PluginGui::full_sine_pngSize = 203; // JUCER_RESOURCE: half_sine_png, 179, "../img/half_sine.png" static const unsigned char resource_PluginGui_half_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,122,73,68,65,84,88,133,237,148,65,10,128, 32,20,5,191,209,189,186,69,135,236,22,157,172,22,33,193,72,20,102,248,130,55,155,40,50,198,73,77,17,177,133,0,67,111,129,204,120,251,198,130,251,249,27,145,31,20,201,37,88,224,234,249,75,100,138,164,224, 174,121,58,227,198,101,100,138,88,132,156,107,164,246,159,55,90,43,50,69,44,66,202,147,117,170,252,82,237,184,245,184,200,20,41,79,214,78,200,20,177,8,177,8,177,8,177,8,177,8,177,8,217,1,254,115,12,122, 78,109,41,249,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::half_sine_png = (const char*) resource_PluginGui_half_sine_png; const int PluginGui::half_sine_pngSize = 179; // JUCER_RESOURCE: abs_sine_png, 181, "../img/abs_sine.png" static const unsigned char resource_PluginGui_abs_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,124,73,68,65,84,88,133,237,148,81,10,128, 32,16,5,215,232,94,221,162,67,118,201,250,81,130,17,209,182,192,13,222,252,21,62,153,125,150,201,204,78,11,192,50,91,160,176,118,87,28,120,222,7,119,126,152,251,65,35,101,34,78,210,122,255,50,23,166,145, 100,252,107,122,19,183,214,121,115,153,48,141,72,132,220,223,200,232,25,147,143,114,97,26,145,8,169,111,214,205,185,147,55,151,9,211,72,125,179,78,34,76,35,18,33,18,33,18,33,18,33,18,33,18,33,23,197,62, 17,185,230,123,254,103,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::abs_sine_png = (const char*) resource_PluginGui_abs_sine_png; const int PluginGui::abs_sine_pngSize = 181; // JUCER_RESOURCE: quarter_sine_png, 181, "../img/quarter_sine.png" static const unsigned char resource_PluginGui_quarter_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,124,73,68,65,84,88,133,237,150,81,10, 128,32,16,68,215,232,94,221,162,67,118,139,78,150,31,41,209,196,162,174,31,205,199,60,8,177,28,120,77,33,38,51,187,140,128,229,111,129,74,91,228,40,215,40,131,57,154,70,86,247,73,164,133,137,28,113,35, 245,141,118,152,183,136,230,10,52,141,72,4,121,254,17,252,198,189,68,115,0,77,35,18,65,190,251,200,230,172,244,238,207,230,206,123,160,105,36,153,206,35,111,36,130,72,4,145,8,34,17,68,34,136,68,144,12, 123,138,13,78,65,207,81,74,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::quarter_sine_png = (const char*) resource_PluginGui_quarter_sine_png; const int PluginGui::quarter_sine_pngSize = 181; // JUCER_RESOURCE: camel_sine_png, 174, "../img/camel_sine.png" static const unsigned char resource_PluginGui_camel_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,117,73,68,65,84,88,133,237,148,209,9,192, 32,12,68,99,233,94,221,162,67,118,139,78,86,63,218,80,56,41,129,40,245,62,238,129,136,6,225,229,132,20,51,187,140,128,101,182,128,243,45,114,60,43,91,31,38,242,51,107,115,227,93,238,201,115,18,154,68, 36,130,20,243,57,18,253,117,111,61,128,38,17,137,32,18,65,218,201,186,5,47,122,235,200,121,111,52,137,188,115,100,50,52,137,72,4,145,8,34,17,68,34,136,68,16,137,32,21,146,46,14,97,109,79,27,36,0,0,0,0, 73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::camel_sine_png = (const char*) resource_PluginGui_camel_sine_png; const int PluginGui::camel_sine_pngSize = 174; // JUCER_RESOURCE: alternating_sine_png, 197, "../img/alternating_sine.png" static const unsigned char resource_PluginGui_alternating_sine_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,140,73,68,65,84,88,133,99,100,96, 96,248,207,48,8,0,211,64,59,0,6,112,59,100,21,20,15,184,67,232,12,88,48,68,96,161,16,134,131,79,35,48,104,66,100,212,33,232,128,145,1,86,142,16,74,11,52,78,43,131,38,68,70,29,130,14,70,29,130,14,48,75, 86,123,2,58,112,201,103,67,233,169,36,186,224,32,132,26,52,33,130,40,71,8,1,26,151,51,131,38,68,70,29,130,14,70,29,130,14,136,207,53,48,64,163,22,220,160,9,145,81,135,160,3,210,211,8,12,80,185,197,54, 12,66,132,202,96,208,132,8,0,67,200,18,200,95,246,147,104,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::alternating_sine_png = (const char*) resource_PluginGui_alternating_sine_png; const int PluginGui::alternating_sine_pngSize = 197; // JUCER_RESOURCE: square_png, 179, "../img/square.png" static const unsigned char resource_PluginGui_square_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,122,73,68,65,84,88,133,237,150,177,17,128,48, 12,3,29,142,189,216,130,37,216,44,75,66,99,83,40,85,34,238,80,161,111,146,198,190,143,10,59,45,34,238,16,96,251,91,160,216,223,91,39,59,157,92,185,96,34,197,236,203,216,36,19,153,68,44,130,88,4,177,8, 98,17,100,156,172,199,98,167,217,186,43,207,156,228,50,137,180,96,255,35,181,107,86,119,148,90,34,22,65,44,130,88,4,177,8,50,238,154,85,200,223,188,76,34,252,174,249,8,153,68,30,246,154,9,40,60,195,35, 102,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::square_png = (const char*) resource_PluginGui_square_png; const int PluginGui::square_pngSize = 179; // JUCER_RESOURCE: logarithmic_saw_png, 206, "../img/logarithmic_saw.png" static const unsigned char resource_PluginGui_logarithmic_saw_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,34,0,0,0,30,8,6,0,0,0,73,255,204,20,0,0,0,149,73,68,65,84,88,133,237,150,81, 10,128,32,16,68,215,232,94,221,194,75,116,158,46,225,37,235,103,37,24,19,139,218,118,64,31,136,172,32,12,15,87,13,34,178,11,1,147,119,128,204,25,36,233,112,15,226,204,8,130,148,65,156,206,10,177,17,39, 104,130,204,197,74,212,57,65,109,12,177,145,12,154,193,245,143,33,54,178,64,189,65,125,247,142,193,125,200,170,179,26,166,49,18,196,234,63,210,58,91,208,149,52,70,234,93,243,150,134,1,164,3,35,72,237, 94,82,104,140,140,32,200,255,65,162,92,118,78,199,70,42,208,4,177,123,107,30,66,99,228,0,184,114,16,107,149,79,109,141,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::logarithmic_saw_png = (const char*) resource_PluginGui_logarithmic_saw_png; const int PluginGui::logarithmic_saw_pngSize = 206; // JUCER_RESOURCE: channeloff_png, 414, "../img/channeloff.png" static const unsigned char resource_PluginGui_channeloff_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,0,31,243,255,97,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127, 0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,222,8,25,20,6,56,156,246,144,159,0,0,0,29,105,84,88,116,67,111,109,109,101,110,116,0,0,0,0,0,67,114,101,97,116,101,100,32, 119,105,116,104,32,71,73,77,80,100,46,101,7,0,0,1,2,73,68,65,84,56,203,165,211,61,78,66,65,20,5,224,143,193,82,119,224,62,104,40,166,196,194,202,10,66,65,137,149,75,120,121,193,21,216,104,108,164,32,178, 128,183,1,94,66,67,66,172,172,140,27,176,178,192,202,70,139,55,26,2,138,2,39,153,102,230,220,159,185,231,220,154,85,100,14,113,138,46,154,233,118,138,17,10,185,183,101,122,88,9,110,99,129,11,20,104,164, 83,164,187,69,226,252,128,204,64,230,67,166,239,55,100,250,137,51,176,86,185,122,104,249,11,153,86,226,182,161,150,254,188,192,185,220,141,255,160,234,242,26,71,117,209,25,142,229,27,90,95,69,105,46,58, 193,107,72,211,30,218,30,67,116,67,146,106,178,67,130,9,154,193,158,8,201,36,113,135,216,136,105,72,14,235,237,144,160,135,81,248,118,92,182,133,10,21,183,129,162,174,244,46,122,194,157,104,166,244,252, 167,145,24,163,35,247,80,79,186,62,138,14,112,43,122,81,154,111,168,60,198,165,220,85,229,196,245,101,186,199,44,233,60,89,26,88,47,181,221,145,27,127,133,212,246,93,231,79,44,229,73,181,37,137,229,213, 0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::channeloff_png = (const char*) resource_PluginGui_channeloff_png; const int PluginGui::channeloff_pngSize = 414; // JUCER_RESOURCE: channelon_png, 326, "../img/channelon.png" static const unsigned char resource_PluginGui_channelon_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,0,31,243,255,97,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127, 0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,222,8,25,20,6,39,17,254,157,106,0,0,0,29,105,84,88,116,67,111,109,109,101,110,116,0,0,0,0,0,67,114,101,97,116,101,100,32, 119,105,116,104,32,71,73,77,80,100,46,101,7,0,0,0,170,73,68,65,84,56,203,173,147,177,13,194,48,16,69,159,143,148,176,81,20,101,129,84,84,68,217,5,89,176,0,204,16,193,0,30,0,69,202,8,169,88,131,12,64,145, 139,176,82,64,116,230,117,182,252,206,242,249,159,99,201,145,45,80,1,13,144,235,110,15,180,64,192,51,198,199,221,66,62,0,55,190,83,227,185,207,139,77,36,159,128,11,191,217,83,146,209,241,248,20,152,110, 94,35,207,20,148,60,233,24,156,190,249,133,141,157,104,195,172,84,162,221,182,210,72,244,85,22,114,33,17,209,144,88,233,69,19,102,165,21,32,36,20,8,162,217,174,13,114,141,103,156,146,216,49,80,146,1,197, 74,249,140,231,250,151,97,114,169,227,252,6,230,208,38,246,228,75,209,233,0,0,0,0,73,69,78,68,174,66,96,130,0,0}; const char* PluginGui::channelon_png = (const char*) resource_PluginGui_channelon_png; const int PluginGui::channelon_pngSize = 326; //[EndFile] You can add extra defines here... //[/EndFile]