@@ -219,16 +219,15 @@ void AudioEditor::buttonClicked (Button* button)
219219 {
220220 audioConfigurationWindow = new AudioConfigurationWindow (AccessClass::getAudioComponent ()->deviceManager ,
221221 audioWindowButton);
222+ audioConfigurationWindow->addComponentListener (this );
222223 }
223224
224225 AccessClass::getAudioComponent ()->restartDevice ();
225226 audioConfigurationWindow->setVisible (true );
226227 }
227228 else
228229 {
229- updateBufferSizeText ();
230230 audioConfigurationWindow->setVisible (false );
231- AccessClass::getAudioComponent ()->stopDevice ();
232231 }
233232 }
234233
@@ -243,6 +242,14 @@ void AudioEditor::sliderValueChanged (Slider* slider)
243242 getAudioProcessor ()->setParameter (2 , slider->getValue ());
244243}
245244
245+ void AudioEditor::componentVisibilityChanged (Component& component)
246+ {
247+ if (component.getName () == audioConfigurationWindow->getName () && !component.isVisible ())
248+ {
249+ updateBufferSizeText ();
250+ AccessClass::getAudioComponent ()->stopDevice ();
251+ }
252+ }
246253
247254void AudioEditor::paint (Graphics& g)
248255{
@@ -318,11 +325,6 @@ AudioConfigurationWindow::~AudioConfigurationWindow()
318325void AudioConfigurationWindow::closeButtonPressed ()
319326{
320327 controlButton->setToggleState (false , dontSendNotification);
321-
322- String t = String (AccessClass::getAudioComponent ()->getBufferSizeMs ());
323- t += " ms" ;
324- controlButton->setText (t);
325- AccessClass::getAudioComponent ()->stopDevice ();
326328 setVisible (false );
327329}
328330
0 commit comments