remove timebar canvas and just use a single canvas instead. This is just part one...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 21 May 2014 15:12:57 +0000 (11:12 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 3 Jun 2014 20:10:27 +0000 (16:10 -0400)
gtk2_ardour/audio_region_view.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/editor_cursors.cc
gtk2_ardour/editor_cursors.h
gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_mouse.cc
gtk2_ardour/public_editor.h

index 5cbc24eb82c589b85a7f323bd7084233d0d91b6b..256c777cd4ffa908e4b1d83f12e12f0e94c361db 100644 (file)
@@ -604,12 +604,10 @@ AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, f
        /* points *MUST* be in anti-clockwise order */
 
        Points points;
-       Points::size_type npoints;
        Points::size_type pi;
        boost::shared_ptr<const Evoral::ControlList> list (audio_region()->fade_in());
        Evoral::ControlList::const_iterator x;
        double length = list->length();
-       npoints = list->size();
 
        points.assign (list->size(), Duple());
 
index 436b8a250cd641eddb29ee1b9ff0f7bbeae021d7..5d16b09c02a6a25f0862abbbbf49a764808e8b2e 100644 (file)
@@ -541,10 +541,8 @@ Editor::Editor ()
        edit_packer.attach (time_canvas_event_box,   2, 3, 0, 1,    FILL|EXPAND, FILL, 0, 0);
        /* track controls */
        edit_packer.attach (controls_layout,         0, 2, 2, 3,    FILL,        FILL|EXPAND, 0, 0);
-       /* time bars canvas */
-       edit_packer.attach (*_time_bars_canvas_viewport, 2, 3, 1, 2,    FILL,    FILL, 0, 0);
        /* track canvas */
-       edit_packer.attach (*_track_canvas_viewport,  2, 3, 2, 3,    FILL|EXPAND, FILL|EXPAND, 0, 0);
+       edit_packer.attach (*_track_canvas_viewport,  2, 3, 1, 3,    FILL|EXPAND, FILL|EXPAND, 0, 0);
 
        bottom_hbox.set_border_width (2);
        bottom_hbox.set_spacing (3);
@@ -783,7 +781,6 @@ Editor::~Editor()
         delete button_bindings;
        delete _routes;
        delete _route_groups;
-       delete _time_bars_canvas_viewport;
        delete _track_canvas_viewport;
        delete _drags;
 }
@@ -4182,10 +4179,6 @@ Editor::set_samples_per_pixel (framecnt_t spp)
 
        ArdourCanvas::GtkCanvasViewport* c;
 
