rework narrow mode metric (again)
[ardour.git] / gtk2_ardour / audio_region_view.cc
index 26bcad68f85cf8310fd9d6453e7619df89684072..c6e42c0a4bd280a1da4a7ad14349363f6669fe8e 100644 (file)
@@ -21,7 +21,6 @@
 #include <algorithm>
 
 #include <boost/scoped_array.hpp>
-#include <boost/scoped_ptr.hpp>
 
 #include <gtkmm.h>
 
@@ -552,6 +551,7 @@ AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, f
        fade_in_handle->property_x2() = handle_center + handle_size;
 
        if (pwidth < 5) {
+               hide_start_xfade();
                fade_in_shape->hide();
                return;
        }
@@ -596,13 +596,13 @@ AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, f
        fade_in_shape->property_points() = *points;
        delete points;
 
+       redraw_start_xfade_to ( ar, width);
+
        /* ensure trim handle stays on top */
        if (frame_handle_start) {
                frame_handle_start->raise_to_top();
        }
 
-       redraw_start_xfade_to ( ar, width);
-
 }
 
 void
@@ -642,6 +642,7 @@ AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar,
        /* don't show shape if its too small */
 
        if (pwidth < 5) {
+               hide_end_xfade();
                fade_out_shape->hide();
                return;
        }
@@ -686,12 +687,13 @@ AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar,
        fade_out_shape->property_points() = *points;
        delete points;
 
+       redraw_end_xfade_to (ar, width);
+
        /* ensure trim handle stays on top */
        if (frame_handle_end) {
                frame_handle_end->raise_to_top();
        }
 
-       redraw_end_xfade_to (ar, width);
 }
 
 framepos_t
@@ -1268,7 +1270,6 @@ AudioRegionView::show_region_editor ()
        }
 
        editor->present ();
-       editor->set_position (Gtk::WIN_POS_MOUSE);
        editor->show_all();
 }
 
@@ -1535,7 +1536,7 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecn
        }
 
        Points* points = get_canvas_points ("xfade edit redraw", npoints);
-       boost::scoped_ptr<float> vec (new float[npoints]);
+       boost::scoped_array<float> vec (new float[npoints]);
 
        ar->fade_out()->curve().get_vector (0, ar->fade_out()->back()->when, vec.get(), npoints);