+AutomationList::start_write_pass (double when)
+{
+ delete _before;
+ if (in_new_write_pass ()) {
+ _before = &get_state ();
+ } else {
+ _before = 0;
+ }
+ ControlList::start_write_pass (when);
+}
+
+void
+AutomationList::write_pass_finished (double when, double thinning_factor)
+{
+ ControlList::write_pass_finished (when, thinning_factor);
+}
+
+void
+AutomationList::start_touch (double when)
+{
+ if (_state == Touch) {
+ start_write_pass (when);
+ }
+
+ g_atomic_int_set (&_touching, 1);
+}
+
+void
+AutomationList::stop_touch (bool mark, double)