#include "player.h"
#include "futatabi_midi_mapping.pb.h"
#include "midi_mapping_dialog.h"
+#include "pbo_pool.h"
#include "shared/aboutdialog.h"
#include "shared/disk_space_estimator.h"
#include "shared/post_to_main_thread.h"
display->setAutoFillBackground(true);
layout->addWidget(display);
- display->set_overlay(to_string(i + 1));
+ if (global_flags.source_labels.count(i + 1)) {
+ display->set_overlay(global_flags.source_labels[i + 1]);
+ } else {
+ display->set_overlay(to_string(i + 1));
+ }
QPushButton *preview_btn = new QPushButton(this);
preview_btn->setMaximumSize(20, 17);
void MainWindow::content_changed()
{
// If we are playing, update the part of the playlist that's not playing yet.
- vector<ClipWithID> clips;
- for (unsigned row = 0; row < playlist_clips->size(); ++row) {
- clips.emplace_back(*playlist_clips->clip_with_id(row));
- }
+ vector<ClipWithID> clips = get_playlist(0, playlist_clips->size());
live_player->splice_play(clips);
// Serialize the state.
}
unsigned start_row = selected->selectedRows(0)[0].row();
- vector<ClipWithID> clips;
- for (unsigned row = start_row; row < playlist_clips->size(); ++row) {
- ClipWithID clip = *playlist_clips->clip_with_id(row);
- if (clip.clip.pts_out == -1) {
- clip.clip.pts_out = clip.clip.pts_in + int64_t(TIMEBASE) * 86400 * 7; // One week; effectively infinite, but without overflow issues.
- }
- clips.emplace_back(clip);
- }
+ vector<ClipWithID> clips = get_playlist(start_row, playlist_clips->size());
live_player->play(clips);
playlist_clips->set_progress({ { start_row, 0.0f } });
ui->playlist->selectionModel()->clear();
} else if (watched == ui->playlist->viewport()) {
destination = ui->playlist;
jog_destination = JOG_PLAYLIST;
- if (destination->columnAt(wheel->x()) != int(PlayList::Column::CAMERA)) {
+ if (destination->columnAt(wheel->position().x()) != int(PlayList::Column::CAMERA)) {
last_mousewheel_camera_row = -1;
}
} else {
return false;
}
- int column = destination->columnAt(wheel->x());
- int row = destination->rowAt(wheel->y());
+ int column = destination->columnAt(wheel->position().x());
+ int row = destination->rowAt(wheel->position().y());
if (column == -1 || row == -1)
return false;
enable_or_disable_queue_button();
}
+vector<ClipWithID> MainWindow::get_playlist(size_t start_row, size_t end_row)
+{
+ vector<ClipWithID> clips;
+ for (unsigned row = start_row; row < end_row; ++row) {
+ ClipWithID clip = *playlist_clips->clip_with_id(row);
+ if (clip.clip.pts_out == -1) {
+ clip.clip.pts_out = clip.clip.pts_in + int64_t(TIMEBASE) * 86400 * 7; // One week; effectively infinite, but without overflow issues.
+ }
+ clips.emplace_back(clip);
+ }
+ return clips;
+}
+
void MainWindow::report_disk_space(off_t free_bytes, double estimated_seconds_left)
{
char time_str[256];