user-configurable VST search paths (basic UI)
[ardour.git] / gtk2_ardour / route_time_axis.cc
index 3c7f6a515d031f7b0c406e180d2c000e763fb8e2..715eec53b4bc219234958a4df6bef520b91b8dca 100644 (file)
 #include "ardour/route_group.h"
 #include "ardour/session.h"
 #include "ardour/session_playlists.h"
+
 #include "evoral/Parameter.hpp"
 
+#include "canvas/debug.h"
+
 #include "ardour_ui.h"
 #include "ardour_button.h"
 #include "debug.h"
 #include "global_signals.h"
 #include "route_time_axis.h"
 #include "automation_time_axis.h"
-#include "canvas_impl.h"
 #include "enums.h"
 #include "gui_thread.h"
 #include "keyboard.h"
@@ -69,7 +71,6 @@
 #include "region_view.h"
 #include "rgb_macros.h"
 #include "selection.h"
-#include "simplerect.h"
 #include "streamview.h"
 #include "utils.h"
 #include "route_group_menu.h"
@@ -86,7 +87,7 @@ using namespace Editing;
 using namespace std;
 using std::list;
 
-RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, Canvas& canvas)
+RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
        : AxisView(sess)
        , RouteUI(sess)
        , TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas)
@@ -113,6 +114,10 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
 {
        RouteUI::set_route (rt);
 
+       CANVAS_DEBUG_NAME (_canvas_display, string_compose ("main for %1", rt->name()));
+       CANVAS_DEBUG_NAME (selection_group, string_compose ("selections for %1", rt->name()));
+       CANVAS_DEBUG_NAME (_ghost_group, string_compose ("ghosts for %1", rt->name()));
+
        int meter_width = 3;
        if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) {
                meter_width = 6;
@@ -243,8 +248,7 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
 
        } 
 
-       _editor.ZoomChanged.connect (sigc::mem_fun(*this, &RouteTimeAxisView::reset_samples_per_unit));
-       _editor.HorizontalPositionChanged.connect (sigc::mem_fun (*this, &RouteTimeAxisView::horizontal_position_changed));
+       _editor.ZoomChanged.connect (sigc::mem_fun(*this, &RouteTimeAxisView::reset_samples_per_pixel));
        ColorsChanged.connect (sigc::mem_fun (*this, &RouteTimeAxisView::color_handler));
 
        PropertyList* plist = new PropertyList();
@@ -784,13 +788,9 @@ RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layer
 #endif
 
        if (timestretch_rect == 0) {
-               timestretch_rect = new SimpleRect (*canvas_display ());
-               timestretch_rect->property_x1() =  0.0;
-               timestretch_rect->property_y1() =  0.0;
-               timestretch_rect->property_x2() =  0.0;
-               timestretch_rect->property_y2() =  0.0;
-               timestretch_rect->property_fill_color_rgba() =  ARDOUR_UI::config()->canvasvar_TimeStretchFill.get();
-               timestretch_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get();
+               timestretch_rect = new ArdourCanvas::Rectangle (canvas_display ());
+               timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
+               timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
        }
 
        timestretch_rect->show ();
@@ -799,10 +799,8 @@ RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layer
        double const x1 = start / _editor.get_current_zoom();
        double const x2 = (end - 1) / _editor.get_current_zoom();
 
-       timestretch_rect->property_x1() = x1;
-       timestretch_rect->property_y1() = current_height() * (layers - layer - 1) / layers;
-       timestretch_rect->property_x2() = x2;
-       timestretch_rect->property_y2() = current_height() * (layers - layer) / layers;
+       timestretch_rect->set (ArdourCanvas::Rect (x1, current_height() * (layers - layer - 1) / layers,
+                                                  x2, current_height() * (layers - layer) / layers));
 }
 
 void
@@ -912,21 +910,13 @@ RouteTimeAxisView::route_color_changed ()
 }
 
 void
-RouteTimeAxisView::reset_samples_per_unit ()
+RouteTimeAxisView::reset_samples_per_pixel ()
 {
-       set_samples_per_unit (_editor.get_current_zoom());
-}
-
-void
-RouteTimeAxisView::horizontal_position_changed ()
-{
-       if (_view) {
-               _view->horizontal_position_changed ();
-       }
+       set_samples_per_pixel (_editor.get_current_zoom());
 }
 
 void
-RouteTimeAxisView::set_samples_per_unit (double spu)
+RouteTimeAxisView::set_samples_per_pixel (double fpp)
 {
        double speed = 1.0;
 
@@ -935,10 +925,10 @@ RouteTimeAxisView::set_samples_per_unit (double spu)
        }
 
        if (_view) {
-               _view->set_samples_per_unit (spu * speed);
+               _view->set_samples_per_pixel (fpp * speed);
        }
 
-       TimeAxisView::set_samples_per_unit (spu * speed);
+       TimeAxisView::set_samples_per_pixel (fpp * speed);
 }
 
 void
@@ -1156,7 +1146,7 @@ RouteTimeAxisView::clear_playlist ()
 void
 RouteTimeAxisView::speed_changed ()
 {
-       Gtkmm2ext::UI::instance()->call_slot (invalidator (*this), boost::bind (&RouteTimeAxisView::reset_samples_per_unit, this));
+       Gtkmm2ext::UI::instance()->call_slot (invalidator (*this), boost::bind (&RouteTimeAxisView::reset_samples_per_pixel, this));
 }
 
 void
@@ -1634,11 +1624,11 @@ RouteTimeAxisView::color_handler ()
 {
        //case cTimeStretchOutline:
        if (timestretch_rect) {
-               timestretch_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchOutline.get();
+               timestretch_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchOutline());
        }
        //case cTimeStretchFill:
        if (timestretch_rect) {
-               timestretch_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeStretchFill.get();
+               timestretch_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_TimeStretchFill());
        }
 
        reset_meter();