From: Steinar H. Gunderson Date: Sat, 15 Dec 2018 22:59:34 +0000 (+0100) Subject: Add a stop button. X-Git-Tag: 1.8.0~15 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=94e776c2048ce5da187b605552cd15280b2c4275;p=nageru Add a stop button. --- diff --git a/futatabi/mainwindow.cpp b/futatabi/mainwindow.cpp index 8523910..9e21294 100644 --- a/futatabi/mainwindow.cpp +++ b/futatabi/mainwindow.cpp @@ -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 MainWindow::live_player_get_next_clip() diff --git a/futatabi/mainwindow.h b/futatabi/mainwindow.h index 0fa337f..9e77d62 100644 --- a/futatabi/mainwindow.h +++ b/futatabi/mainwindow.h @@ -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 live_player_get_next_clip(); void live_player_clip_progress(const std::map &progress); diff --git a/futatabi/mainwindow.ui b/futatabi/mainwindow.ui index 733ab21..288da89 100644 --- a/futatabi/mainwindow.ui +++ b/futatabi/mainwindow.ui @@ -153,6 +153,16 @@ + + + + Stop + + + + + +