summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/evoral/evoral/ControlList.hpp10
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;