diff --git a/Source/PluginGui.cpp b/Source/PluginGui.cpp index ee08ac6..5196c1a 100644 --- a/Source/PluginGui.cpp +++ b/Source/PluginGui.cpp @@ -24,6 +24,58 @@ //[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); + 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; + } + sineImageButton2->setToggleState(false, false); + halfsineImageButton2->setToggleState(false, false); + abssineImageButton2->setToggleState(false, false); + quartersineImageButton2->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; + } + + frequencyComboBox->setSelectedItemIndex(processor->getEnumParameter("Modulator Frequency Multiplier"), true); + frequencyComboBox2->setSelectedItemIndex(processor->getEnumParameter("Carrier Frequency Multiplier"), true); + + attenuationSlider->setValue(processor->getEnumParameter("Modulator Attenuation") * -0.75, NotificationType::dontSendNotification); + attenuationSlider2->setValue(processor->getEnumParameter("Carrier Attenuation") * -0.75, NotificationType::dontSendNotification); + + aSlider->setValue(processor->getIntParameter("Modulator Attack"), NotificationType::dontSendNotification); + dSlider->setValue(processor->getIntParameter("Modulator Decay"), NotificationType::dontSendNotification); + sSlider->setValue(processor->getIntParameter("Modulator Sustain Level"), NotificationType::dontSendNotification); + rSlider->setValue(processor->getIntParameter("Modulator Release"), NotificationType::dontSendNotification); + aSlider2->setValue(processor->getIntParameter("Carrier Attack"), NotificationType::dontSendNotification); + dSlider2->setValue(processor->getIntParameter("Carrier Decay"), NotificationType::dontSendNotification); + sSlider2->setValue(processor->getIntParameter("Carrier Sustain Level"), NotificationType::dontSendNotification); + rSlider2->setValue(processor->getIntParameter("Carrier Release"), NotificationType::dontSendNotification); + + keyscaleSlider->setValue(processor->getIntParameter("Modulator Keyscale Level"), NotificationType::dontSendNotification); + keyscaleSlider2->setValue(processor->getIntParameter("Carrier Keyscale Level"), NotificationType::dontSendNotification); + + + 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); +} //[/MiscUserDefs] //============================================================================== @@ -396,7 +448,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (sineImageButton2 = new ImageButton ("sine image button")); sineImageButton2->setTooltip ("sine"); sineImageButton2->setButtonText ("Sine"); - sineImageButton2->setRadioGroupId (1); + sineImageButton2->setRadioGroupId (2); sineImageButton2->addListener (this); sineImageButton2->setImages (false, true, true, @@ -406,7 +458,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (halfsineImageButton2 = new ImageButton ("half sine image button")); halfsineImageButton2->setTooltip ("half sine"); halfsineImageButton2->setButtonText ("Half Sine"); - halfsineImageButton2->setRadioGroupId (1); + halfsineImageButton2->setRadioGroupId (2); halfsineImageButton2->addListener (this); halfsineImageButton2->setImages (false, true, true, @@ -416,7 +468,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (abssineImageButton2 = new ImageButton ("abs sine image button")); abssineImageButton2->setTooltip ("abs sine"); abssineImageButton2->setButtonText ("Abs Sine"); - abssineImageButton2->setRadioGroupId (1); + abssineImageButton2->setRadioGroupId (2); abssineImageButton2->addListener (this); abssineImageButton2->setImages (false, true, true, @@ -426,7 +478,7 @@ PluginGui::PluginGui (JuceOplvstiAudioProcessor* ownerFilter) addAndMakeVisible (quartersineImageButton2 = new ImageButton ("quarter sine image button")); quartersineImageButton2->setTooltip ("quarter sine"); quartersineImageButton2->setButtonText ("Quarter Sine"); - quartersineImageButton2->setRadioGroupId (1); + quartersineImageButton2->setRadioGroupId (2); quartersineImageButton2->addListener (this); quartersineImageButton2->setImages (false, true, true, @@ -1141,26 +1193,26 @@ BEGIN_JUCER_METADATA fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>