Fix ControlList::editor_add () wrt guard points.
authornick_m <mainsbridge@gmail.com>
Thu, 18 Jun 2015 00:03:18 +0000 (10:03 +1000)
committernick_m <mainsbridge@gmail.com>
Thu, 18 Jun 2015 00:03:18 +0000 (10:03 +1000)
libs/evoral/src/ControlList.cpp

index d592be349157e5cc30d26186beddd7f08a766c36..5118744c05240f491b95d53097daa83f51da6184 100644 (file)
@@ -469,13 +469,18 @@ ControlList::editor_add (double when, double value, bool with_guard)
                }
        }
 
+       insert_position = when;
+       if (with_guard) {
+               if (when > 64) {
+                       add_guard_point (when - 64);
+               }
+               maybe_add_insert_guard (when);
+       }
+
        ControlEvent cp (when, 0.0f);
        iterator i = lower_bound (_events.begin(), _events.end(), &cp, time_comparator);
        DEBUG_TRACE (DEBUG::ControlList, string_compose ("editor_add: actually add when= %1 value= %2\n", when, value));
        _events.insert (i, new ControlEvent (when, value));
-       if (with_guard) {
-               add_guard_point (when);
-       }
 
        mark_dirty ();