do not reset session for MonitorSection just because monitor out was removed
[ardour.git] / gtk2_ardour / crossfade_view.h
index d984f5d2954bc485648c2f49f4268744c09b90c7..f593560f29b14c244d2199dfb62a319a6c7628d9 100644 (file)
@@ -21,7 +21,6 @@
 #define __gtk_ardour_crossfade_view_h__
 
 #include <vector>
-#include <libgnomecanvasmm.h>
 #include "pbd/signals.h"
 #include "ardour/crossfade.h"
 
 class RouteTimeAxisView;
 class AudioRegionView;
 
+namespace ArdourCanvas {
+       class PolyLine;
+}
+
 class CrossfadeView : public TimeAxisViewItem
 {
 public:
-       CrossfadeView (ArdourCanvas::Group*,
-                      RouteTimeAxisView&,
-                      boost::shared_ptr<ARDOUR::Crossfade>,
-                      double initial_samples_per_unit,
-                      Gdk::Color& basic_color,
-                      AudioRegionView& leftview,
-                      AudioRegionView& rightview);
+       CrossfadeView (ArdourCanvas::Container*,
+                      RouteTimeAxisView&,
+                      boost::shared_ptr<ARDOUR::Crossfade>,
+                      double initial_samples_per_pixel,
+                      Gdk::Color& basic_color,
+                      AudioRegionView& leftview,
+                      AudioRegionView& rightview);
 
        ~CrossfadeView ();
 
@@ -48,7 +51,7 @@ public:
        AudioRegionView& left_view;    // and these too
        AudioRegionView& right_view;
 
-       void set_height (double);
+       void set_heights (double, double);
 
        bool valid() const { return _valid; }
        bool visible() const { return _visible; }
@@ -68,9 +71,10 @@ private:
        bool _valid;
        bool _visible;
        bool _all_in_view;
+       double _child_height;
 
-       ArdourCanvas::Line *fade_in;
-       ArdourCanvas::Line *fade_out;
+       ArdourCanvas::PolyLine *fade_in;
+       ArdourCanvas::PolyLine *fade_out;
 
        void crossfade_changed (const PBD::PropertyChange&);
        void crossfade_fades_changed ();