summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-04-26 00:22:26 +0000
committerCarl Hetherington <carl@carlh.net>2010-04-26 00:22:26 +0000
commited9d42c55d4d8b40ed82470ddfe110355a9eca61 (patch)
tree3816ee4a97d290126a282f630eaf598955a6e4bf /libs
parent299951a5eec5395b5912576e20bde3338c5b495a (diff)
Some comments and minor cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@6988 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/evoral/src/ControlList.cpp10
1 files 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>
ControlList::cut_copy_clear (double start, double end, int op)
{
boost::shared_ptr<ControlList> 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;