X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fevoral%2Fevoral%2FSequence.hpp;h=c972df3b29c87e8a6e8fd4b250f325fc65126f83;hb=3d1b6481307ea2561991b0ba6a07e1b808d9ff56;hp=b029e51f33da58eb53153137098a77deace952de;hpb=a2d2f738cb63dbf0fb89e0a00c424ce883fb7888;p=ardour.git diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index b029e51f33..c972df3b29 100644 --- a/libs/evoral/evoral/Sequence.hpp +++ b/libs/evoral/evoral/Sequence.hpp @@ -26,18 +26,18 @@ #include #include #include -#include -#include -#include -#include -#include +#include "evoral/types.hpp" +#include "evoral/Note.hpp" +#include "evoral/Parameter.hpp" +#include "evoral/ControlSet.hpp" +#include "evoral/ControlList.hpp" namespace Evoral { class TypeMap; -class EventSink; -class Note; -class Event; +template class EventSink; +template class Note; +template class Event; /** An iterator over (the x axis of) a 2-d double coordinate space. */ @@ -58,6 +58,7 @@ public: /** This is a higher level view of events, with separate representations for * notes (instead of just unassociated note on/off events) and controller data. * Controller data is represented as a list of time-stamped float values. */ +template class Sequence : virtual public ControlSet { public: Sequence(const TypeMap& type_map, size_t size=0); @@ -79,49 +80,54 @@ public: bool writing() const { return _writing; } void end_write(bool delete_stuck=false); - size_t read(EventSink& dst, - timestamp_t start, - timedur_t length, - timestamp_t stamp_offset) const; + size_t read(EventSink