]> git.sesse.net Git - nageru/blobdiff - mainwindow.cpp
Update the queue length metric after trimming, not before.
[nageru] / mainwindow.cpp
index bff32ab8333c571ff6bfaa2bee6ecb19a3f298e4..537f8810acad38c26d4fdba0e3d3a2e60a08358a 100644 (file)
@@ -382,6 +382,8 @@ void MainWindow::mixer_created(Mixer *mixer)
        midi_mapper.refresh_lights();
        midi_mapper.start_thread();
 
+       analyzer.reset(new Analyzer);
+
        struct sigaction act;
        memset(&act, 0, sizeof(act));
        act.sa_handler = schedule_cut_signal;
@@ -551,11 +553,14 @@ void MainWindow::setup_audio_expanded_view()
 
 void MainWindow::mixer_shutting_down()
 {
-       ui->me_live->clean_context();
-       ui->me_preview->clean_context();
+       ui->me_live->shutdown();
+       ui->me_preview->shutdown();
+
        for (Ui::Display *display : previews) {
-               display->display->clean_context();
+               display->display->shutdown();
        }
+
+       analyzer->mixer_shutting_down();
 }
 
 void MainWindow::cut_triggered()
@@ -594,7 +599,6 @@ void MainWindow::about_triggered()
 
 void MainWindow::open_analyzer_triggered()
 {
-       analyzer.reset(new Analyzer);
        analyzer->show();
 }
 
@@ -1250,6 +1254,8 @@ void MainWindow::update_channel_name(Mixer::Output output, const string &name)
                unsigned channel = output - Mixer::OUTPUT_INPUT0;
                previews[channel]->label->setText(name.c_str());
        }
+
+       analyzer->update_channel_name(output, name);
 }
 
 void MainWindow::update_channel_color(Mixer::Output output, const string &color)
@@ -1299,6 +1305,12 @@ bool MainWindow::eventFilter(QObject *watched, QEvent *event)
        return false;
 }
 
+void MainWindow::closeEvent(QCloseEvent *event)
+{
+       analyzer->hide();
+       event->accept();
+}
+
 namespace {
 
 double srgb_to_linear(double x)