- /* this constructor allows derived types
- to specify their visibility requirements
- to the TimeAxisViewItem parent class
- */
-
- enum Flags {
- EnvelopeVisible = 0x1,
- WaveformVisible = 0x4,
- WaveformRectified = 0x8,
- WaveformLogScaled = 0x10,
- };
-
- std::vector<ArdourCanvas::WaveView *> waves;
- std::vector<ArdourCanvas::WaveView *> tmp_waves; ///< see ::create_waves()
- ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position
- ArdourCanvas::SimpleLine* zero_line;
- ArdourCanvas::Polygon* fade_in_shape;
- ArdourCanvas::Polygon* fade_out_shape;
- ArdourCanvas::SimpleRect* fade_in_handle;
- ArdourCanvas::SimpleRect* fade_out_handle;
-
- AudioRegionGainLine * gain_line;
-
- double _amplitude_above_axis;
-
- uint32_t _flags;
- uint32_t fade_color;
-
- void reset_fade_shapes ();
- void reset_fade_in_shape ();
- void reset_fade_out_shape ();
- void fade_in_changed ();
- void fade_out_changed ();
- void fade_in_active_changed ();
- void fade_out_active_changed ();
-
- void region_resized (ARDOUR::Change);
- void region_muted ();
- void region_scale_amplitude_changed ();
+ /* this constructor allows derived types
+ to specify their visibility requirements
+ to the TimeAxisViewItem parent class
+ */
+
+ enum Flags {
+ WaveformVisible = 0x4,
+ WaveformRectified = 0x8,
+ WaveformLogScaled = 0x10,
+ };
+
+ std::vector<ArdourCanvas::WaveView *> waves;
+ std::vector<ArdourCanvas::WaveView *> tmp_waves; ///< see ::create_waves()
+
+ 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::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::Rectangle* start_xfade_rect;
+ bool _start_xfade_visible;
+
+ 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;
+
+ double _amplitude_above_axis;
+
+ uint32_t fade_color;
+
+ void reset_fade_shapes ();
+ void reset_fade_in_shape ();
+ void reset_fade_out_shape ();
+ void fade_in_changed ();
+ void fade_out_changed ();
+ void fade_in_active_changed ();
+ void fade_out_active_changed ();
+
+ void region_resized (const PBD::PropertyChange&);
+ void region_muted ();
+ void region_scale_amplitude_changed ();