fix visibility of punch and loop rects.
authorPaul Davis <paul@linuxaudiosystems.com>
Sun, 26 Jan 2014 19:04:23 +0000 (14:04 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Sun, 26 Jan 2014 19:04:23 +0000 (14:04 -0500)
They used to be in the time_line_group but this is regularly cleared of all its members (which were assumed to be time lines).

gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc

index 7366c601d285dcb8ab68d89dbeb0f47f3ca01537..29e3ac2bef2939dd5281ce4a2620e205e2e8e606 100644 (file)
@@ -1463,6 +1463,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        TempoLines* tempo_lines;
 
+       ArdourCanvas::Group* global_rect_group;
        ArdourCanvas::Group* time_line_group;
 
        void hide_measures ();
index d0ad6d68d39db8524196f9e945dbe278dbd13478..92acabbd76a208413689b6e61c30f30644fc5177 100644 (file)
@@ -88,19 +88,23 @@ Editor::initialize_canvas ()
                // logo_item->property_width_set() = true;
                logo_item->show ();
        }
+       
+       /*a group to hold global rects like punch/loop indicators */
+       global_rect_group = new ArdourCanvas::Group (_track_canvas->root());
+       CANVAS_DEBUG_NAME (global_rect_group, "global rect group");
 
-       /* a group to hold time (measure) lines */
-       time_line_group = new ArdourCanvas::Group (_track_canvas->root());
-       CANVAS_DEBUG_NAME (time_line_group, "time line group");
-
-        transport_loop_range_rect = new ArdourCanvas::Rectangle (time_line_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
+        transport_loop_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
        CANVAS_DEBUG_NAME (transport_loop_range_rect, "loop rect");
        transport_loop_range_rect->hide();
 
-       transport_punch_range_rect = new ArdourCanvas::Rectangle (time_line_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
+       transport_punch_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
        CANVAS_DEBUG_NAME (transport_punch_range_rect, "punch rect");
        transport_punch_range_rect->hide();
 
+       /*a group to hold time (measure) lines */
+       time_line_group = new ArdourCanvas::Group (_track_canvas->root());
+       CANVAS_DEBUG_NAME (time_line_group, "time line group");
+
        _trackview_group = new ArdourCanvas::Group (_track_canvas->root());
        CANVAS_DEBUG_NAME (_trackview_group, "Canvas TrackViews");
        _region_motion_group = new ArdourCanvas::Group (_trackview_group);