]> git.sesse.net Git - nageru/blobdiff - mainwindow.cpp
If not using VA-API zerocopy, don't write extra copy textures.
[nageru] / mainwindow.cpp
index fc7b6eaa196fab68e4f226072620a70e2c85a688..136890d93826d4b71c276eb896755eb648d9b27c 100644 (file)
@@ -47,6 +47,7 @@
 #include "aboutdialog.h"
 #include "alsa_pool.h"
 #include "clickable_label.h"
+#include "context_menus.h"
 #include "correlation_meter.h"
 #include "disk_space_estimator.h"
 #include "ellipsis_label.h"
@@ -203,13 +204,23 @@ MainWindow::MainWindow()
        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);
        connect(ui->midi_mapping_action, &QAction::triggered, this, &MainWindow::midi_mapping_triggered);
+       connect(ui->timecode_stream_action, &QAction::triggered, this, &MainWindow::timecode_stream_triggered);
+       connect(ui->timecode_stdout_action, &QAction::triggered, this, &MainWindow::timecode_stdout_triggered);
 
-       if (global_flags.x264_video_to_http) {
+       ui->timecode_stream_action->setChecked(global_flags.display_timecode_in_stream);
+       ui->timecode_stdout_action->setChecked(global_flags.display_timecode_on_stdout);
+
+       if (global_flags.x264_video_to_http && isinf(global_flags.x264_crf)) {
                connect(ui->x264_bitrate_action, &QAction::triggered, this, &MainWindow::x264_bitrate_triggered);
        } else {
                ui->x264_bitrate_action->setEnabled(false);
        }
 
+       connect(ui->video_menu, &QMenu::aboutToShow, [this]{
+               fill_hdmi_sdi_output_device_menu(ui->hdmi_sdi_output_device_menu);
+               fill_hdmi_sdi_output_resolution_menu(ui->hdmi_sdi_output_resolution_menu);
+       });
+
        // Hook up the transition buttons. (Keyboard shortcuts are set in set_transition_names().)
        // TODO: Make them dynamic.
        connect(ui->transition_btn1, &QPushButton::clicked, bind(&MainWindow::transition_clicked, this, 0));
@@ -631,6 +642,16 @@ void MainWindow::midi_mapping_triggered()
        MIDIMappingDialog(&midi_mapper).exec();
 }
 
+void MainWindow::timecode_stream_triggered()
+{
+       global_mixer->set_display_timecode_in_stream(ui->timecode_stream_action->isChecked());
+}
+
+void MainWindow::timecode_stdout_triggered()
+{
+       global_mixer->set_display_timecode_on_stdout(ui->timecode_stdout_action->isChecked());
+}
+
 void MainWindow::gain_staging_knob_changed(unsigned bus_index, int value)
 {
        if (bus_index == 0) {