Prevent tempo lines from stealing events, but break marker bars visually when scrolle...
authorDavid Robillard <d@drobilla.net>
Sun, 14 Sep 2008 23:08:19 +0000 (23:08 +0000)
committerDavid Robillard <d@drobilla.net>
Sun, 14 Sep 2008 23:08:19 +0000 (23:08 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@3730 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour3_ui_default.conf
gtk2_ardour/audio_region_view.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/streamview.cc

index 5029c3f1213e0bbb5e7d981fd68d598c17578b89..c9ce81cfdecc9b5c69dbd8d17cc07ffb98a3d2a0 100644 (file)
@@ -7,7 +7,7 @@
     <Option name="automation line" value="44bc59ff"/>
     <Option name="automation track fill" value="a0a0ce68"/>
     <Option name="automation track outline" value="282828ff"/>
-    <Option name="cd marker bar" value="9898a3ff"/>
+    <Option name="cd marker bar" value="9898a3a0"/>
     <Option name="clipped waveform" value="ff0000e5"/>
     <Option name="control point fill" value="ffffff66"/>
     <Option name="control point outline" value="ffffffaa"/>
     <Option name="location punch" value="7c3a3aff"/>
     <Option name="location range" value="497a59ff"/>
     <Option name="marker bar separator" value="aaaaaa77"/>
-    <Option name="marker bar" value="a1a1adff"/>
+    <Option name="marker bar" value="a1a1ada0"/>
     <Option name="marker drag line" value="004f00f9"/>
     <Option name="marker label" value="000000ff"/>
     <Option name="marker track" value="ddddd8ff"/>
     <Option name="measure line bar" value="d9d9d99c"/>
     <Option name="measure line beat" value="b5b5b576"/>
-    <Option name="meter bar" value="666672ff"/>
+    <Option name="meter bar" value="666672a0"/>
     <Option name="meter fill clip" value="ff0000ff"/>
     <Option name="meter fill max" value="ee3333ff"/>
     <Option name="meter fill mid" value="eeee33ff"/>
@@ -80,7 +80,7 @@
     <Option name="punch line" value="a80000ff"/>
     <Option name="range drag bar rect" value="969696c6"/>
     <Option name="range drag rect" value="82c696c6"/>
-    <Option name="range marker bar" value="7f7f8cff"/>
+    <Option name="range marker bar" value="7f7f8ca0"/>
     <Option name="recording rect" value="e5c6c6ff"/>
     <Option name="region base" value="99a7b5a0"/>
     <Option name="rubber band rect" value="c6c6c659"/>
     <Option name="selected waveform outline" value="0f0f0fcc"/>
     <Option name="selection rect" value="e8f4d377"/>
     <Option name="selection" value="636363b2"/>
-    <Option name="tempo bar" value="72727fff"/>
+    <Option name="tempo bar" value="72727fa0"/>
     <Option name="tempo marker" value="f2425bff"/>
     <Option name="time axis frame" value="000000ff"/>
     <Option name="time stretch fill" value="e2b5b596"/>
     <Option name="time stretch outline" value="63636396"/>
     <Option name="transport drag rect" value="969696c6"/>
     <Option name="transport loop rect" value="1e7728f9"/>
-    <Option name="transport marker bar" value="8c8c96ff"/>
+    <Option name="transport marker bar" value="8c8c96a0"/>
     <Option name="transport punch rect" value="6d2828e5"/>
     <Option name="trim handle locked" value="ea0f0f28"/>
     <Option name="trim handle" value="1900ff44"/>
index 60f52d50a3b7de5a3d82e4ac065ecb44820749e3..e8550656318d21eb362b6948fc447a17002e7796 100644 (file)
@@ -951,7 +951,7 @@ AudioRegionView::create_one_wave (uint32_t which, bool direct)
                /* all waves created, don't hook into peaks ready anymore */
                data_ready_connection.disconnect ();            
 
-               if(0)
+#if 0
                if (!zero_line) {
                        zero_line = new ArdourCanvas::SimpleLine (*group);
                        zero_line->property_x1() = (gdouble) 1.0;
@@ -959,6 +959,7 @@ AudioRegionView::create_one_wave (uint32_t which, bool direct)
                        zero_line->property_color_rgba() = (guint) ARDOUR_UI::config()->canvasvar_ZeroLine.get();
                        manage_zero_line ();
                }
+#endif
        }
 }
 
index 2f6576827fa15a9f0d3672d1f1bcee5359259542..b957c995a0dc0ca339ed92193a1277a5877d1cdd 100644 (file)
@@ -636,7 +636,6 @@ class Editor : public PublicEditor
        ArdourCanvas::Group*      timebar_group;
 
        /* These bars never need to be scrolled */
