summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/automation_list.h
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-09-27 00:57:52 +1000
committernick_m <mainsbridge@gmail.com>2015-10-20 00:53:28 +1100
commit9c102fa8d20b932f9a9879298764c0351a0e5acc (patch)
treeed9bbf05a2b6771d1dbe9e86b5e586f24c2debc1 /libs/ardour/ardour/automation_list.h
parent877b258c74aa6e2fa737ca9112900dca8bce6628 (diff)
Make automation record undo per pass rather than per touch.
Diffstat (limited to 'libs/ardour/ardour/automation_list.h')
-rw-r--r--libs/ardour/ardour/automation_list.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h
index bc47f2fe06..67ee6234bb 100644
--- a/libs/ardour/ardour/automation_list.h
+++ b/libs/ardour/ardour/automation_list.h
@@ -97,6 +97,9 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
static PBD::Signal1<void,AutomationList*> AutomationListCreated;
+ void start_write_pass (double when);
+ void write_pass_finished (double when, double thinning_factor=0.0);
+
void start_touch (double when);
void stop_touch (bool mark, double when);
bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); }
@@ -110,6 +113,7 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
bool operator!= (const AutomationList &) const;
+ XMLNode* before () { return _before; }
private:
void create_curve_if_necessary ();
int deserialize_events (const XMLNode&);
@@ -121,6 +125,8 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
gint _touching;
bool operator== (const AutomationList&) const { /* not called */ abort(); return false; }
+ XMLNode* _before; //used for undo of touch start/stop pairs.
+
};
} // namespace