X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fevoral%2Fevoral%2FSequence.hpp;h=8485f94a491f005232469d3891993d73cfd782f9;hb=196e910992659ea062da45499c1ac5906a0fa6c4;hp=280fc600de4453f2fe0fc4f02b14a2066f29f1e8;hpb=cf806123ca5faaef483f898daba3f7bd38ec62eb;p=ardour.git diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index 280fc600de..8485f94a49 100644 --- a/libs/evoral/evoral/Sequence.hpp +++ b/libs/evoral/evoral/Sequence.hpp @@ -28,15 +28,14 @@ #include #include "evoral/visibility.h" -#include "evoral/types.hpp" #include "evoral/Note.hpp" -#include "evoral/Parameter.hpp" #include "evoral/ControlSet.hpp" #include "evoral/ControlList.hpp" #include "evoral/PatchChange.hpp" namespace Evoral { +class Parameter; class TypeMap; template class EventSink; template class Note; @@ -82,14 +81,15 @@ protected: public: - typedef typename boost::shared_ptr > NotePtr; - typedef typename boost::shared_ptr > constNotePtr; + typedef typename boost::shared_ptr > NotePtr; + typedef typename boost::weak_ptr > WeakNotePtr; + typedef typename boost::shared_ptr > constNotePtr; typedef boost::shared_ptr ReadLock; - typedef boost::shared_ptr WriteLock; + typedef boost::shared_ptr WriteLock; virtual ReadLock read_lock() const { return ReadLock(new Glib::Threads::RWLock::ReaderLock(_lock)); } - virtual WriteLock write_lock() { return WriteLock(new WriteLockImpl(_lock, _control_lock)); } + virtual WriteLock write_lock() { return WriteLock(new WriteLockImpl(_lock, _control_lock)); } void clear(); @@ -105,10 +105,12 @@ public: ResolveStuckNotes }; - void end_write (StuckNoteOption, Time when = 0); + void end_write (StuckNoteOption, Time when = Time()); void append(const Event