[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