-       c = get_time_bars_canvas();
-       if (c) {
-               c->canvas()->zoomed ();
-       }
        c = get_track_canvas();
        if (c) {
                c->canvas()->zoomed ();
index f6623a3a153de0fa4bf131f437e3d078f1acdb9d..9f71ec620fb8a8e1b328fd894cd6fd4a0516cc78 100644 (file)
@@ -449,7 +449,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ArdourCanvas::Group* get_trackview_group () const { return _trackview_group; }
         ArdourCanvas::Group* get_time_bars_group () const;
         ArdourCanvas::Group* get_track_canvas_group () const;
-        ArdourCanvas::GtkCanvasViewport* get_time_bars_canvas () const;
         ArdourCanvas::GtkCanvasViewport* get_track_canvas () const;
 
         void override_visible_track_count ();
@@ -695,9 +694,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ArdourCanvas::GtkCanvas* _track_canvas;
        ArdourCanvas::GtkCanvasViewport* _track_canvas_viewport;
 
-        ArdourCanvas::GtkCanvas* _time_bars_canvas;
-        ArdourCanvas::GtkCanvasViewport* _time_bars_canvas_viewport;
-
        bool within_track_canvas;
 
        friend class VerboseCursor;
index eaf9c255989b804bd5ab7047e8ee995bf287f396..a7c884ac986977d1dd73fa843098e41e212240cb 100644 (file)
@@ -114,40 +114,43 @@ Editor::initialize_canvas ()
 
        /* TIME BAR CANVAS */
        
-       _time_bars_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (horizontal_adjustment, unused_adjustment);
-       _time_bars_canvas = _time_bars_canvas_viewport->canvas ();
+       ArdourCanvas::ScrollGroup* hg; 
 
-       meter_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       h_scroll_group = hg = new ArdourCanvas::ScrollGroup (_track_canvas->root(), ArdourCanvas::ScrollGroup::ScrollsHorizontally);
+       CANVAS_DEBUG_NAME (h_scroll_group, "canvas h scroll");
+       _track_canvas->add_scroller (*hg);
+       
+       meter_bar_group = new ArdourCanvas::Group (h_scroll_group);
        meter_bar = new ArdourCanvas::Rectangle (meter_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (meter_bar, "meter Bar");
        meter_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
 
-       tempo_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       tempo_bar_group = new ArdourCanvas::Group (h_scroll_group);
        tempo_bar = new ArdourCanvas::Rectangle (tempo_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (tempo_bar, "Tempo  Bar");
        tempo_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
 
-       range_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       range_marker_bar_group = new ArdourCanvas::Group (h_scroll_group);
        range_marker_bar = new ArdourCanvas::Rectangle (range_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (range_marker_bar, "Range Marker Bar");
        range_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
 
-       transport_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       transport_marker_bar_group = new ArdourCanvas::Group (h_scroll_group);
        transport_marker_bar = new ArdourCanvas::Rectangle (transport_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (transport_marker_bar, "transport Marker Bar");
        transport_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
 
-       marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       marker_bar_group = new ArdourCanvas::Group (h_scroll_group);
        marker_bar = new ArdourCanvas::Rectangle (marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (marker_bar, "Marker Bar");
        marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
 
-       cd_marker_bar_group = new ArdourCanvas::Group (_time_bars_canvas->root ());
+       cd_marker_bar_group = new ArdourCanvas::Group (h_scroll_group);
        cd_marker_bar = new ArdourCanvas::Rectangle (cd_marker_bar_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));
        CANVAS_DEBUG_NAME (cd_marker_bar, "CD Marker Bar");
        cd_marker_bar->set_outline_what (ArdourCanvas::Rectangle::BOTTOM);
        
-       _time_markers_group = new ArdourCanvas::Group (_time_bars_canvas->root());
+       _time_markers_group = new ArdourCanvas::Group (h_scroll_group);
 
        cd_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, 0.0));
        CANVAS_DEBUG_NAME (cd_marker_group, "cd marker group");
@@ -929,7 +932,7 @@ Editor::clamp_verbose_cursor_y (double y)
 ArdourCanvas::Group*
 Editor::get_time_bars_group () const
 {
-       return _time_bars_canvas->root();
+       return h_scroll_group;
 }
 
 ArdourCanvas::Group*
@@ -938,12 +941,6 @@ Editor::get_track_canvas_group() const
        return hv_scroll_group;
 }
 
-ArdourCanvas::GtkCanvasViewport*
-Editor::get_time_bars_canvas() const
-{
-       return _time_bars_canvas_viewport;
-}
-
 ArdourCanvas::GtkCanvasViewport*
 Editor::get_track_canvas() const
 {
index 461fe4758e938e807e0f40be5831b8dba181e531..907a215e5ba3a691a2936abf4a775fa382c018f3 100644 (file)
@@ -33,26 +33,20 @@ using namespace Gtk;
 
 EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,ArdourCanvas::Item*))
        : _editor (ed)
-       , _time_bars_canvas_item (new ArdourCanvas::Arrow (_editor.get_time_bars_group()))
-       , _track_canvas_item (new ArdourCanvas::Line (_editor.get_track_canvas_group()))
+       , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_track_canvas_group()))
        , _length (1.0)
 {
-       CANVAS_DEBUG_NAME (_time_bars_canvas_item, "timebars editor cursor");
        CANVAS_DEBUG_NAME (_track_canvas_item, "track canvas editor cursor");
 
-       _time_bars_canvas_item->set_show_head (0, true);
-       _time_bars_canvas_item->set_head_height (0, 9);
-       _time_bars_canvas_item->set_head_width (0, 16);
-       _time_bars_canvas_item->set_head_outward (0, false);
-       _time_bars_canvas_item->set_show_head (1, false); // head only
-
-       _time_bars_canvas_item->set_data ("cursor", this);
+       _track_canvas_item->set_show_head (0, true);
+       _track_canvas_item->set_head_height (0, 9);
+       _track_canvas_item->set_head_width (0, 16);
+       _track_canvas_item->set_head_outward (0, false);
+       _track_canvas_item->set_show_head (1, false); // head only
        _track_canvas_item->set_data ("cursor", this);
 
-       _time_bars_canvas_item->Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), _time_bars_canvas_item));
        _track_canvas_item->Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), _track_canvas_item));
 
