X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Feditor_mouse.cc;h=b2ee2777cfea9845f34853fa41a7eef478f76f88;hb=dd8c5f9144470433bbedf932fcff65fc9630402b;hp=e75d51313e3d8ae9f4caab6d53af6289a2513f92;hpb=bebe2af95ad9999fdca719450dc2c70cfb849076;p=ardour.git diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index e75d51313e..b2ee2777cf 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -627,7 +627,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp switch (item_type) { case RegionItem: - if (!get_smart_mode() || (_join_object_range_state == JOIN_OBJECT_RANGE_OBJECT)) { + if (!get_smart_mode() || (_join_object_range_state != JOIN_OBJECT_RANGE_RANGE)) { if (press) { if (mouse_mode != MouseRange) { set_selected_regionview_from_click (press, op); @@ -882,8 +882,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT case RegionViewNameHighlight: if (!clicked_regionview->region()->locked()) { - RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id); - _drags->set (new TrimDrag (this, item, clicked_regionview, s.by_layer()), event); + _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); return true; } break; @@ -958,15 +957,13 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT switch (item_type) { case FadeInHandleItem: { - RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id); - _drags->set (new FadeInDrag (this, item, reinterpret_cast (item->get_data("regionview")), s), event, _cursors->fade_in); + _drags->set (new FadeInDrag (this, item, reinterpret_cast (item->get_data("regionview")), selection->regions), event, _cursors->fade_in); return true; } case FadeOutHandleItem: { - RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id); - _drags->set (new FadeOutDrag (this, item, reinterpret_cast (item->get_data("regionview")), s), event, _cursors->fade_out); + _drags->set (new FadeOutDrag (this, item, reinterpret_cast (item->get_data("regionview")), selection->regions), event, _cursors->fade_out); return true; } @@ -974,8 +971,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT case EndCrossFadeItem: /* we might allow user to grab inside the fade to trim a region with preserve_fade_anchor. for not this is not fully implemented */ // if (!clicked_regionview->region()->locked()) { -// RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id); -// _drags->set (new TrimDrag (this, item, clicked_regionview, s.by_layer(), true), event); +// _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), true), event); // return true; // } break; @@ -1026,8 +1022,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT case LeftFrameHandle: case RightFrameHandle: if (!clicked_regionview->region()->locked()) { - RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id); - _drags->set (new TrimDrag (this, item, clicked_regionview, s.by_layer()), event); + _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer()), event); return true; } break; @@ -1035,8 +1030,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT case RegionViewName: { /* rename happens on edit clicks */ - RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id); - _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, s.by_layer()), event); + _drags->set (new TrimDrag (this, clicked_regionview->get_name_highlight(), clicked_regionview, selection->regions.by_layer()), event); return true; break; } @@ -1299,6 +1293,11 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT bool Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { + if (event->type == GDK_2BUTTON_PRESS) { + _drags->mark_double_click (); + return false; + } + if (event->type != GDK_BUTTON_PRESS) { return false; } @@ -1377,7 +1376,7 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp //not rolling, range mode click + join_play_range : locate the PH here if ( !_drags->active () && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && Config->get_always_play_range() ) { - framepos_t where = canvas_event_frame (event, 0, 0); + framepos_t where = canvas_event_frame (event); snap_to(where); _session->request_locate (where, false); } @@ -1426,7 +1425,7 @@ Editor::button_release_dispatch (GdkEventButton* ev) bool Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type) { - framepos_t where = canvas_event_frame (event, 0, 0); + framepos_t where = canvas_event_frame (event); AutomationTimeAxisView* atv = 0; if (pre_press_cursor) { @@ -1453,7 +1452,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT were_dragging = true; } - update_region_layering_order_editor (); + update_region_layering_order_editor (); /* edit events get handled here */ @@ -2623,8 +2622,7 @@ Editor::add_region_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* region if (Config->get_edit_mode() == Splice) { _drags->add (new RegionSpliceDrag (this, item, region_view, selection->regions.by_layer())); } else { - RegionSelection s = get_equivalent_regions (selection->regions, ARDOUR::Properties::select.property_id); - _drags->add (new RegionMoveDrag (this, item, region_view, s.by_layer(), false, false)); + _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), false, false)); } } @@ -2639,8 +2637,7 @@ Editor::add_region_copy_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* r _region_motion_group->raise_to_top (); - RegionSelection s = get_equivalent_regions (selection->regions, ARDOUR::Properties::select.property_id); - _drags->add (new RegionMoveDrag (this, item, region_view, s.by_layer(), false, true)); + _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), false, true)); } void @@ -2656,8 +2653,7 @@ Editor::add_region_brush_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* return; } - RegionSelection s = get_equivalent_regions (selection->regions, ARDOUR::Properties::select.property_id); - _drags->add (new RegionMoveDrag (this, item, region_view, s.by_layer(), true, false)); + _drags->add (new RegionMoveDrag (this, item, region_view, selection->regions.by_layer(), true, false)); begin_reversible_command (Operations::drag_region_brush); }