]> git.sesse.net Git - nageru/commitdiff
Add a stop button.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 15 Dec 2018 22:59:34 +0000 (23:59 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 15 Dec 2018 22:59:34 +0000 (23:59 +0100)
futatabi/mainwindow.cpp
futatabi/mainwindow.h
futatabi/mainwindow.ui

index 852391051a287472a7eb9fd5a51d45e1dff55bbd..9e21294d14bfa19340558d082e65b22663eb2cb7 100644 (file)
@@ -146,6 +146,9 @@ MainWindow::MainWindow()
        connect(play, &QShortcut::activated, ui->play_btn, &QPushButton::click);
        connect(ui->play_btn, &QPushButton::clicked, this, &MainWindow::play_clicked);
 
+       connect(ui->stop_btn, &QPushButton::clicked, this, &MainWindow::stop_clicked);
+       ui->stop_btn->setEnabled(false);
+
        QShortcut *preview_1 = new QShortcut(QKeySequence(Qt::Key_1), this);
        connect(preview_1, &QShortcut::activated, ui->preview_1_btn, &QPushButton::click);
        connect(ui->input1_display, &JPEGFrameView::clicked, ui->preview_1_btn, &QPushButton::click);
@@ -441,6 +444,18 @@ void MainWindow::play_clicked()
        playlist_clips->set_progress({{ row, 0.0f }});
        playlist_clips->set_currently_playing(row, 0.0f);
        playlist_selection_changed();
+
+       ui->stop_btn->setEnabled(true);
+}
+
+void MainWindow::stop_clicked()
+{
+       Clip fake_clip;
+       fake_clip.pts_in = 0;
+       fake_clip.pts_out = 0;
+       size_t last_row = playlist_clips->size() - 1;
+       playlist_clips->set_currently_playing(last_row, 0.0f);
+       live_player->play_clip(fake_clip, last_row, 0);
 }
 
 void MainWindow::live_player_clip_done()
@@ -454,6 +469,7 @@ void MainWindow::live_player_clip_done()
                playlist_clips->set_progress({{ row + 1, 0.0f }});
                playlist_clips->set_currently_playing(row + 1, 0.0f);
        }
+       ui->stop_btn->setEnabled(false);
 }
 
 pair<Clip, size_t> MainWindow::live_player_get_next_clip()
index 0fa337f61e6d56dc5f5212277413848acd273ca6..9e77d629e7944c5dbbf80aebe4cd756baf66afa9 100644 (file)
@@ -81,6 +81,7 @@ private:
        void preview_clicked();
        void preview_angle_clicked(unsigned stream_idx);
        void play_clicked();
+       void stop_clicked();
        void live_player_clip_done();
        std::pair<Clip, size_t> live_player_get_next_clip();
        void live_player_clip_progress(const std::map<size_t, double> &progress);
index 733ab217bec54102886d605ca22f337afe457f30..288da89691fcc54ae97d296f4bb7f44ebe5e4e4b 100644 (file)
             </property>
            </spacer>
           </item>
+          <item>
+           <widget class="QPushButton" name="stop_btn">
+            <property name="text">
+             <string>Stop</string>
+            </property>
+            <property name="icon">
+             <iconset theme="media-playback-stop"/>
+            </property>
+           </widget>
+          </item>
           <item>
            <widget class="QPushButton" name="play_btn">
             <property name="text">