X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mainwindow.cpp;h=ede1fb6827de668b0264fedc8953eec3be05a429;hb=d62349fd118e89b16adfc5478c73cd8e10136364;hp=8a91a3f630dc031ac8414a07fda84af2feb5d768;hpb=1e48aaaa8518860bc63d02feca5d556b49c919ed;p=nageru diff --git a/mainwindow.cpp b/mainwindow.cpp index 8a91a3f..ede1fb6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -53,6 +53,7 @@ MainWindow::MainWindow() transition_btn3 = ui->transition_btn3; qRegisterMetaType>("std::vector"); connect(ui->me_preview, &GLWidget::transition_names_updated, this, &MainWindow::set_transition_names); + qRegisterMetaType("Mixer::Output"); } void MainWindow::resizeEvent(QResizeEvent* event) @@ -83,6 +84,9 @@ void MainWindow::mixer_created(Mixer *mixer) // Hook up the click. connect(ui_display->display, &GLWidget::clicked, bind(&MainWindow::channel_clicked, this, i)); + // Let the theme update the text whenever the resolution changed. + connect(ui_display->display, &GLWidget::resolution_updated, this, &MainWindow::update_channel_name); + // Hook up the keyboard key. QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_1 + i), this); connect(shortcut, &QShortcut::activated, bind(&MainWindow::channel_clicked, this, i)); @@ -113,6 +117,15 @@ void MainWindow::mixer_created(Mixer *mixer) mixer->set_audio_level_callback(bind(&MainWindow::audio_level_callback, this, _1, _2, _3, _4, _5, _6)); } +void MainWindow::mixer_shutting_down() +{ + ui->me_live->clean_context(); + ui->me_preview->clean_context(); + for (Ui::Display *display : previews) { + display->display->clean_context(); + } +} + void MainWindow::cutoff_knob_changed(int value) { float octaves = value * 0.1f; @@ -247,6 +260,14 @@ void MainWindow::set_transition_names(vector transition_names) } } +void MainWindow::update_channel_name(Mixer::Output output) +{ + if (output >= Mixer::OUTPUT_INPUT0) { + unsigned channel = output - Mixer::OUTPUT_INPUT0; + previews[channel]->label->setText(global_mixer->get_channel_name(output).c_str()); + } +} + void MainWindow::transition_clicked(int transition_number) { global_mixer->transition_clicked(transition_number);