using namespace PBD;
using namespace Gtk;
-GainAutomationTimeAxisView::GainAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, ArdourCanvas::Canvas& canvas, const string & n, ARDOUR::Curve& c)
+GainAutomationTimeAxisView::GainAutomationTimeAxisView (Session& s, boost::shared_ptr<Route> r,
+ PublicEditor& e, TimeAxisView& parent,
+ ArdourCanvas::Canvas& canvas, const string & n, ARDOUR::Curve& c)
: AxisView (s),
AutomationTimeAxisView (s, r, e, parent, canvas, n, X_("gain"), ""),
}
void
-GainAutomationTimeAxisView::add_automation_event (ArdourCanvas::Item* item, GdkEvent* event, jack_nframes_t when, double y)
+GainAutomationTimeAxisView::add_automation_event (ArdourCanvas::Item* item, GdkEvent* event, nframes_t when, double y)
{
double x = 0;
lines.front()->view_to_model_y (y);
_session.begin_reversible_command (_("add gain automation event"));
-
- XMLNode &before = curve.get_state();
+ XMLNode& before = curve.get_state();
curve.add (when, y);
- XMLNode &after = curve.get_state();
- _session.add_command(new MementoCommand<ARDOUR::Curve>(curve, before, after));
- _session.commit_reversible_command ();
+ XMLNode& after = curve.get_state();
+ _session.commit_reversible_command (new MementoCommand<ARDOUR::Curve>(curve, &before, &after));
_session.set_dirty ();
}
GainAutomationTimeAxisView::set_automation_state (AutoState state)
{
if (!ignore_state_request) {
- route.set_gain_automation_state (state);
+ route->set_gain_automation_state (state);
}
}