]> git.sesse.net Git - nageru/blobdiff - mainwindow.cpp
setChecked() takes a bool, not an enum.
[nageru] / mainwindow.cpp
index 136890d93826d4b71c276eb896755eb648d9b27c..b7510debe560f0d7d3c4079e6d4063a1c8d40168 100644 (file)
@@ -46,6 +46,7 @@
 
 #include "aboutdialog.h"
 #include "alsa_pool.h"
+#include "analyzer.h"
 #include "clickable_label.h"
 #include "context_menus.h"
 #include "correlation_meter.h"
@@ -200,6 +201,7 @@ MainWindow::MainWindow()
        connect(ui->exit_action, &QAction::triggered, this, &MainWindow::exit_triggered);
        connect(ui->manual_action, &QAction::triggered, this, &MainWindow::manual_triggered);
        connect(ui->about_action, &QAction::triggered, this, &MainWindow::about_triggered);
+       connect(ui->open_analyzer_action, &QAction::triggered, this, &MainWindow::open_analyzer_triggered);
        connect(ui->simple_audio_mode, &QAction::triggered, this, &MainWindow::simple_audio_mode_triggered);
        connect(ui->multichannel_audio_mode, &QAction::triggered, this, &MainWindow::multichannel_audio_mode_triggered);
        connect(ui->input_mapping_action, &QAction::triggered, this, &MainWindow::input_mapping_triggered);
@@ -380,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;
@@ -495,7 +499,7 @@ void MainWindow::setup_audio_expanded_view()
                update_eq_label(bus_index, EQ_BAND_MID, global_audio_mixer->get_eq(bus_index, EQ_BAND_MID));
                update_eq_label(bus_index, EQ_BAND_BASS, global_audio_mixer->get_eq(bus_index, EQ_BAND_BASS));
                ui_audio_expanded_view->fader->setDbValue(global_audio_mixer->get_fader_volume(bus_index));
-               ui_audio_expanded_view->mute_button->setChecked(global_audio_mixer->get_mute(bus_index) ? Qt::Checked : Qt::Unchecked);
+               ui_audio_expanded_view->mute_button->setChecked(global_audio_mixer->get_mute(bus_index));
                connect(ui_audio_expanded_view->mute_button, &QPushButton::toggled,
                        bind(&MainWindow::mute_button_toggled, this, bus_index, _1));
                ui->buses->addWidget(channel);
@@ -549,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()
@@ -590,6 +597,11 @@ void MainWindow::about_triggered()
        AboutDialog().exec();
 }
 
+void MainWindow::open_analyzer_triggered()
+{
+       analyzer->show();
+}
+
 void MainWindow::simple_audio_mode_triggered()
 {
        if (global_audio_mixer->get_mapping_mode() == AudioMixer::MappingMode::SIMPLE) {
@@ -1242,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)
@@ -1291,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)