[Bf-blender-cvs] [aab388678ab] tracking_tools: Merge branch 'master' into tracking_tools
Sergey Sharybin
noreply at git.blender.org
Fri May 13 17:33:15 CEST 2022
Commit: aab388678abd5dd0660cf0387966e66b69e8fdb8
Author: Sergey Sharybin
Date: Fri May 13 17:23:53 2022 +0200
Branches: tracking_tools
https://developer.blender.org/rBaab388678abd5dd0660cf0387966e66b69e8fdb8
Merge branch 'master' into tracking_tools
===================================================================
===================================================================
diff --cc source/blender/editors/space_clip/tracking_select.c
index 2e5f5e7bdf5,6b11fb86efc..73765a70670
--- a/source/blender/editors/space_clip/tracking_select.c
+++ b/source/blender/editors/space_clip/tracking_select.c
@@@ -281,12 -292,35 +292,37 @@@ static int select_exec(bContext *C, wmO
ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
- MovieTrackingTrack *track;
- MovieTrackingPlaneTrack *plane_track;
+ const bool extend = RNA_boolean_get(op->ptr, "extend");
+ const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
+
+ float co[2];
+ RNA_float_get_array(op->ptr, "location", co);
+
+ /* Special code which allows to slide a marker which belongs to currently selected but not yet
+ * active track. If such track is found activate it and return pass-though so that marker slide
+ * operator can be used immediately after.
- * This logic makes it convenient to slide markers when left mouse selection is used. */
- if (!extend) {
++ * This logic makes it convenient to slide markers when left mouse selection is used. Without it
++ * selection will be lost which causes inconvenience for the VFX artist. */
++ const bool activate_selected = RNA_boolean_get(op->ptr, "activate_selected");
++ if (activate_selected) {
+ MovieTrackingTrack *track = tracking_find_slidable_track_in_proximity(C, co);
+ if (track != NULL) {
+ MovieClip *clip = ED_space_clip_get_clip(sc);
+
+ clip->tracking.act_track = track;
+
+ WM_event_add_notifier(C, NC_GEOM | ND_SELECT, NULL);
+ DEG_id_tag_update(&clip->id, ID_RECALC_SELECT);
+
+ return OPERATOR_PASS_THROUGH;
+ }
+ }
+
float distance_to_track, distance_to_plane_track;
- track = find_nearest_track(sc, tracksbase, co, &distance_to_track);
- plane_track = find_nearest_plane_track(sc, plane_tracks_base, co, &distance_to_plane_track);
+ MovieTrackingTrack *track = find_nearest_track(sc, tracksbase, co, &distance_to_track);
+ MovieTrackingPlaneTrack *plane_track = find_nearest_plane_track(
+ sc, plane_tracks_base, co, &distance_to_plane_track);
ClipViewLockState lock_state;
ED_clip_view_lock_state_store(C, &lock_state);
More information about the Bf-blender-cvs
mailing list