diff --git a/Source/PluginGui.cpp b/Source/PluginGui.cpp index c3e41c9..215ad1d 100644 --- a/Source/PluginGui.cpp +++ b/Source/PluginGui.cpp @@ -105,7 +105,22 @@ void PluginGui::updateFromParameters() algorithmComboBox->setSelectedItemIndex(processor->getEnumParameter("Algorithm"), true); + tooltipWindow.setColour(tooltipWindow.backgroundColourId, Colour(0x0)); + tooltipWindow.setColour(tooltipWindow.textColourId, Colour(COLOUR_MID)); } + +void PluginGui::setRecordButtonState(bool recording) { + if (recording) { + recordButton->setColour(TextButton::buttonColourId, Colour(COLOUR_RECORDING)); + recordButton->setButtonText("Recording.."); + recordButton->setColour(ToggleButton::textColourId, Colour(COLOUR_RECORDING)); + } else { + recordButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); + recordButton->setButtonText("Record to DRO"); + recordButton->setColour(ToggleButton::textColourId, Colour(COLOUR_MID)); + } +} + //[/MiscUserDefs] //============================================================================== @@ -127,6 +142,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel = new Label ("frequency label", TRANS("Frequency"))); + frequencyLabel->setTooltip (TRANS("Multiplier applied to base note frequency")); frequencyLabel->setFont (Font (15.00f, Font::plain)); frequencyLabel->setJustificationType (Justification::centredLeft); frequencyLabel->setEditable (false, false, false); @@ -148,6 +164,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (aLabel = new Label ("a label", TRANS("A"))); + aLabel->setTooltip (TRANS("Attack rate")); aLabel->setFont (Font (15.00f, Font::plain)); aLabel->setJustificationType (Justification::centred); aLabel->setEditable (false, false, false); @@ -169,6 +186,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (dLabel = new Label ("d label", TRANS("D"))); + dLabel->setTooltip (TRANS("Decay rate")); dLabel->setFont (Font (15.00f, Font::plain)); dLabel->setJustificationType (Justification::centred); dLabel->setEditable (false, false, false); @@ -190,6 +208,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (dLabel2 = new Label ("d label", TRANS("S"))); + dLabel2->setTooltip (TRANS("Sustain level")); dLabel2->setFont (Font (15.00f, Font::plain)); dLabel2->setJustificationType (Justification::centred); dLabel2->setEditable (false, false, false); @@ -211,6 +230,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (rLabel = new Label ("r label", TRANS("R"))); + rLabel->setTooltip (TRANS("Release rate")); rLabel->setFont (Font (15.00f, Font::plain)); rLabel->setJustificationType (Justification::centred); rLabel->setEditable (false, false, false); @@ -231,6 +251,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (attenuationLabel = new Label ("attenuation label", TRANS("Attenuation"))); + attenuationLabel->setTooltip (TRANS("Final output level adjustment")); attenuationLabel->setFont (Font (15.00f, Font::plain)); attenuationLabel->setJustificationType (Justification::centred); attenuationLabel->setEditable (false, false, false); @@ -249,7 +270,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) dbLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sineImageButton = new ImageButton ("sine image button")); - sineImageButton->setTooltip (TRANS("sine")); sineImageButton->setButtonText (TRANS("Sine")); sineImageButton->setRadioGroupId (1); sineImageButton->addListener (this); @@ -259,7 +279,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (halfsineImageButton = new ImageButton ("half sine image button")); - halfsineImageButton->setTooltip (TRANS("half sine")); halfsineImageButton->setButtonText (TRANS("Half Sine")); halfsineImageButton->setRadioGroupId (1); halfsineImageButton->addListener (this); @@ -269,7 +288,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (abssineImageButton = new ImageButton ("abs sine image button")); - abssineImageButton->setTooltip (TRANS("abs sine")); abssineImageButton->setButtonText (TRANS("Abs Sine")); abssineImageButton->setRadioGroupId (1); abssineImageButton->addListener (this); @@ -279,7 +297,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (quartersineImageButton = new ImageButton ("quarter sine image button")); - quartersineImageButton->setTooltip (TRANS("quarter sine")); quartersineImageButton->setButtonText (TRANS("Quarter Sine")); quartersineImageButton->setRadioGroupId (1); quartersineImageButton->addListener (this); @@ -308,17 +325,20 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) vibratoButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (sustainButton = new ToggleButton ("sustain button")); + sustainButton->setTooltip (TRANS("Enable or disable sustain when note is held")); sustainButton->setButtonText (TRANS("Sustain")); sustainButton->addListener (this); sustainButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (keyscaleEnvButton = new ToggleButton ("keyscale env button")); + keyscaleEnvButton->setTooltip (TRANS("Speed up envelope rate with note frequency")); keyscaleEnvButton->setButtonText (TRANS("Keyscale Envelope Rate")); keyscaleEnvButton->addListener (this); keyscaleEnvButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyLabel2 = new Label ("frequency label", TRANS("Keyscale Attenuation"))); + frequencyLabel2->setTooltip (TRANS("Attenuate amplitude with note frequency")); frequencyLabel2->setFont (Font (15.00f, Font::plain)); frequencyLabel2->setJustificationType (Justification::centred); frequencyLabel2->setEditable (false, false, false); @@ -351,6 +371,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel3 = new Label ("frequency label", TRANS("Frequency"))); + frequencyLabel3->setTooltip (TRANS("Multiplier applied to base note frequency")); frequencyLabel3->setFont (Font (15.00f, Font::plain)); frequencyLabel3->setJustificationType (Justification::centredLeft); frequencyLabel3->setEditable (false, false, false); @@ -371,6 +392,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (aLabel2 = new Label ("a label", TRANS("A"))); + aLabel2->setTooltip (TRANS("Attack rate")); aLabel2->setFont (Font (15.00f, Font::plain)); aLabel2->setJustificationType (Justification::centred); aLabel2->setEditable (false, false, false); @@ -391,6 +413,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (dLabel3 = new Label ("d label", TRANS("D"))); + dLabel3->setTooltip (TRANS("Decay rate")); dLabel3->setFont (Font (15.00f, Font::plain)); dLabel3->setJustificationType (Justification::centred); dLabel3->setEditable (false, false, false); @@ -411,6 +434,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (dLabel4 = new Label ("d label", TRANS("S"))); + dLabel4->setTooltip (TRANS("Sustain level")); dLabel4->setFont (Font (15.00f, Font::plain)); dLabel4->setJustificationType (Justification::centred); dLabel4->setEditable (false, false, false); @@ -431,6 +455,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (rLabel2 = new Label ("r label", TRANS("R"))); + rLabel2->setTooltip (TRANS("Release rate")); rLabel2->setFont (Font (15.00f, Font::plain)); rLabel2->setJustificationType (Justification::centred); rLabel2->setEditable (false, false, false); @@ -451,6 +476,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (attenuationLabel2 = new Label ("attenuation label", TRANS("Attenuation"))); + attenuationLabel2->setTooltip (TRANS("Final output level adjustment")); attenuationLabel2->setFont (Font (15.00f, Font::plain)); attenuationLabel2->setJustificationType (Justification::centred); attenuationLabel2->setEditable (false, false, false); @@ -469,7 +495,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) dbLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (sineImageButton2 = new ImageButton ("sine image button")); - sineImageButton2->setTooltip (TRANS("sine")); sineImageButton2->setButtonText (TRANS("Sine")); sineImageButton2->setRadioGroupId (2); sineImageButton2->addListener (this); @@ -479,7 +504,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (halfsineImageButton2 = new ImageButton ("half sine image button")); - halfsineImageButton2->setTooltip (TRANS("half sine")); halfsineImageButton2->setButtonText (TRANS("Half Sine")); halfsineImageButton2->setRadioGroupId (2); halfsineImageButton2->addListener (this); @@ -489,7 +513,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (abssineImageButton2 = new ImageButton ("abs sine image button")); - abssineImageButton2->setTooltip (TRANS("abs sine")); abssineImageButton2->setButtonText (TRANS("Abs Sine")); abssineImageButton2->setRadioGroupId (2); abssineImageButton2->addListener (this); @@ -499,7 +522,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (quartersineImageButton2 = new ImageButton ("quarter sine image button")); - quartersineImageButton2->setTooltip (TRANS("quarter sine")); quartersineImageButton2->setButtonText (TRANS("Quarter Sine")); quartersineImageButton2->setRadioGroupId (2); quartersineImageButton2->addListener (this); @@ -528,17 +550,20 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) vibratoButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (sustainButton2 = new ToggleButton ("sustain button")); + sustainButton2->setTooltip (TRANS("Enable or disable sustain when note is held")); sustainButton2->setButtonText (TRANS("Sustain")); sustainButton2->addListener (this); sustainButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (keyscaleEnvButton2 = new ToggleButton ("keyscale env button")); + keyscaleEnvButton2->setTooltip (TRANS("Speed up envelope rate with note frequency")); keyscaleEnvButton2->setButtonText (TRANS("Keyscale Envelope Rate")); keyscaleEnvButton2->addListener (this); keyscaleEnvButton2->setColour (ToggleButton::textColourId, Colour (0xff007f00)); addAndMakeVisible (frequencyLabel4 = new Label ("frequency label", TRANS("Keyscale Attenuation"))); + frequencyLabel4->setTooltip (TRANS("Attenuate amplitude with note frequency")); frequencyLabel4->setFont (Font (15.00f, Font::plain)); frequencyLabel4->setJustificationType (Justification::centred); frequencyLabel4->setEditable (false, false, false); @@ -565,8 +590,9 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel5 = new Label ("frequency label", TRANS("Tremolo Depth\n"))); + frequencyLabel5->setTooltip (TRANS("OPL global tremolo depth")); frequencyLabel5->setFont (Font (15.00f, Font::plain)); - frequencyLabel5->setJustificationType (Justification::centred); + frequencyLabel5->setJustificationType (Justification::centredLeft); frequencyLabel5->setEditable (false, false, false); frequencyLabel5->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel5->setColour (TextEditor::textColourId, Colours::black); @@ -595,8 +621,9 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel6 = new Label ("frequency label", TRANS("Vibrato Depth"))); + frequencyLabel6->setTooltip (TRANS("OPL global vibrato depth")); frequencyLabel6->setFont (Font (15.00f, Font::plain)); - frequencyLabel6->setJustificationType (Justification::centred); + frequencyLabel6->setJustificationType (Justification::centredLeft); frequencyLabel6->setEditable (false, false, false); frequencyLabel6->setColour (Label::textColourId, Colour (0xff007f00)); frequencyLabel6->setColour (TextEditor::textColourId, Colours::black); @@ -604,6 +631,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (dbLabel6 = new Label ("db label", TRANS("cents\n"))); + dbLabel6->setTooltip (TRANS("A unit of pitch; 100 cents per semitone")); dbLabel6->setFont (Font (15.00f, Font::plain)); dbLabel6->setJustificationType (Justification::centred); dbLabel6->setEditable (false, false, false); @@ -625,6 +653,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel7 = new Label ("frequency label", TRANS("Feedback"))); + frequencyLabel7->setTooltip (TRANS("Extent to which modulator output is fed back into itself")); frequencyLabel7->setFont (Font (15.00f, Font::plain)); frequencyLabel7->setJustificationType (Justification::centredLeft); frequencyLabel7->setEditable (false, false, false); @@ -644,6 +673,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (attenuationLabel3 = new Label ("attenuation label", TRANS("Velocity"))); + attenuationLabel3->setTooltip (TRANS("Set or disable velocity senstivity")); attenuationLabel3->setFont (Font (15.00f, Font::plain)); attenuationLabel3->setJustificationType (Justification::centredLeft); attenuationLabel3->setEditable (false, false, false); @@ -663,6 +693,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (attenuationLabel4 = new Label ("attenuation label", TRANS("Velocity"))); + attenuationLabel4->setTooltip (TRANS("Set or disable velocity senstivity")); attenuationLabel4->setFont (Font (15.00f, Font::plain)); attenuationLabel4->setJustificationType (Justification::centredLeft); attenuationLabel4->setEditable (false, false, false); @@ -671,7 +702,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) attenuationLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (alternatingsineImageButton = new ImageButton ("alternating sine image button")); - alternatingsineImageButton->setTooltip (TRANS("alternating sine")); alternatingsineImageButton->setButtonText (TRANS("Alternating Sine")); alternatingsineImageButton->setRadioGroupId (1); alternatingsineImageButton->addListener (this); @@ -681,7 +711,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (camelsineImageButton = new ImageButton ("camel sine image button")); - camelsineImageButton->setTooltip (TRANS("camel sine")); camelsineImageButton->setButtonText (TRANS("Camel Sine")); camelsineImageButton->setRadioGroupId (1); camelsineImageButton->addListener (this); @@ -691,7 +720,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (squareImageButton = new ImageButton ("square image button")); - squareImageButton->setTooltip (TRANS("square")); squareImageButton->setButtonText (TRANS("Square")); squareImageButton->setRadioGroupId (1); squareImageButton->addListener (this); @@ -701,7 +729,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (logsawImageButton = new ImageButton ("logsaw image button")); - logsawImageButton->setTooltip (TRANS("logarithmic sawtooth")); logsawImageButton->setButtonText (TRANS("Logarithmic Sawtooth")); logsawImageButton->setRadioGroupId (1); logsawImageButton->addListener (this); @@ -711,7 +738,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (alternatingsineImageButton2 = new ImageButton ("alternating sine image button")); - alternatingsineImageButton2->setTooltip (TRANS("alternating sine")); alternatingsineImageButton2->setButtonText (TRANS("Alternating Sine")); alternatingsineImageButton2->setRadioGroupId (2); alternatingsineImageButton2->addListener (this); @@ -721,7 +747,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (camelsineImageButton2 = new ImageButton ("camel sine image button")); - camelsineImageButton2->setTooltip (TRANS("camel sine")); camelsineImageButton2->setButtonText (TRANS("Camel Sine")); camelsineImageButton2->setRadioGroupId (2); camelsineImageButton2->addListener (this); @@ -731,7 +756,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (squareImageButton2 = new ImageButton ("square image button")); - squareImageButton2->setTooltip (TRANS("square")); squareImageButton2->setButtonText (TRANS("Square")); squareImageButton2->setRadioGroupId (2); squareImageButton2->addListener (this); @@ -741,7 +765,6 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) Image(), 0.500f, Colour (0x00000000), Image(), 1.000f, Colour (0x00000000)); addAndMakeVisible (logsawImageButton2 = new ImageButton ("logsaw image button")); - logsawImageButton2->setTooltip (TRANS("logarithmic sawtooth")); logsawImageButton2->setButtonText (TRANS("Logarithmic Sawtooth")); logsawImageButton2->setRadioGroupId (2); logsawImageButton2->addListener (this); @@ -761,6 +784,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (frequencyLabel8 = new Label ("frequency label", TRANS("Algorithm"))); + frequencyLabel8->setTooltip (TRANS("In additive mode, carrier and modulator output are simply summed rather than modulated")); frequencyLabel8->setFont (Font (15.00f, Font::plain)); frequencyLabel8->setJustificationType (Justification::centredLeft); frequencyLabel8->setEditable (false, false, false); @@ -825,6 +849,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (emulatorLabel = new Label ("emulator label", TRANS("DOSBox"))); + emulatorLabel->setTooltip (TRANS("Use the OPL emulator from the DOSBox project")); emulatorLabel->setFont (Font (15.00f, Font::plain)); emulatorLabel->setJustificationType (Justification::centredRight); emulatorLabel->setEditable (false, false, false); @@ -834,6 +859,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (emulatorLabel2 = new Label ("emulator label", TRANS("ZDoom"))); + emulatorLabel2->setTooltip (TRANS("Use the OPL emulator from the ZDoom project")); emulatorLabel2->setFont (Font (15.00f, Font::plain)); emulatorLabel2->setJustificationType (Justification::centredLeft); emulatorLabel2->setEditable (false, false, false); @@ -842,6 +868,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) emulatorLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (recordButton = new ToggleButton ("record button")); + recordButton->setTooltip (TRANS("Start recording all register writes to a DRO file - an OPL recording file format defined by DOSBox")); recordButton->setButtonText (TRANS("Record to DRO")); recordButton->addListener (this); recordButton->setColour (ToggleButton::textColourId, Colour (0xff007f00)); @@ -975,7 +1002,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) } //[/UserPreSize] - setSize (440, 934); + setSize (860, 516); //[Constructor] You can add your own custom stuff here.. @@ -1090,90 +1117,93 @@ void PluginGui::paint (Graphics& g) void PluginGui::resized() { - groupComponent->setBounds (16, 64, 408, 336); - frequencyComboBox->setBounds (128, 136, 72, 24); - frequencyLabel->setBounds (32, 136, 80, 24); - aSlider->setBounds (40, 264, 48, 72); - aLabel->setBounds (40, 336, 48, 24); - dSlider->setBounds (104, 264, 48, 72); - dLabel->setBounds (104, 336, 48, 24); - sSlider->setBounds (168, 264, 48, 72); - dLabel2->setBounds (168, 336, 48, 24); - rSlider->setBounds (232, 264, 48, 72); - rLabel->setBounds (232, 336, 48, 24); - attenuationSlider->setBounds (312, 256, 72, 96); - attenuationLabel->setBounds (312, 360, 96, 24); - dbLabel->setBounds (376, 328, 40, 24); - sineImageButton->setBounds (88, 96, 34, 30); - halfsineImageButton->setBounds (128, 96, 34, 30); - abssineImageButton->setBounds (168, 96, 34, 30); - quartersineImageButton->setBounds (208, 96, 34, 30); - waveLabel->setBounds (32, 96, 48, 24); - tremoloButton->setBounds (144, 176, 96, 24); - vibratoButton->setBounds (40, 176, 96, 24); - sustainButton->setBounds (40, 360, 96, 24); - keyscaleEnvButton->setBounds (128, 360, 184, 24); - frequencyLabel2->setBounds (248, 176, 152, 24); - dbLabel2->setBounds (336, 152, 72, 16); - groupComponent2->setBounds (16, 408, 408, 336); - frequencyComboBox2->setBounds (128, 480, 72, 24); - frequencyLabel3->setBounds (32, 480, 80, 24); - aSlider2->setBounds (40, 608, 48, 72); - aLabel2->setBounds (40, 680, 48, 24); - dSlider2->setBounds (104, 608, 48, 72); - dLabel3->setBounds (104, 680, 48, 24); - sSlider2->setBounds (168, 608, 48, 72); - dLabel4->setBounds (168, 680, 48, 24); - rSlider2->setBounds (232, 608, 48, 72); - rLabel2->setBounds (232, 680, 48, 24); - attenuationSlider2->setBounds (312, 600, 72, 96); - attenuationLabel2->setBounds (312, 704, 96, 24); - dbLabel3->setBounds (376, 672, 40, 24); - sineImageButton2->setBounds (88, 440, 34, 30); - halfsineImageButton2->setBounds (128, 440, 34, 30); - abssineImageButton2->setBounds (168, 440, 34, 30); - quartersineImageButton2->setBounds (208, 440, 34, 30); - waveLabel2->setBounds (32, 440, 48, 24); - tremoloButton2->setBounds (152, 520, 96, 24); - vibratoButton2->setBounds (40, 520, 96, 24); - sustainButton2->setBounds (40, 704, 96, 24); - keyscaleEnvButton2->setBounds (128, 704, 184, 24); - frequencyLabel4->setBounds (248, 520, 152, 24); - groupComponent3->setBounds (16, 752, 408, 96); - tremoloSlider->setBounds (48, 784, 112, 24); - frequencyLabel5->setBounds (48, 808, 152, 24); - dbLabel5->setBounds (160, 776, 40, 40); - vibratoSlider->setBounds (240, 784, 112, 24); - frequencyLabel6->setBounds (240, 808, 152, 24); - dbLabel6->setBounds (352, 776, 47, 40); - feedbackSlider->setBounds (112, 224, 136, 24); - frequencyLabel7->setBounds (32, 224, 80, 24); - velocityComboBox->setBounds (336, 224, 72, 24); - attenuationLabel3->setBounds (272, 224, 64, 24); - velocityComboBox2->setBounds (336, 568, 72, 24); - attenuationLabel4->setBounds (272, 568, 64, 24); - alternatingsineImageButton->setBounds (288, 96, 34, 30); - camelsineImageButton->setBounds (248, 96, 34, 30); - squareImageButton->setBounds (328, 96, 34, 30); - logsawImageButton->setBounds (368, 96, 34, 30); - alternatingsineImageButton2->setBounds (290, 441, 34, 30); - camelsineImageButton2->setBounds (250, 441, 34, 30); - squareImageButton2->setBounds (330, 441, 34, 30); - logsawImageButton2->setBounds (370, 441, 34, 30); - algorithmComboBox->setBounds (128, 560, 112, 24); - frequencyLabel8->setBounds (32, 560, 80, 24); - dbLabel4->setBounds (336, 496, 72, 16); - keyscaleAttenuationComboBox2->setBounds (264, 488, 72, 24); - keyscaleAttenuationComboBox->setBounds (264, 144, 72, 24); - groupComponent4->setBounds (16, 856, 408, 64); - groupComponent5->setBounds (16, 8, 408, 48); - emulatorSlider->setBounds (112, 24, 32, 24); - emulatorLabel->setBounds (32, 24, 72, 24); - emulatorLabel2->setBounds (152, 24, 72, 24); - recordButton->setBounds (272, 24, 128, 24); + //[UserPreResize] Add your own custom resize code here.. + //[/UserPreResize] + + groupComponent->setBounds (16, 80, 408, 344); + frequencyComboBox->setBounds (128, 152, 72, 24); + frequencyLabel->setBounds (32, 152, 80, 24); + aSlider->setBounds (40, 280, 48, 72); + aLabel->setBounds (40, 352, 48, 24); + dSlider->setBounds (104, 280, 48, 72); + dLabel->setBounds (104, 352, 48, 24); + sSlider->setBounds (168, 280, 48, 72); + dLabel2->setBounds (168, 352, 48, 24); + rSlider->setBounds (232, 280, 48, 72); + rLabel->setBounds (232, 352, 48, 24); + attenuationSlider->setBounds (312, 280, 72, 96); + attenuationLabel->setBounds (312, 384, 96, 24); + dbLabel->setBounds (376, 352, 40, 24); + sineImageButton->setBounds (88, 112, 34, 30); + halfsineImageButton->setBounds (128, 112, 34, 30); + abssineImageButton->setBounds (168, 112, 34, 30); + quartersineImageButton->setBounds (208, 112, 34, 30); + waveLabel->setBounds (32, 112, 48, 24); + tremoloButton->setBounds (144, 192, 96, 24); + vibratoButton->setBounds (40, 192, 96, 24); + sustainButton->setBounds (40, 384, 96, 24); + keyscaleEnvButton->setBounds (128, 384, 184, 24); + frequencyLabel2->setBounds (248, 184, 152, 24); + dbLabel2->setBounds (336, 156, 72, 16); + groupComponent2->setBounds (440, 80, 408, 344); + frequencyComboBox2->setBounds (552, 152, 72, 24); + frequencyLabel3->setBounds (456, 152, 80, 24); + aSlider2->setBounds (464, 280, 48, 72); + aLabel2->setBounds (464, 352, 48, 24); + dSlider2->setBounds (528, 280, 48, 72); + dLabel3->setBounds (528, 352, 48, 24); + sSlider2->setBounds (592, 280, 48, 72); + dLabel4->setBounds (592, 352, 48, 24); + rSlider2->setBounds (656, 280, 48, 72); + rLabel2->setBounds (656, 352, 48, 24); + attenuationSlider2->setBounds (736, 280, 72, 96); + attenuationLabel2->setBounds (736, 384, 96, 24); + dbLabel3->setBounds (800, 352, 40, 24); + sineImageButton2->setBounds (512, 112, 34, 30); + halfsineImageButton2->setBounds (552, 112, 34, 30); + abssineImageButton2->setBounds (592, 112, 34, 30); + quartersineImageButton2->setBounds (632, 112, 34, 30); + waveLabel2->setBounds (456, 112, 48, 24); + tremoloButton2->setBounds (576, 192, 96, 24); + vibratoButton2->setBounds (464, 192, 96, 24); + sustainButton2->setBounds (464, 384, 96, 24); + keyscaleEnvButton2->setBounds (552, 384, 184, 24); + frequencyLabel4->setBounds (672, 184, 152, 24); + groupComponent3->setBounds (16, 432, 832, 64); + tremoloSlider->setBounds (344, 456, 112, 24); + frequencyLabel5->setBounds (224, 456, 152, 24); + dbLabel5->setBounds (456, 448, 40, 40); + vibratoSlider->setBounds (672, 456, 112, 24); + frequencyLabel6->setBounds (560, 456, 152, 24); + dbLabel6->setBounds (784, 448, 47, 40); + feedbackSlider->setBounds (112, 232, 136, 24); + frequencyLabel7->setBounds (32, 232, 80, 24); + velocityComboBox->setBounds (336, 232, 72, 24); + attenuationLabel3->setBounds (272, 232, 64, 24); + velocityComboBox2->setBounds (760, 232, 72, 24); + attenuationLabel4->setBounds (696, 232, 64, 24); + alternatingsineImageButton->setBounds (288, 112, 34, 30); + camelsineImageButton->setBounds (248, 112, 34, 30); + squareImageButton->setBounds (328, 112, 34, 30); + logsawImageButton->setBounds (368, 112, 34, 30); + alternatingsineImageButton2->setBounds (714, 113, 34, 30); + camelsineImageButton2->setBounds (674, 113, 34, 30); + squareImageButton2->setBounds (754, 113, 34, 30); + logsawImageButton2->setBounds (794, 113, 34, 30); + algorithmComboBox->setBounds (552, 232, 112, 24); + frequencyLabel8->setBounds (456, 232, 80, 24); + dbLabel4->setBounds (760, 156, 72, 16); + keyscaleAttenuationComboBox2->setBounds (688, 152, 72, 24); + keyscaleAttenuationComboBox->setBounds (264, 152, 72, 24); + groupComponent4->setBounds (440, 8, 408, 64); + groupComponent5->setBounds (16, 8, 408, 64); + emulatorSlider->setBounds (200, 32, 40, 24); + emulatorLabel->setBounds (112, 32, 72, 24); + emulatorLabel2->setBounds (248, 32, 72, 24); + recordButton->setBounds (40, 456, 128, 24); //[UserResized] Add your own custom resize handling here.. for (unsigned int i = 0; i < channels.size(); ++i) - channels[i]->setBounds(32+44*i+4, 880+4, 16, 16); + channels[i]->setBounds(456+44*i+4, 36, 16, 16); //[/UserResized] } @@ -1333,24 +1363,12 @@ void PluginGui::sliderValueChanged (Slider* sliderThatWasMoved) //[/UsersliderValueChanged_Post] } -void PluginGui::setRecordButtonState(bool recording) { - if (recording) { - recordButton->setColour(TextButton::buttonColourId, Colour(COLOUR_RECORDING)); - recordButton->setButtonText("Recording.."); - recordButton->setColour(ToggleButton::textColourId, Colour(COLOUR_RECORDING)); - } else { - recordButton->setColour(TextButton::buttonColourId, Colour(COLOUR_MID)); - recordButton->setButtonText("Record to DRO"); - recordButton->setColour(ToggleButton::textColourId, Colour(COLOUR_MID)); - } -} - void PluginGui::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] - if (buttonThatWasClicked == sineImageButton) + if (buttonThatWasClicked == sineImageButton) { //[UserButtonCode_sineImageButton] -- add your button handler code here.. processor->setEnumParameter("Modulator Wave", 0); @@ -1582,414 +1600,415 @@ BEGIN_JUCER_METADATA parentClasses="public AudioProcessorEditor, public FileDragAndDropTarget, public DragAndDropContainer, public Timer" constructorParams="JuceOplvstiAudioProcessor* ownerFilter" variableInitialisers=" AudioProcessorEditor (ownerFilter)" snapPixels="8" snapActive="1" snapShown="1" overlayOpacity="0.330" - fixedSize="0" initialWidth="440" initialHeight="934"> + fixedSize="0" initialWidth="860" initialHeight="516">