struct Clip {
int64_t pts_in = -1, pts_out = -1;
std::vector<std::string> descriptions; // One per camera.
+ unsigned stream_idx = 0; // For the playlist only.
};
+// FIXME: This should be split into a separate clip list and play list model.
class ClipList : public QAbstractTableModel {
Q_OBJECT
public:
- enum Column {
+ enum class ListDisplay {
+ CLIP_LIST,
+ PLAY_LIST
+ };
+ ClipList(ListDisplay display_type) : display_type(display_type) {}
+
+ enum class ClipListColumn {
IN,
OUT,
DURATION,
CAMERA_4,
NUM_COLUMNS
};
+ enum class PlayListColumn {
+ IN,
+ OUT,
+ DURATION,
+ CAMERA,
+ DESCRIPTION,
+ NUM_COLUMNS
+ };
int rowCount(const QModelIndex &parent) const override;
int columnCount(const QModelIndex &parent) const override;
private:
std::vector<Clip> clips;
+ ListDisplay display_type;
};
#endif // !defined (_CLIP_LIST_H)