16 class MainWindow : public QMainWindow
27 Player *preview_player, *live_player;
29 // State when doing a scrub operation on a timestamp with the mouse.
30 bool scrubbing = false;
31 int scrub_x_origin; // In pixels on the viewport.
32 int64_t scrub_pts_origin;
34 // Which element (e.g. pts_in on clip 4) we are scrubbing.
35 enum ScrubType { SCRUBBING_CLIP_LIST, SCRUBBING_PLAYLIST } scrub_type;
39 // Used to keep track of small mouse wheel motions on the camera index in the playlist.
40 int last_mousewheel_camera_row = -1;
41 int leftover_angle_degrees = 0;
43 void cue_in_clicked();
44 void cue_out_clicked();
46 void preview_clicked();
47 void preview_angle_clicked(unsigned stream_idx);
49 void live_player_clip_done();
50 void playlist_duplicate();
51 void playlist_remove();
52 void playlist_move(int delta);
54 enum Rounding { FIRST_AT_OR_AFTER, LAST_BEFORE };
55 void preview_single_frame(int64_t pts, unsigned stream_idx, Rounding rounding);
57 // Also covers when the playlist itself changes.
58 void playlist_selection_changed();
60 void resizeEvent(QResizeEvent *event) override;
61 bool eventFilter(QObject *watched, QEvent *event) override;
67 extern MainWindow *global_mainwindow;