@@ -48,7 +48,7 @@ AeolusAudioProcessorEditor::AeolusAudioProcessorEditor (AeolusAudioProcessor& p)
4848 , _volumeSlider{*p.getParametersContainer ().volume , juce::Slider::LinearHorizontal}
4949 , _volumeLevelL{p.getEngine ().getVolumeLevel ().left , ui::LevelIndicator::Orientation::Horizontal}
5050 , _volumeLevelR{p.getEngine ().getVolumeLevel ().right , ui::LevelIndicator::Orientation::Horizontal}
51- , _tuningButton{" Tune " }
51+ , _tuningButton{" tuningButton " , DrawableButton::ImageFitted }
5252 , _panicButton{" PANIC" }
5353 , _cancelButton{" Cancel" }
5454 , _midiControlChannelLabel{{}, {" Control channel" }}
@@ -109,6 +109,19 @@ AeolusAudioProcessorEditor::AeolusAudioProcessorEditor (AeolusAudioProcessor& p)
109109 _volumeSlider.setLookAndFeel (&ui::CustomLookAndFeel::getInstance ());
110110
111111 addAndMakeVisible (_tuningButton);
112+
113+ auto loadSVG = [](const char * data, size_t size) -> std::unique_ptr<Drawable> {
114+ if (auto xml = parseXML (String::fromUTF8 (data, (int )size))) {
115+ return Drawable::createFromSVG (*xml);
116+ }
117+ return nullptr ;
118+ };
119+
120+ auto normalIcon = loadSVG (BinaryData::tuningfork_svg, BinaryData::tuningfork_svgSize);
121+ auto hoverIcon = loadSVG (BinaryData::tuningforkhover_svg, BinaryData::tuningforkhover_svgSize);
122+ _tuningButton.setImages (normalIcon.get (), hoverIcon.get ());
123+ _tuningButton.setMouseCursor (MouseCursor::PointingHandCursor);
124+
112125 _tuningButton.onClick = [this ] {
113126 auto content = std::make_unique<ui::GlobalTuningComponent>();
114127 content->setSize (240 , 140 );
@@ -127,6 +140,7 @@ AeolusAudioProcessorEditor::AeolusAudioProcessorEditor (AeolusAudioProcessor& p)
127140 g->setTuningFrequency (freq);
128141 g->setScaleType (scaleType);
129142 g->rebuildRankwaves ();
143+ g->saveSettings ();
130144 }
131145
132146 box.dismiss ();
@@ -229,7 +243,7 @@ void AeolusAudioProcessorEditor::resized()
229243 _volumeLevelL.setBounds (_volumeSlider.getX () + 5 , _volumeSlider.getY () + 2 , _volumeSlider.getWidth () - 10 , 2 );
230244 _volumeLevelR.setBounds (_volumeSlider.getX () + 5 , _volumeSlider.getY () + _volumeSlider.getHeight () - 4 , _volumeSlider.getWidth () - 10 , 2 );
231245
232- _tuningButton.setBounds (_volumeSlider.getRight () + 40 , margin, 60 , 20 );
246+ _tuningButton.setBounds (_volumeSlider.getRight () + 40 , margin - 2 , 60 , 24 );
233247
234248 _panicButton.setBounds (getWidth () - 90 , margin, 50 , 20 );
235249
0 commit comments