From: Carl Hetherington Date: Tue, 23 Dec 2008 10:36:06 +0000 (+0000) Subject: Make region gain envelope drawing work again. X-Git-Tag: 3.0-alpha5~3916 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=510d6d6dd368f4c1c6de83b766fd403eb0044c11;hp=e9a9fe30cf8661aeb48b5392d5e8f5c3f432b809;p=ardour.git Make region gain envelope drawing work again. git-svn-id: svn://localhost/ardour2/branches/3.0@4339 d708f5d6-7413-0410-9779-e7cbd77b26cf --- 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