From ed9d42c55d4d8b40ed82470ddfe110355a9eca61 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 26 Apr 2010 00:22:26 +0000 Subject: [PATCH] Some comments and minor cleanup. git-svn-id: svn://localhost/ardour2/branches/3.0@6988 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/evoral/src/ControlList.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index 8b8b86fb29..9079453f1c 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -1151,21 +1151,25 @@ ControlList::cut (iterator start, iterator end) return nal; } +/** @param op 0 = cut, 1 = copy, 2 = clear */ boost::shared_ptr ControlList::cut_copy_clear (double start, double end, int op) { boost::shared_ptr nal = create (_parameter); + iterator s, e; - ControlEvent cp (start, 0.0); bool changed = false; { Glib::Mutex::Lock lm (_lock); + /* find the first event in our list that is at or before `start' in time */ + ControlEvent cp (start, 0.0); if ((s = lower_bound (_events.begin(), _events.end(), &cp, time_comparator)) == _events.end()) { return nal; } + /* and the last that is at or after `end' */ cp.when = end; e = upper_bound (_events.begin(), _events.end(), &cp, time_comparator); @@ -1174,9 +1178,7 @@ ControlList::cut_copy_clear (double start, double end, int op) } for (iterator x = s; x != e; ) { - iterator tmp; - - tmp = x; + iterator tmp = x; ++tmp; changed = true;