struct Clip {
int64_t pts_in = -1, pts_out = -1; // pts_in is inclusive, pts_out is exclusive.
std::string descriptions[MAX_STREAMS];
- unsigned stream_idx = 0; // For the playlist only.
- double fade_time_seconds = 0.5; // For the playlist only.
+
+ // These are for the playlist only.
+ unsigned stream_idx = 0;
+ double fade_time_seconds = 0.5;
+ double speed = 0.5;
};
class DataChangedReceiver {
ClipListProto serialize() const;
- void change_num_cameras(size_t num_cameras); // Defaults to 1. Cannot decrease.
+ void change_num_cameras(size_t num_cameras); // Defaults to 2. Cannot decrease.
void emit_data_changed(size_t row) override;
bool is_camera_column(int column) const
{
- return (column >= int(Column::CAMERA_1) && column < int(Column::CAMERA_1) + num_cameras);
+ return (column >= int(Column::CAMERA_1) && column < int(Column::CAMERA_1) + int(num_cameras));
}
signals:
private:
std::vector<Clip> clips;
- size_t num_cameras = 1;
+ size_t num_cameras = 2;
};
class PlayList : public QAbstractTableModel, public DataChangedReceiver {
CAMERA,
DESCRIPTION,
FADE_TIME,
+ SPEED,
NUM_COLUMNS
};
ClipListProto serialize() const;
- void change_num_cameras(size_t num_cameras) // Defaults to 1. Cannot decrease.
+ void change_num_cameras(size_t num_cameras) // Defaults to 2. Cannot decrease.
{
this->num_cameras = num_cameras;
}
int currently_playing_index = -1;
double play_progress = 0.0;
std::map<size_t, double> current_progress;
- size_t num_cameras = 1;
+ size_t num_cameras = 2;
};
#endif // !defined (_CLIP_LIST_H)