]> git.sesse.net Git - nageru/blobdiff - futatabi/mainwindow.h
Make the UI programmatically dependent on NUM_CAMERAS.
[nageru] / futatabi / mainwindow.h
index 798745609b9ca7627aac96aff337f6cc0cae9f5e..97f0f296aef8638372635b13b14d0be019e2a923 100644 (file)
@@ -19,7 +19,10 @@ namespace Ui {
 class MainWindow;
 }  // namespace Ui
 
+struct FrameOnDisk;
+class JPEGFrameView;
 class Player;
+class QPushButton;
 class QTableView;
 
 class MainWindow : public QMainWindow {
@@ -32,10 +35,11 @@ public:
        // HTTP callback. TODO: Does perhaps not belong to MainWindow?
        std::pair<std::string, std::string> get_queue_status() const;
 
-//private:
-       Ui::MainWindow *ui;
+       void display_frame(unsigned stream_idx, const FrameOnDisk &frame);
 
 private:
+       Ui::MainWindow *ui;
+
        QLabel *disk_free_label;
        std::unique_ptr<Player> preview_player, live_player;
        DB db;
@@ -76,6 +80,13 @@ private:
        mutable std::mutex queue_status_mu;
        std::string queue_status;  // Under queue_status_mu.
 
+       struct FrameAndDisplay {
+               QFrame *frame;
+               JPEGFrameView *display;
+               QPushButton *preview_btn;
+       };
+       std::vector<FrameAndDisplay> displays;
+
        void cue_in_clicked();
        void cue_out_clicked();
        void queue_clicked();