move zoom controls down to lower left
[ardour.git] / gtk2_ardour / crossfade_view.cc
index baf0f2a346e4f05f0ccf08d4bf53eb0e66079724..3c3ef4ff91315b910d098a310e9546d6c2313532 100644 (file)
@@ -52,7 +52,7 @@ CrossfadeView::CrossfadeView (ArdourCanvas::Group *parent,
                              
 
        : TimeAxisViewItem ("xfade" /*xf.name()*/, *parent, tv, spu, basic_color, xf.position(), 
-                           xf.overlap_length(), TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowFrame)),
+                           xf.length(), TimeAxisViewItem::Visibility (TimeAxisViewItem::ShowFrame)),
          crossfade (xf),
          left_view (lview),
          right_view (rview)
@@ -89,7 +89,7 @@ CrossfadeView::CrossfadeView (ArdourCanvas::Group *parent,
 
 CrossfadeView::~CrossfadeView ()
 {
-        GoingAway (this) ; /* EMIT_SIGNAL */
+       GoingAway (this) ; /* EMIT_SIGNAL */
 }
 
 void
@@ -124,7 +124,11 @@ CrossfadeView::crossfade_changed (Change what_changed)
 
        if (what_changed & BoundsChanged) {
                set_position (crossfade.position(), this);
-               set_duration (crossfade.overlap_length(), this);
+               set_duration (crossfade.length(), this);
+               need_redraw_curves = true;
+       }
+
+       if (what_changed & Crossfade::FollowOverlapChanged) {
                need_redraw_curves = true;
        }
        
@@ -142,9 +146,15 @@ CrossfadeView::redraw_curves ()
        Points* points; 
        int32_t npoints;
        float* vec;
-       
        double h;
 
+       if (!crossfade.following_overlap()) {
+               /* curves should not be visible */
+               fade_in->hide ();
+               fade_out->hide ();
+               return;
+       }
+
        /*
         At "height - 3.0" the bottom of the crossfade touches the name highlight or the bottom of the track (if the
         track is either Small or Smaller.