]> git.sesse.net Git - nageru/commitdiff
Unbreak the context menu for non-FFmpeg channels.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 23 Apr 2018 19:37:03 +0000 (21:37 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 23 Apr 2018 19:37:03 +0000 (21:37 +0200)
bmusb
glwidget.cpp

diff --git a/bmusb b/bmusb
index e287f28087aef9cfd6aa47acd0d283bc177a9d70..6a012a41c5422092cdac1f18a9019f37c0b85368 160000 (submodule)
--- a/bmusb
+++ b/bmusb
@@ -1 +1 @@
-Subproject commit e287f28087aef9cfd6aa47acd0d283bc177a9d70
+Subproject commit 6a012a41c5422092cdac1f18a9019f37c0b85368
index c3e82dacc07b5e9827ea66e218c5023628dbfcfd..ca9416bc4f38a14e26566696642a1ba7491fd8f9 100644 (file)
@@ -176,6 +176,18 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos)
        QMenu card_submenu;
        QActionGroup card_group(&card_submenu);
 
+       QMenu interpretation_submenu;
+       QActionGroup interpretation_group(&interpretation_submenu);
+
+       QMenu video_input_submenu;
+       QActionGroup video_input_group(&video_input_submenu);
+
+       QMenu audio_input_submenu;
+       QActionGroup audio_input_group(&audio_input_submenu);
+
+       QMenu mode_submenu;
+       QActionGroup mode_group(&mode_submenu);
+
        unsigned num_cards = global_mixer->get_num_cards();
        unsigned current_card = global_mixer->map_signal(signal_num);
        bool is_ffmpeg = global_mixer->card_is_ffmpeg(current_card);
@@ -197,9 +209,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos)
 
                // Note that this setting depends on which card is active.
 
-               QMenu interpretation_submenu;
-               QActionGroup interpretation_group(&interpretation_submenu);
-
                YCbCrInterpretation current_interpretation = global_mixer->get_input_ycbcr_interpretation(current_card);
                {
                        QAction *action = new QAction("Auto", &interpretation_group);
@@ -250,8 +259,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos)
                }
        } else {
                // Add a submenu for selecting video input, with an action for each input.
-               QMenu video_input_submenu;
-               QActionGroup video_input_group(&video_input_submenu);
                std::map<uint32_t, string> video_inputs = global_mixer->get_available_video_inputs(current_card);
                uint32_t current_video_input = global_mixer->get_current_video_input(current_card);
                for (const auto &mode : video_inputs) {
@@ -269,8 +276,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos)
                menu.addMenu(&video_input_submenu);
 
                // The same for audio input.
-               QMenu audio_input_submenu;
-               QActionGroup audio_input_group(&audio_input_submenu);
                std::map<uint32_t, string> audio_inputs = global_mixer->get_available_audio_inputs(current_card);
                uint32_t current_audio_input = global_mixer->get_current_audio_input(current_card);
                for (const auto &mode : audio_inputs) {
@@ -288,8 +293,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos)
                menu.addMenu(&audio_input_submenu);
 
                // The same for resolution.
-               QMenu mode_submenu;
-               QActionGroup mode_group(&mode_submenu);
                std::map<uint32_t, bmusb::VideoMode> video_modes = global_mixer->get_available_video_modes(current_card);
                uint32_t current_video_mode = global_mixer->get_current_video_mode(current_card);
                for (const auto &mode : video_modes) {