[Bf-blender-cvs] [de9ea94fc6f] master: Transform: Deduplicate time snap code

mano-wii noreply at git.blender.org
Sat Feb 15 16:10:00 CET 2020


Commit: de9ea94fc6f810b101742a4c2b839fb748e95be0
Author: mano-wii
Date:   Sat Feb 15 12:09:23 2020 -0300
Branches: master
https://developer.blender.org/rBde9ea94fc6f810b101742a4c2b839fb748e95be0

Transform: Deduplicate time snap code

===================================================================

M	source/blender/editors/transform/transform_mode.c
M	source/blender/editors/transform/transform_mode_timescale.c
M	source/blender/editors/transform/transform_mode_timetranslate.c

===================================================================

diff --git a/source/blender/editors/transform/transform_mode.c b/source/blender/editors/transform/transform_mode.c
index 2368e0f0dc4..e681b649451 100644
--- a/source/blender/editors/transform/transform_mode.c
+++ b/source/blender/editors/transform/transform_mode.c
@@ -1063,11 +1063,11 @@ short getAnimEdit_SnapMode(TransInfo *t)
 void doAnimEdit_SnapFrame(
     TransInfo *t, TransData *td, TransData2D *td2d, AnimData *adt, short autosnap)
 {
-  if (ELEM(autosnap, SACTSNAP_FRAME, SACTSNAP_SECOND, SACTSNAP_MARKER)) {
+  if (autosnap != SACTSNAP_OFF) {
     float val;
 
     /* convert frame to nla-action time (if needed) */
-    if (adt) {
+    if (adt && (t->spacetype != SPACE_SEQ)) {
       val = BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
     }
     else {
@@ -1077,7 +1077,7 @@ void doAnimEdit_SnapFrame(
     snapFrameTransform(t, autosnap, true, val, &val);
 
     /* convert frame out of nla-action time */
-    if (adt) {
+    if (adt && (t->spacetype != SPACE_SEQ)) {
       *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
     }
     else {
diff --git a/source/blender/editors/transform/transform_mode_timescale.c b/source/blender/editors/transform/transform_mode_timescale.c
index 2e6d0a59a05..6af5dc3033c 100644
--- a/source/blender/editors/transform/transform_mode_timescale.c
+++ b/source/blender/editors/transform/transform_mode_timescale.c
@@ -81,13 +81,6 @@ static void applyTimeScaleValue(TransInfo *t, float value)
       float startx = CFRA;
       float fac = value;
 
-      if (autosnap == SACTSNAP_TSTEP) {
-        fac = (float)(floor((double)fac / secf + 0.5) * secf);
-      }
-      else if (autosnap == SACTSNAP_STEP) {
-        fac = floorf(fac + 0.5f);
-      }
-
       /* take proportional editing into account */
       fac = ((fac - 1.0f) * td->factor) + 1;
 
diff --git a/source/blender/editors/transform/transform_mode_timetranslate.c b/source/blender/editors/transform/transform_mode_timetranslate.c
index 16e2b3c633d..7887c17f537 100644
--- a/source/blender/editors/transform/transform_mode_timetranslate.c
+++ b/source/blender/editors/transform/transform_mode_timetranslate.c
@@ -87,7 +87,7 @@ static void headerTimeTranslate(TransInfo *t, char str[UI_MAX_DRAW_STR])
   }
 }
 
-static void applyTimeTranslateValue(TransInfo *t, float value)
+static void applyTimeTranslateValue(TransInfo *t, const float deltax)
 {
   Scene *scene = t->scene;
   int i;
@@ -95,8 +95,6 @@ static void applyTimeTranslateValue(TransInfo *t, float value)
   const short autosnap = getAnimEdit_SnapMode(t);
   const double secf = FPS;
 
-  float deltax, val /* , valprev */;
-
   FOREACH_TRANS_DATA_CONTAINER (t, tc) {
     TransData *td = tc->data;
     TransData2D *td2d = tc->data_2d;
@@ -110,37 +108,8 @@ static void applyTimeTranslateValue(TransInfo *t, float value)
        */
       AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL;
 
-      /* valprev = *td->val; */ /* UNUSED */
-
-      /* check if any need to apply nla-mapping */
-      if (adt && (t->spacetype != SPACE_SEQ)) {
-        deltax = value;
-
-        if (autosnap == SACTSNAP_TSTEP) {
-          deltax = (float)(floor(((double)deltax / secf) + 0.5) * secf);
-        }
-        else if (autosnap == SACTSNAP_STEP) {
-          deltax = floorf(deltax + 0.5f);
-        }
-
-        val = BKE_nla_tweakedit_remap(adt, td->ival, NLATIME_CONVERT_MAP);
-        val += deltax * td->factor;
-        *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
-      }
-      else {
-        deltax = val = t->values_final[0];
-
-        if (autosnap == SACTSNAP_TSTEP) {
-          val = (float)(floor(((double)deltax / secf) + 0.5) * secf);
-        }
-        else if (autosnap == SACTSNAP_STEP) {
-          val = floorf(val + 0.5f);
-        }
-
-        *(td->val) = td->ival + val * td->factor;
-      }
-
       /* apply nearest snapping */
+      *(td->val) = td->ival + deltax * td->factor;
       doAnimEdit_SnapFrame(t, td, td2d, adt, autosnap);
     }
   }



More information about the Bf-blender-cvs mailing list