summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/automation_list.h4
-rw-r--r--libs/ardour/automation_list.cc18
2 files changed, 7 insertions, 15 deletions
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h
index 6e7b0007cd..72c26420c0 100644
--- a/libs/ardour/ardour/automation_list.h
+++ b/libs/ardour/ardour/automation_list.h
@@ -21,6 +21,7 @@
#define __ardour_automation_event_h__
#include <stdint.h>
+#include <cstdlib>
#include <list>
#include <cmath>
@@ -71,7 +72,6 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
virtual boost::shared_ptr<Evoral::ControlList> create(Evoral::Parameter id);
AutomationList& operator= (const AutomationList&);
- bool operator== (const AutomationList&);
void thaw ();
@@ -116,6 +116,8 @@ class LIBARDOUR_API AutomationList : public PBD::StatefulDestructible, public Ev
AutoState _state;
AutoStyle _style;
gint _touching;
+
+ bool operator== (const AutomationList&) const { /* not called */ abort(); return false; }
};
} // namespace
diff --git a/libs/ardour/automation_list.cc b/libs/ardour/automation_list.cc
index 32e69af7ae..e5a4493618 100644
--- a/libs/ardour/automation_list.cc
+++ b/libs/ardour/automation_list.cc
@@ -137,26 +137,16 @@ AutomationList::create_curve_if_necessary()
}
}
-bool
-AutomationList::operator== (const AutomationList& other)
-{
- return _events == other._events;
-}
-
AutomationList&
AutomationList::operator= (const AutomationList& other)
{
if (this != &other) {
- _events.clear ();
-
- for (const_iterator i = other._events.begin(); i != other._events.end(); ++i) {
- _events.push_back (new Evoral::ControlEvent (**i));
- }
- _min_yval = other._min_yval;
- _max_yval = other._max_yval;
- _default_value = other._default_value;
+ ControlList::operator= (other);
+ _state = other._state;
+ _style = other._style;
+ _touching = other._touching;
mark_dirty ();
maybe_signal_changed ();