diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index 35407603fe..95a0c6ca00 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -1004,8 +1004,8 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev) /* compute vertical fractional position */ - y = 1.0 - (y / (trackview.current_height() - NAME_HIGHLIGHT_SIZE)); - + y = 1.0 - (y / (_height - NAME_HIGHLIGHT_SIZE)); + /* map using gain line */ gain_line->view_to_model_y (y); diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc index 5e8d2c5514..bc2c609b03 100644 --- a/gtk2_ardour/automation_line.cc +++ b/gtk2_ardour/automation_line.cc @@ -84,7 +84,8 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv trackview.session().register_with_memento_command_factory(alist->id(), this); - if (alist->parameter().type() == GainAutomation) { + if (alist->parameter().type() == GainAutomation || + alist->parameter().type() == EnvelopeAutomation) { set_uses_gain_mapping (true); } @@ -1245,7 +1246,8 @@ void AutomationLine::view_to_model_y (double& y) const { /* TODO: This should be more generic ... */ - if (alist->parameter().type() == GainAutomation) { + if (alist->parameter().type() == GainAutomation || + alist->parameter().type() == EnvelopeAutomation) { y = slider_position_to_gain (y); y = max (0.0, y); y = min (2.0, y); @@ -1263,7 +1265,8 @@ void AutomationLine::model_to_view_y (double& y) const { /* TODO: This should be more generic ... */ - if (alist->parameter().type() == GainAutomation) { + if (alist->parameter().type() == GainAutomation || + alist->parameter().type() == EnvelopeAutomation) { y = gain_to_slider_position (y); } else if (alist->parameter().type() == PanAutomation) { // vertical coordinate axis reversal