X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fevoral%2Fevoral%2FSequence.hpp;h=7c0818a7fb26459dbd39d02a58f7a558a5278d1d;hb=0f5a73a7fd00015b9d95bf05f5f4266ae782d469;hp=280fc600de4453f2fe0fc4f02b14a2066f29f1e8;hpb=59076a7e4c66db12bbbfbf01f012ca2f6ba4bf56;p=ardour.git diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index 280fc600de..7c0818a7fb 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