View Issue Details

IDProjectCategoryView StatusLast Update
0000668ardourbugspublic2020-04-19 20:12
Reporternmains Assigned Tocth103  
PriorityurgentSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Summary0000668: range selection time cursor is wrong (sometimes)
Descriptionif you drag the start of a range beyond it's end, the time cursor displays the current pointer position rather than the new start position of the selection.
also, dragging the entire selection always snaps.
Additional Informationthis patch corrects the above.
TagsNo tags attached.

Activities

2004-08-06 18:16

 

selection_cursor_fix.diff (2,617 bytes)   
--- Desktop/ardour/gtk_ardour/editor_mouse.cc	Fri Aug  6 14:33:12 2004
+++ cvs/ardour/gtk_ardour/editor_mouse.cc	Sat Aug  7 03:57:06 2004
@@ -2845,24 +2845,21 @@
 	case SelectionStartTrim:
 		clicked_trackview->order_selection_trims (item, true);
 		start_grab (event, trimmer_cursor);
+		show_verbose_time_cursor(selection->time[clicked_selection].start, 10);
 		break;
 		
 	case SelectionEndTrim:
 		clicked_trackview->order_selection_trims (item, false);
 		start_grab (event, trimmer_cursor);
+		show_verbose_time_cursor(selection->time[clicked_selection].end, 10);
 		break;
 
 	case SelectionMove:
 		start = selection->time[clicked_selection].start;
 		start_grab (event);
-		drag_info.pointer_frame_offset = drag_info.grab_frame - start;	
-		break;
-	}
-
-	if (selection_op == SelectionMove) {
+		drag_info.pointer_frame_offset = drag_info.grab_frame - start;
 		show_verbose_time_cursor(start, 10);	
-	} else {
-		show_verbose_time_cursor(drag_info.current_pointer_frame, 10);	
+		break;
 	}
 }
 
@@ -2872,8 +2869,9 @@
 	jack_nframes_t start = 0;
 	jack_nframes_t end = 0;
 	jack_nframes_t length;
+	bool obey_snap = !Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier());
 
-	if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) {
+	if (obey_snap) {
 		snap_to (drag_info.current_pointer_frame);
 	}
 
@@ -2914,7 +2912,8 @@
 				/* new selection-> */
 				clicked_selection = selection->set (clicked_trackview, start, end);
 			}
-		} 
+		}
+		show_verbose_time_cursor(drag_info.current_pointer_frame, 10); 
 		break;
 		
 	case SelectionStartTrim:
@@ -2931,6 +2930,7 @@
 		} else {
 			start = drag_info.current_pointer_frame;
 		}
+		show_verbose_time_cursor(start, 10);
 		break;
 		
 	case SelectionEndTrim:
@@ -2947,6 +2947,7 @@
 		} else {
 			end = drag_info.current_pointer_frame;
 		}
+		show_verbose_time_cursor(end, 10);
 		break;
 		
 	case SelectionMove:
@@ -2962,12 +2963,15 @@
 		
 		if ((long) drag_info.current_pointer_frame > drag_info.pointer_frame_offset) {
 			start = drag_info.current_pointer_frame - drag_info.pointer_frame_offset;
-			snap_to (start);
+			if (obey_snap) {
+				snap_to (start);
+			}
 		} else {
 			start = 0;
 		}
 		
 		end = start + length;
+		show_verbose_time_cursor(start, 10);
 		
 		break;
 	}
@@ -2984,11 +2988,6 @@
 	drag_info.last_pointer_frame = drag_info.current_pointer_frame;
 	drag_info.first_move = false;
 
-	if (selection_op == SelectionMove) {
-		show_verbose_time_cursor(start, 10);	
-	} else {
-		show_verbose_time_cursor(drag_info.current_pointer_frame, 10);	
-	}
 }
 
 void
selection_cursor_fix.diff (2,617 bytes)   

cth103

2009-10-23 20:19

administrator   ~0006873

I'm afraid I'm not quite sure what this patch fixes. Can you give a more explicit example of the misbehaviour?

cth103

2009-12-04 11:24

administrator   ~0007230

Closing this due to a lack of feedback. Please re-open if it is still an issue.

system

2020-04-19 20:12

developer   ~0021433

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2004-08-06 18:16 nmains New Issue
2004-08-06 18:16 nmains File Added: selection_cursor_fix.diff
2009-10-23 20:19 cth103 Note Added: 0006873
2009-10-23 20:19 cth103 Status new => feedback
2009-12-04 11:24 cth103 Note Added: 0007230
2009-12-04 11:24 cth103 cost => 0.00
2009-12-04 11:24 cth103 Status feedback => resolved
2009-12-04 11:24 cth103 Resolution open => fixed
2009-12-04 11:24 cth103 Assigned To => cth103
2020-04-19 20:12 system Note Added: 0021433
2020-04-19 20:12 system Status resolved => closed