diff options
Diffstat (limited to 'libs/ardour/automation_event.cc')
-rw-r--r-- | libs/ardour/automation_event.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/automation_event.cc b/libs/ardour/automation_event.cc index 3e257d2b7a..44cba83f38 100644 --- a/libs/ardour/automation_event.cc +++ b/libs/ardour/automation_event.cc @@ -1426,3 +1426,20 @@ AutomationList::set_state (const XMLNode& node) return 0; } +void +AutomationList::shift (nframes64_t pos, nframes64_t frames) +{ + { + Glib::Mutex::Lock lm (lock); + + for (iterator i = begin (); i != end (); ++i) { + if ((*i)->when >= pos) { + (*i)->when += frames; + } + } + + mark_dirty (); + } + + maybe_signal_changed (); +} |