-       ArdourCanvas::Group*      _bar_group;
        ArdourCanvas::Group*      meter_bar_group;
        ArdourCanvas::Group*      tempo_bar_group;
        ArdourCanvas::Group*      marker_bar_group;
@@ -644,22 +643,16 @@ class Editor : public PublicEditor
        ArdourCanvas::Group*      transport_marker_bar_group;
        ArdourCanvas::Group*      cd_marker_bar_group;
 
-       /* 
-          The _master_group is the group containing all items
-          that require horizontal scrolling..
-          It is primarily used to separate canvas items 
-          that require horizontal scrolling from those that do not. 
-       */
+       /** The group containing all items that require horizontal scrolling. */
        ArdourCanvas::Group* _master_group;
-       /* 
-          The _trackview_group is the group containing all trackviews.
-          It is only scrolled vertically.
-       */
+
+       /** The group containiner marker bars */
+       ArdourCanvas::Group* _bar_group;
+
+       /* The group containing all trackviews.  Only scrolled vertically. */
        ArdourCanvas::Group* _trackview_group;
-       /* 
-          This canvas group is used for region motion.
-          It sits on top of the _trackview_group 
-       */
+       
+       /* The group used for region motion.  Sits on top of _trackview_group */
        ArdourCanvas::Group* _region_motion_group;
        
        enum RulerType {
index 46fb9b1865c4a076b85a30b98c7ac71176cdde61..51093f3bcfa6091bf9e54bc9be8f886a21f8db4b 100644 (file)
@@ -95,6 +95,7 @@ static void ardour_canvas_type_init()
 #endif
 } 
 
+
 void
 Editor::initialize_canvas ()
 {
@@ -163,7 +164,7 @@ Editor::initialize_canvas ()
        }
 
        _master_group = new ArdourCanvas::Group (*track_canvas->root());
-       _bar_group = new ArdourCanvas::Group (*track_canvas->root());
+       _bar_group = new ArdourCanvas::Group (*_master_group);
        _trackview_group = new ArdourCanvas::Group (*_master_group);
        _region_motion_group = new ArdourCanvas::Group (*_master_group);
 
@@ -201,13 +202,13 @@ Editor::initialize_canvas ()
 
        /* a group to hold time (measure) lines */
        
-       time_line_group = new ArdourCanvas::Group (*_master_group, 0.0, 0.0);
+       time_line_group = new ArdourCanvas::Group(*_master_group, 0.0, 0.0);
 
        range_marker_drag_rect = new ArdourCanvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, 0.0);
        //range_marker_drag_rect = new ArdourCanvas::SimpleRect (*_master_group, 0.0, 0.0, 0.0, 0.0);
        range_marker_drag_rect->hide ();
 
-       timebar_group =  new ArdourCanvas::Group (*track_canvas->root());
+       timebar_group =  new ArdourCanvas::Group (*_master_group);
        cursor_group = new ArdourCanvas::Group (*track_canvas->root(), 0.0, 0.0);
 
        meter_group = new ArdourCanvas::Group (*timebar_group, 0.0, timebar_height * 5.0);
@@ -246,7 +247,11 @@ Editor::initialize_canvas ()
        
        transport_loop_range_rect->lower_to_bottom (); // loop on the bottom
        
-       _bar_group->lower_to_bottom(); // below tempo lines
+       time_line_group->lower_to_bottom();
+       _trackview_group->raise_to_top();
+       _bar_group->raise_to_top();
+       timebar_group->raise_to_top();
+       timebar_group->raise(1);
 
        transport_punchin_line = new ArdourCanvas::SimpleLine (*_master_group);
        transport_punchin_line->property_x1() = 0.0;
@@ -255,7 +260,7 @@ Editor::initialize_canvas ()
        transport_punchin_line->property_y2() = 0.0;
        transport_punchin_line->hide ();
        
-       transport_punchout_line  = new ArdourCanvas::SimpleLine (*_master_group);
+       transport_punchout_line = new ArdourCanvas::SimpleLine (*_master_group);
        transport_punchout_line->property_x1() = 0.0;
        transport_punchout_line->property_y1() = 0.0;
        transport_punchout_line->property_x2() = 0.0;
index 95838c5cef07ab32ea060a018b09e3d6a9c42f1a..5623394d9413b9d32290579b0fbf68914945edad 100644 (file)
@@ -67,6 +67,7 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* group)
        canvas_rect->property_y1() = 0.0;
        canvas_rect->property_x2() = _trackview.editor.frame_to_pixel (max_frames - 1);
        canvas_rect->property_y2() = (double) tv.current_height();
+       canvas_rect->raise(1); // raise above tempo lines
 
        // DR-way
        canvas_rect->property_outline_what() = (guint32) (0x2|0x8);  // outline RHS and bottom