adjusting region fade in/out lengths makes the fade in/out active; new font sizes...
[ardour.git] / gtk2_ardour / editor_canvas.cc
index b02543767a85a467faf7e299e2e0612a15659c6e..a5922fc5157dc906f39e645efa0a91450ee49411 100644 (file)
@@ -317,25 +317,27 @@ Editor::track_canvas_size_allocated ()
        reset_scrolling_region ();
 
        if (playhead_cursor) playhead_cursor->set_length (canvas_height);
+
+       double y1 = vertical_adjustment.get_value ();
        
        for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) {
-               (*x)->set_line_length (canvas_height);
+               (*x)->set_line_vpos (y1, canvas_height);
        }
 
-       range_marker_drag_rect->property_y2() = canvas_height;
-       transport_loop_range_rect->property_y2() = canvas_height;
-       transport_punch_range_rect->property_y2() = canvas_height;
-       transport_punchin_line->property_y2() = canvas_height;
-       transport_punchout_line->property_y2() = canvas_height;
+       range_marker_drag_rect->property_y1() = y1;
+       range_marker_drag_rect->property_y2() = full_canvas_height;
+       transport_loop_range_rect->property_y1() = y1;
+       transport_loop_range_rect->property_y2() = full_canvas_height;
+       transport_punch_range_rect->property_y1() = y1;
+       transport_punch_range_rect->property_y2() = full_canvas_height;
+       transport_punchin_line->property_y1() = y1;
+       transport_punchin_line->property_y2() = full_canvas_height;
+       transport_punchout_line->property_y1() = y1;
+       transport_punchout_line->property_y2() = full_canvas_height;
        
        update_fixed_rulers();
        redisplay_tempo (true);
 
-       if (logo_item) {
-               // logo_item->property_height() = canvas_height;
-               // logo_item->property_width() = canvas_width;
-       }
-
        Resized (); /* EMIT_SIGNAL */
 
        return false;
@@ -433,6 +435,8 @@ Editor::track_canvas_drag_data_received (const RefPtr<Gdk::DragContext>& context
                                         const SelectionData& data,
                                         guint info, guint time)
 {
+       cerr << "drop on canvas, target = " << data.get_target() << endl;
+
        if (data.get_target() == "regions") {
                drop_regions (context, x, y, data, info, time);
        } else {
@@ -682,6 +686,38 @@ Editor::left_track_canvas (GdkEventCrossing *ev)
        return FALSE;
 }
 
+void
+Editor::tie_vertical_scrolling ()
+{
+       double y1 = vertical_adjustment.get_value();
+
+       playhead_cursor->set_y_axis (y1);
+
+       range_marker_drag_rect->property_y1() = y1;
+       range_marker_drag_rect->property_y2() = full_canvas_height;
+       transport_loop_range_rect->property_y1() = y1;
+       transport_loop_range_rect->property_y2() = full_canvas_height;
+       transport_punch_range_rect->property_y1() = y1;
+       transport_punch_range_rect->property_y2() = full_canvas_height;
+       transport_punchin_line->property_y1() = y1;
+       transport_punchin_line->property_y2() = full_canvas_height;
+       transport_punchout_line->property_y1() = y1;
+       transport_punchout_line->property_y2() = full_canvas_height;
+
+       if (!selection->markers.empty()) {
+               for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) {            
+                       (*x)->set_line_vpos (y1, canvas_height);
+               }
+       }
+
+       if (logo_item) {
+               logo_item->property_y() = y1;
+       }
+
+       /* this will do an immediate redraw */
+
+       controls_layout.get_vadjustment()->set_value (y1);
+}
 
 void 
 Editor::canvas_horizontally_scrolled ()