Remove 'pipex' from my pbd.vcproj as it's not needed for Ardour3
[ardour.git] / gtk2_ardour / audio_region_view.h
index 049b61a5716f25bd234521963c475dd32969b1f8..0a737cd6a170652325da67358aaee7ac5bafd03e 100644 (file)
 #ifndef __gtk_ardour_audio_region_view_h__
 #define __gtk_ardour_audio_region_view_h__
 
+#ifdef interface
+#undef interface
+#endif
+
 #include <vector>
 
 #include <sigc++/signal.h>
@@ -80,7 +84,7 @@ class AudioRegionView : public RegionView
 
        void update_envelope_visibility ();
 
-       void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
+        void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event, bool with_guard_points);
        void remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
 
        boost::shared_ptr<AudioRegionGainLine> get_gain_line() const { return gain_line; }
@@ -112,8 +116,8 @@ class AudioRegionView : public RegionView
        void drag_start ();
        void drag_end ();
 
-        void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double);
-        void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double);
+        void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double);
+        void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double, double);
        void redraw_start_xfade ();
        void redraw_end_xfade ();
        
@@ -150,19 +154,17 @@ class AudioRegionView : public RegionView
 
        std::list<std::pair<framepos_t, ArdourCanvas::Line*> > feature_lines;
 
-       ArdourCanvas::Polygon*           sync_mark; ///< polgyon for sync position
-       ArdourCanvas::Polygon*           fade_in_shape;
-       ArdourCanvas::Polygon*           fade_out_shape;
+       ArdourCanvas::Polygon*          sync_mark; ///< polgyon for sync position
        ArdourCanvas::Rectangle*        fade_in_handle; ///< fade in handle, or 0
        ArdourCanvas::Rectangle*        fade_out_handle; ///< fade out handle, or 0
 
-       ArdourCanvas::PolyLine *start_xfade_in;
-       ArdourCanvas::PolyLine *start_xfade_out;
+       ArdourCanvas::Curve*     start_xfade_in;
+       ArdourCanvas::Curve*     start_xfade_out;
        ArdourCanvas::Rectangle* start_xfade_rect;
        bool _start_xfade_visible;
 
-       ArdourCanvas::PolyLine *end_xfade_in;
-       ArdourCanvas::PolyLine *end_xfade_out;
+       ArdourCanvas::Curve *end_xfade_in;
+       ArdourCanvas::Curve *end_xfade_out;
        ArdourCanvas::Rectangle* end_xfade_rect;
        bool _end_xfade_visible;
 
@@ -190,6 +192,7 @@ class AudioRegionView : public RegionView
 
        void set_colors ();
         void set_waveform_colors ();
+        void set_one_waveform_color (ArdourCanvas::WaveView*);
        void compute_colors (Gdk::Color const &);
        void reset_width_dependent_items (double pixel_width);
        void set_frame_color ();
@@ -207,6 +210,7 @@ private:
        void setup_waveform_visibility ();
        void setup_waveform_shape ();
        void setup_waveform_scale ();
+       void setup_waveform_clipping ();
 
        /** A ScopedConnection for each PeaksReady callback (one per channel).  Each member
         *  may be 0 if no connection exists.