case MouseTimeFX:
c = _cursors->midi_resize;
break;
+
+ case MouseRange:
+ c = _cursors->grabber_note;
+ break;
default:
break;
switch (mouse_mode) {
case MouseRange:
current_canvas_cursor = _cursors->selector;
+ if (_internal_editing) {
+ current_canvas_cursor = which_grabber_cursor();
+ }
break;
case MouseObject:
break;
}
- switch (_join_object_range_state) {
- case JOIN_OBJECT_RANGE_NONE:
- break;
- case JOIN_OBJECT_RANGE_OBJECT:
- current_canvas_cursor = which_grabber_cursor ();
- break;
- case JOIN_OBJECT_RANGE_RANGE:
- current_canvas_cursor = _cursors->selector;
- break;
+ if (!_internal_editing) {
+ switch (_join_object_range_state) {
+ case JOIN_OBJECT_RANGE_NONE:
+ break;
+ case JOIN_OBJECT_RANGE_OBJECT:
+ current_canvas_cursor = which_grabber_cursor ();
+ break;
+ case JOIN_OBJECT_RANGE_RANGE:
+ current_canvas_cursor = _cursors->selector;
+ break;
+ }
}
/* up-down cursor as a cue that automation can be dragged up and down when in join object/range mode */
- if ( get_smart_mode() ) {
+ if (!_internal_editing && get_smart_mode() ) {
double x, y;
get_pointer_position (x, y);
ArdourCanvas::Item* i = track_canvas->get_item_at (x, y);
case RegionViewNameHighlight:
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()), event);
- return true;
- }
- break;
-
- case LeftFrameHandle:
- case RightFrameHandle:
- if (!internal_editing() && !clicked_regionview->region()->locked()) {
- RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id);
+ RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id);
_drags->set (new TrimDrag (this, item, clicked_regionview, s.by_layer()), event);
return true;
}
return true;
}
break;
+ case StreamItem:
+ if (internal_editing()) {
+ if (dynamic_cast<MidiTimeAxisView*> (clicked_axisview)) {
+ _drags->set (new RegionCreateDrag (this, item, clicked_axisview), event);
+ }
+ return true;
+ }
+ break;
default:
break;
switch (item_type) {
case FadeInHandleItem:
{
- RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id);
+ RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id);
_drags->set (new FadeInDrag (this, item, reinterpret_cast<RegionView*> (item->get_data("regionview")), s), event, _cursors->fade_in);
return true;
}
case FadeOutHandleItem:
{
- RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id);
+ RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id);
_drags->set (new FadeOutDrag (this, item, reinterpret_cast<RegionView*> (item->get_data("regionview")), s), event, _cursors->fade_out);
return true;
}
case LeftFrameHandle:
case RightFrameHandle:
if (!clicked_regionview->region()->locked()) {
- RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id);
+ RegionSelection s = get_equivalent_regions (selection->regions, Properties::select.property_id);
_drags->set (new TrimDrag (this, item, clicked_regionview, s.by_layer()), event);
return true;
}
case RegionViewName:
{
/* rename happens on edit clicks */
- RegionSelection s = get_equivalent_regions (selection->regions, Properties::edit.property_id);
+ 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);
return true;
break;
case RangeMarkerBarItem:
case CdMarkerBarItem:
case TransportMarkerBarItem:
+ case StreamItem:
/* button press on these events never does anything to
change the editing mode.
*/
break;
-
- case StreamItem:
- leave_internal_edit_mode = true;
- break;
default:
break;
JoinObjectRangeState const old = _join_object_range_state;
update_join_object_range_location (event->motion.x, event->motion.y);
- if (_join_object_range_state != old) {
+
+ if (!_internal_editing && _join_object_range_state != old) {
set_canvas_cursor ();
}
- if (_over_region_trim_target) {
+ if (!_internal_editing && _over_region_trim_target) {
set_canvas_cursor_for_region_view (event->motion.x, entered_regionview);
}
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::edit.property_id);
+ 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));
}
_region_motion_group->raise_to_top ();
- RegionSelection s = get_equivalent_regions (selection->regions, ARDOUR::Properties::edit.property_id);
+ 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));
}
return;
}
- RegionSelection s = get_equivalent_regions (selection->regions, ARDOUR::Properties::edit.property_id);
+ 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));
begin_reversible_command (Operations::drag_region_brush);