Make region gain envelope drawing work again.
authorCarl Hetherington <carl@carlh.net>
Tue, 23 Dec 2008 10:36:06 +0000 (10:36 +0000)
committerCarl Hetherington <carl@carlh.net>
Tue, 23 Dec 2008 10:36:06 +0000 (10:36 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@4339 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/audio_region_view.cc
gtk2_ardour/automation_line.cc

index 35407603fe97d454da611c9d725d3fcadc96571f..95a0c6ca00570b14c1ed5c914d1a0d7923d9dda5 100644 (file)
@@ -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);
index 5e8d2c5514961739476611e00f8a592e87f71377..bc2c609b032efd725fe569f4d5c0ac331a53ae26 100644 (file)
@@ -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