[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19633] branches/blender2.5/blender/source /blender/editors: Animation Editors - Part 1 of Code Cleanups

joe joeedh at gmail.com
Fri Apr 10 05:37:37 CEST 2009


BTW, it'd be nice if all the thresholds (e.g. for detecting when to
merge keys, column select, etc) were user-controllable in the user
prefs.

Joe

On Thu, Apr 9, 2009 at 9:34 PM, Joshua Leung <aligorith at gmail.com> wrote:
> Revision: 19633
>          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19633
> Author:   aligorith
> Date:     2009-04-10 05:34:20 +0200 (Fri, 10 Apr 2009)
>
> Log Message:
> -----------
> Animation Editors - Part 1 of Code Cleanups
>
> * Fixed a few typos in the code
> * Switched the meaning of the Ctrl and Alt modifiers when selecting keyframes.
> - Ctrl is now select all keyframes on one side of time cursor
> - Alt is now select all keyframes at same time as a particular keyframe.
>
> TODO:
> While testing these changes, I've found that this column-select is not working yet as the tolerances are too low. This will be rectified soon.
>
> Modified Paths:
> --------------
>    branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
>    branches/blender2.5/blender/source/blender/editors/space_action/action_edit.c
>    branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c
>    branches/blender2.5/blender/source/blender/editors/space_action/action_select.c
>    branches/blender2.5/blender/source/blender/editors/space_graph/graph_edit.c
>    branches/blender2.5/blender/source/blender/editors/space_graph/graph_ops.c
>    branches/blender2.5/blender/source/blender/editors/space_graph/graph_select.c
>
> Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   2009-04-09 23:43:25 UTC (rev 19632)
> +++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   2009-04-10 03:34:20 UTC (rev 19633)
> @@ -2513,7 +2513,7 @@
>
>  /* --------------- API/Per-Datablock Handling ------------------- */
>
> -/* Checks whether an IPO-block has a keyframe for a given frame
> +/* Checks whether an Action has a keyframe for a given frame
>  * Since we're only concerned whether a keyframe exists, we can simply loop until a match is found...
>  */
>  short action_frame_has_keyframe (bAction *act, float frame, short filter)
>
> Modified: branches/blender2.5/blender/source/blender/editors/space_action/action_edit.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/space_action/action_edit.c       2009-04-09 23:43:25 UTC (rev 19632)
> +++ branches/blender2.5/blender/source/blender/editors/space_action/action_edit.c       2009-04-10 03:34:20 UTC (rev 19633)
> @@ -300,7 +300,7 @@
>                }
>        }
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -344,7 +344,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -440,7 +440,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -507,7 +507,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED; // xxx - start transform
> @@ -584,7 +584,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -647,7 +647,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -771,7 +771,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -846,7 +846,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -924,7 +924,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -1022,7 +1022,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -1098,7 +1098,7 @@
>                CFRA= (int)floor((bed.f1 / bed.i1) + 0.5f);
>        }
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        WM_event_add_notifier(C, NC_SCENE|ND_FRAME, ac.scene);
>
>        return OPERATOR_FINISHED;
> @@ -1189,7 +1189,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
> @@ -1304,7 +1304,7 @@
>        /* validate keyframes after editing */
>        ANIM_editkeyframes_refresh(&ac);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_VALUES);
>
>        return OPERATOR_FINISHED;
>
> Modified: branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c        2009-04-09 23:43:25 UTC (rev 19632)
> +++ branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c        2009-04-10 03:34:20 UTC (rev 19633)
> @@ -93,11 +93,10 @@
>  {
>        /* action_select.c - selection tools */
>                /* click-select */
> -               // TODO: column to alt, left-right to ctrl (for select-linked consistency)
>        WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, 0, 0);
> -       RNA_boolean_set(WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "column", 1);
> +       RNA_boolean_set(WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "column", 1);
>        RNA_boolean_set(WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
> -       RNA_enum_set(WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "left_right", ACTKEYS_LRSEL_TEST);
> +       RNA_enum_set(WM_keymap_add_item(keymap, "ACT_OT_keyframes_clickselect", SELECTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "left_right", ACTKEYS_LRSEL_TEST);
>
>                /* deselect all */
>        WM_keymap_add_item(keymap, "ACT_OT_keyframes_select_all_toggle", AKEY, KM_PRESS, 0, 0);
>
> Modified: branches/blender2.5/blender/source/blender/editors/space_action/action_select.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/space_action/action_select.c     2009-04-09 23:43:25 UTC (rev 19632)
> +++ branches/blender2.5/blender/source/blender/editors/space_action/action_select.c     2009-04-10 03:34:20 UTC (rev 19633)
> @@ -322,7 +322,7 @@
>        else
>                deselect_action_keys(&ac, 1, SELECT_ADD);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ED_area_tag_redraw(CTX_wm_area(C)); // FIXME... should be updating 'keyframes' data context or so instead!
>
>        return OPERATOR_FINISHED;
> @@ -717,7 +717,7 @@
>        else
>                columnselect_action_keys(&ac, mode);
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_KEYFRAMES_SELECT);
>
>        return OPERATOR_FINISHED;
> @@ -751,7 +751,7 @@
>  */
>
>  /* defines for left-right select tool */
> -static EnumPropertyItem prop_leftright_select_types[] = {
> +static EnumPropertyItem prop_actkeys_leftright_select_types[] = {
>        {ACTKEYS_LRSEL_TEST, "CHECK", "Check if Select Left or Right", ""},
>        {ACTKEYS_LRSEL_NONE, "OFF", "Don't select", ""},
>        {ACTKEYS_LRSEL_LEFT, "LEFT", "Before current frame", ""},
> @@ -759,6 +759,9 @@
>        {0, NULL, NULL, NULL}
>  };
>
> +/* sensitivity factor for frame-selections */
> +#define FRAME_CLICK_THRESH             0.1f
> +
>  /* ------------------- */
>
>  /* option 1) select keyframe directly under mouse */
> @@ -949,10 +952,10 @@
>        memset(&bed, 0, sizeof(BeztEditFunc));
>        if (leftright == ACTKEYS_LRSEL_LEFT) {
>                bed.f1 = -MAXFRAMEF;
> -               bed.f2 = (float)(CFRA + 0.1f);
> +               bed.f2 = (float)(CFRA + FRAME_CLICK_THRESH);
>        }
>        else {
> -               bed.f1 = (float)(CFRA - 0.1f);
> +               bed.f1 = (float)(CFRA - FRAME_CLICK_THRESH);
>                bed.f2 = MAXFRAMEF;
>        }
>
> @@ -997,7 +1000,7 @@
>
>        /* set up BezTriple edit callbacks */
>        select_cb= ANIM_editkeyframes_select(SELECT_ADD);
> -       ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAME);
> +       ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAMERANGE);
>
>        /* loop through all of the keys and select additional keyframes
>         * based on the keys found to be selected above
> @@ -1013,10 +1016,14 @@
>
>                /* set frame for validation callback to refer to */
>                // XXX have a more sensitive range?
> -               if (nob)
> -                       bed.f1= get_action_frame(nob, selx);
> -               else
> -                       bed.f1= selx;
> +               if (nob) {
> +                       bed.f1= get_action_frame(nob, selx-FRAME_CLICK_THRESH);
> +                       bed.f2= get_action_frame(nob, selx+FRAME_CLICK_THRESH);
> +               }
> +               else {
> +                       bed.f1= selx-FRAME_CLICK_THRESH;
> +                       bed.f2= selx+FRAME_CLICK_THRESH;
> +               }
>
>                /* select elements with frame number matching cfra */
>                ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL);
> @@ -1099,7 +1106,7 @@
>                // XXX activate transform...
>        }
>
> -       /* set notifier tha things have changed */
> +       /* set notifier that things have changed */
>        ANIM_animdata_send_notifiers(C, &ac, ANIM_CHANGED_BOTH);
>
>        /* for tweak grab to work */
> @@ -1121,9 +1128,9 @@
>
>        /* id-props */
>        // XXX should we make this into separate operators?
> -       RNA_def_enum(ot->srna, "left_right", NULL /* XXX prop_actkeys_clickselect_items */, 0, "Left Right", ""); // ALTKEY
> +       RNA_def_enum(ot->srna, "left_right", prop_actkeys_leftright_select_types, 0, "Left Right", ""); // CTRLKEY
>        RNA_def_boolean(ot->srna, "extend", 0, "Extend Select", ""); // SHIFTKEY
> -       RNA_def_boolean(ot->srna, "column", 0, "Column Select", ""); // CTRLKEY
> +       RNA_def_boolean(ot->srna, "column", 0, "Column Select", ""); // ALTKEY
>  }
>
>  /* ************************************************************************** */
>
> Modified: branches/blender2.5/blender/source/blender/editors/space_graph/graph_edit.c
> ===================================================================
> --- branches/blender2.5/blender/source/blender/editors/space_graph/graph_edit.c 2009-04-09 23:43:25 UTC (rev 19632)
> +++ branches/blender2.5/blender/source/blender/editors/space_graph/graph_edit.c 2009-04-10 03:34:20 UTC (rev 19633)
> @@ -572,7 +572,7 @@
>        /* validate keyframes after editing */
>
> @@ Diff output truncated at 10240 characters. @@
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list