diff options
Diffstat (limited to 'gtk2_ardour/audio_region_view.h')
-rw-r--r-- | gtk2_ardour/audio_region_view.h | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h index 10159d0cfb..3bfa56d285 100644 --- a/gtk2_ardour/audio_region_view.h +++ b/gtk2_ardour/audio_region_view.h @@ -19,19 +19,22 @@ #ifndef __gtk_ardour_audio_region_view_h__ #define __gtk_ardour_audio_region_view_h__ +#ifdef interface +#undef interface +#endif + #include <vector> -#include <libgnomecanvasmm.h> -#include <libgnomecanvasmm/polygon.h> #include <sigc++/signal.h> #include "ardour/audioregion.h" +#include "canvas/fwd.h" +#include "canvas/wave_view.h" + #include "region_view.h" #include "time_axis_view_item.h" #include "automation_line.h" #include "enums.h" -#include "waveview.h" -#include "canvas.h" namespace ARDOUR { class AudioRegion; @@ -50,13 +53,13 @@ class AudioRegionView : public RegionView AudioRegionView (ArdourCanvas::Group *, RouteTimeAxisView&, boost::shared_ptr<ARDOUR::AudioRegion>, - double initial_samples_per_unit, + double initial_samples_per_pixel, Gdk::Color const & basic_color); AudioRegionView (ArdourCanvas::Group *, RouteTimeAxisView&, boost::shared_ptr<ARDOUR::AudioRegion>, - double samples_per_unit, + double samples_per_pixel, Gdk::Color const & basic_color, bool recording, TimeAxisViewItem::Visibility); @@ -72,7 +75,7 @@ class AudioRegionView : public RegionView void create_waves (); void set_height (double); - void set_samples_per_unit (double); + void set_samples_per_pixel (double); void set_amplitude_above_axis (gdouble spp); @@ -113,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); - void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t); + 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 (); void redraw_end_xfade (); @@ -154,17 +157,17 @@ class AudioRegionView : public RegionView ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position ArdourCanvas::Polygon* fade_in_shape; ArdourCanvas::Polygon* fade_out_shape; - ArdourCanvas::SimpleRect* fade_in_handle; ///< fade in handle, or 0 - ArdourCanvas::SimpleRect* fade_out_handle; ///< fade out handle, or 0 + ArdourCanvas::Rectangle* fade_in_handle; ///< fade in handle, or 0 + ArdourCanvas::Rectangle* fade_out_handle; ///< fade out handle, or 0 - ArdourCanvas::Line *start_xfade_in; - ArdourCanvas::Line *start_xfade_out; - ArdourCanvas::SimpleRect* start_xfade_rect; + ArdourCanvas::PolyLine *start_xfade_in; + ArdourCanvas::PolyLine *start_xfade_out; + ArdourCanvas::Rectangle* start_xfade_rect; bool _start_xfade_visible; - ArdourCanvas::Line *end_xfade_in; - ArdourCanvas::Line *end_xfade_out; - ArdourCanvas::SimpleRect* end_xfade_rect; + ArdourCanvas::PolyLine *end_xfade_in; + ArdourCanvas::PolyLine *end_xfade_out; + ArdourCanvas::Rectangle* end_xfade_rect; bool _end_xfade_visible; boost::shared_ptr<AudioRegionGainLine> gain_line; @@ -190,15 +193,14 @@ class AudioRegionView : public RegionView void peaks_ready_handler (uint32_t); 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_waveview_data_src(); void set_frame_color (); void color_handler (); - std::vector<GnomeCanvasWaveViewCache*> wave_caches; - void transients_changed(); AutomationLine::VisibleAspects automation_line_visibility () const; @@ -210,6 +212,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. |