#ifndef TIMELINE_H #define TIMELINE_H #include #include #include using microsec = sf::Int64; class Note; class Timeline { public: using Iterator = std::vector::const_iterator; virtual ~Timeline() = default; virtual void update() = 0; virtual void run(std::vector&& notes, const microsec& visibility) = 0; virtual void clear() = 0; virtual microsec currentMusicOffset() const = 0; virtual void drawVisibleNotes() const = 0; }; #endif // TIMELINE_H