diff options
-rw-r--r-- | libs/evoral/evoral/ControlList.hpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/evoral/evoral/ControlList.hpp b/libs/evoral/evoral/ControlList.hpp index b312623adb..a2cc446f4b 100644 --- a/libs/evoral/evoral/ControlList.hpp +++ b/libs/evoral/evoral/ControlList.hpp @@ -111,6 +111,16 @@ public: void set_descriptor(const ParameterDescriptor& d) { _desc = d; } EventList::size_type size() const { return _events.size(); } + + /** @return time-stamp of first or last event in the list */ + double when (bool at_start) const { + Glib::Threads::RWLock::ReaderLock lm (_lock); + if (_events.empty()) { + return 0.0; + } + return at_start ? _events.front()->when : _events.back()->when; + } + double length() const { Glib::Threads::RWLock::ReaderLock lm (_lock); return _events.empty() ? 0.0 : _events.back()->when; |