-       _time_bars_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
        _track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX);
        
        _current_frame = 1; /* force redraw at 0 */
@@ -70,12 +64,8 @@ EditorCursor::set_position (framepos_t frame)
 
        double const new_pos = _editor.sample_to_pixel_unrounded (frame);
 
-       if (new_pos != _time_bars_canvas_item->x ()) {
-               _time_bars_canvas_item->set_x (new_pos);
-       }
-
-       if (new_pos != _track_canvas_item->x0 ()) {
-               _track_canvas_item->set_x (new_pos, new_pos);
+       if (new_pos != _track_canvas_item->x ()) {
+               _track_canvas_item->set_x (new_pos);
        }
 
        _current_frame = frame;
@@ -84,20 +74,17 @@ EditorCursor::set_position (framepos_t frame)
 void
 EditorCursor::show ()
 {
-       _time_bars_canvas_item->show ();
        _track_canvas_item->show ();
 }
 
 void
 EditorCursor::hide ()
 {
-       _time_bars_canvas_item->hide ();
        _track_canvas_item->hide ();
 }
 
 void
 EditorCursor::set_color (ArdourCanvas::Color color)
 {
-       _time_bars_canvas_item->set_color (color);
-       _track_canvas_item->set_outline_color (color);
+       _track_canvas_item->set_color (color);
 }
index 4a2d20e8f88833010c2289d35f077564a48e8a56..9eab63452b72e6193f8e1ebb63e433976547eba7 100644 (file)
@@ -41,20 +41,15 @@ class EditorCursor {
                return _current_frame;
        }
 
-       ArdourCanvas::Line& track_canvas_item () {
+       ArdourCanvas::Arrow& track_canvas_item () {
                return *_track_canvas_item;
        }
 
-       ArdourCanvas::Arrow& time_bar_canvas_item () {
-               return *_time_bars_canvas_item;
-       }
-
        PBD::Signal1<void, framepos_t> PositionChanged;
 
   private:     
        Editor&               _editor;
-       ArdourCanvas::Arrow*  _time_bars_canvas_item;
-       ArdourCanvas::Line*   _track_canvas_item;
+       ArdourCanvas::Arrow*  _track_canvas_item;
        framepos_t            _current_frame;
        double                _length;
 };
index 0343773028d3ff4f20e175ad9e0b067d15a6611c..1c50d8668479449e941b002a0dac345e6178c874 100644 (file)
@@ -2472,7 +2472,7 @@ TempoMarkerDrag::aborted (bool moved)
 }
 
 CursorDrag::CursorDrag (Editor* e, EditorCursor& c, bool s)
-       : Drag (e, &c.time_bar_canvas_item())
+       : Drag (e, &c.track_canvas_item())
        , _cursor (c)
        , _stop (s)
 {
index ef349149303b15699a89d21b98624aa9c857a1fc..b8d57dca31d947ca7adee988d170d1392003f170 100644 (file)
@@ -114,7 +114,7 @@ Editor::mouse_frame (framepos_t& where, bool& in_track_canvas) const
                return false;
        }
 
-       if (pointer_window != canvas_window && pointer_window != _time_bars_canvas->get_window()) {
+       if (pointer_window != canvas_window) {
                in_track_canvas = false;
                return false;
        }
index 84e913b74bea8657683579fd8c040e751bd8e6c9..5b98ae649200f2e3311c1b74692a30707c944559 100644 (file)
@@ -367,7 +367,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
        virtual ArdourCanvas::Group* get_time_bars_group () const = 0;
        virtual ArdourCanvas::Group* get_track_canvas_group () const = 0;
 
-        virtual ArdourCanvas::GtkCanvasViewport* get_time_bars_canvas() const = 0;
         virtual ArdourCanvas::GtkCanvasViewport* get_track_canvas() const = 0;
 
        virtual TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const = 0;