diff options
Diffstat (limited to 'libs/evoral/src/Control.cpp')
-rw-r--r-- | libs/evoral/src/Control.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/evoral/src/Control.cpp b/libs/evoral/src/Control.cpp index bb272ea8b3..480d027ccc 100644 --- a/libs/evoral/src/Control.cpp +++ b/libs/evoral/src/Control.cpp @@ -17,6 +17,9 @@ */ #include <iostream> + +#include "pbd/stacktrace.h" + #include "evoral/Control.hpp" #include "evoral/ControlList.hpp" @@ -49,9 +52,13 @@ void Control::set_double (double value, double frame, bool to_list) { _user_value = value; + + /* if we're in a write pass, the automation watcher will determine the + values and add them to the list, so we we don't need to bother. + */ - if (to_list) { - _list->add (frame, value); + if (to_list && !_list->in_write_pass()) { + _list->add (frame, value, false); } } |