13
0

Use shared_ptr for a region view's gain line.

git-svn-id: svn://localhost/ardour2/branches/3.0@11632 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2012-03-09 21:22:09 +00:00
parent e9bf20021e
commit 73cf69791b
2 changed files with 4 additions and 9 deletions

View File

@ -73,7 +73,6 @@ AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView
, fade_in_handle(0)
, fade_out_handle(0)
, fade_position_line(0)
, gain_line(0)
, _amplitude_above_axis(1.0)
, _flags(0)
, fade_color(0)
@ -90,7 +89,6 @@ AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView
, fade_in_handle(0)
, fade_out_handle(0)
, fade_position_line(0)
, gain_line(0)
, _amplitude_above_axis(1.0)
, _flags(0)
, fade_color(0)
@ -104,7 +102,6 @@ AudioRegionView::AudioRegionView (const AudioRegionView& other, boost::shared_pt
, fade_in_handle(0)
, fade_out_handle(0)
, fade_position_line(0)
, gain_line(0)
, _amplitude_above_axis (other._amplitude_above_axis)
, _flags (other._flags)
, fade_color(0)
@ -180,7 +177,7 @@ AudioRegionView::init (Gdk::Color const & basic_color, bool wfd)
const string line_name = _region->name() + ":gain";
if (!Profile->get_sae()) {
gain_line = new AudioRegionGainLine (line_name, *this, *group, audio_region()->envelope());
gain_line.reset (new AudioRegionGainLine (line_name, *this, *group, audio_region()->envelope()));
}
if (Config->get_show_region_gain()) {
@ -240,8 +237,6 @@ AudioRegionView::~AudioRegionView ()
}
/* all waveviews etc will be destroyed when the group is destroyed */
delete gain_line;
}
boost::shared_ptr<ARDOUR::AudioRegion>
@ -969,7 +964,7 @@ AudioRegionView::peaks_ready_handler (uint32_t which)
void
AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev)
{
if (gain_line == 0) {
if (!gain_line) {
return;
}

View File

@ -91,7 +91,7 @@ class AudioRegionView : public RegionView
void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
void remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
AudioRegionGainLine* get_gain_line() const { return gain_line; }
boost::shared_ptr<AudioRegionGainLine> get_gain_line() const { return gain_line; }
void region_changed (const PBD::PropertyChange&);
void envelope_active_changed ();
@ -142,7 +142,7 @@ class AudioRegionView : public RegionView
ArdourCanvas::SimpleRect* fade_out_handle; ///< fade out handle, or 0
ArdourCanvas::SimpleLine* fade_position_line;
AudioRegionGainLine * gain_line;
boost::shared_ptr<AudioRegionGainLine> gain_line;
double _amplitude_above_axis;