[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35209] trunk/blender/source/blender/ editors: Small animation tweaks:
Daniel Salazar - 3Developer.com
zanqdo at gmail.com
Sun Feb 27 02:56:46 CET 2011
Could it ber just PageUp and PageDown? for non english keyboards the
<> keys change all around, its a mess. I agree Ctrl Pageup/Down is too
much of a hastle
cheers
Daniel Salazar
www.3developer.com
2011/2/26 Joshua Leung <aligorith at gmail.com>:
> Revision: 35209
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35209
> Author: aligorith
> Date: 2011-02-27 01:53:05 +0000 (Sun, 27 Feb 2011)
> Log Message:
> -----------
> Small animation tweaks:
> - Fixed problem where just trying to replace existing keyframes would
> result in the intepolation set on that keyframe to get lost. This was
> mostly an issue if trying to re-block some animation in the middle of
> a shot, with the rest of the keys set to Bezier, but the first
> keyframe in this new segment needing to be Constant so that we don't
> get sloppy automatic interpolation in the way
>
> - Hooked up Media-Play/Stop/Next/Prev controls to animation playback
> and keyframe jumping functionality in default keymap in addition the
> existing controls. I'm also considering whether to migrate Next/Prev
> Keyframe key mappings off the Ctrl-PageUp/Down keys for a more
> ergonomic option (i.e. shift <, shift >)
>
> Modified Paths:
> --------------
> trunk/blender/source/blender/editors/animation/keyframes_general.c
> trunk/blender/source/blender/editors/animation/keyframing.c
> trunk/blender/source/blender/editors/screen/screen_ops.c
>
> Modified: trunk/blender/source/blender/editors/animation/keyframes_general.c
> ===================================================================
> --- trunk/blender/source/blender/editors/animation/keyframes_general.c 2011-02-26 22:48:17 UTC (rev 35208)
> +++ trunk/blender/source/blender/editors/animation/keyframes_general.c 2011-02-27 01:53:05 UTC (rev 35209)
> @@ -323,7 +323,7 @@
> }
>
> /* calculate the new smoothed F-Curve's with weighted averages:
> - * - this is done with two passes
> + * - this is done with two passes to avoid progressive corruption errors
> * - uses 5 points for each operation (which stores in the relevant handles)
> * - previous: w/a ratio = 3:5:2:1:1
> * - next: w/a ratio = 1:1:2:5:3
>
> Modified: trunk/blender/source/blender/editors/animation/keyframing.c
> ===================================================================
> --- trunk/blender/source/blender/editors/animation/keyframing.c 2011-02-26 22:48:17 UTC (rev 35208)
> +++ trunk/blender/source/blender/editors/animation/keyframing.c 2011-02-27 01:53:05 UTC (rev 35209)
> @@ -295,6 +295,7 @@
> int insert_vert_fcurve (FCurve *fcu, float x, float y, short flag)
> {
> BezTriple beztr= {{{0}}};
> + int oldTot = fcu->totvert;
> int a;
>
> /* set all three points, for nicer start position
> @@ -330,10 +331,16 @@
> if ((fcu->totvert > 2) && (flag & INSERTKEY_REPLACE)==0) {
> BezTriple *bezt= (fcu->bezt + a);
>
> - /* set interpolation from previous (if available) */
> - // FIXME: this doesn't work if user tweaked the interpolation specifically, and they were just overwriting some existing key in the process...
> - if (a > 0) bezt->ipo= (bezt-1)->ipo;
> - else if (a < fcu->totvert-1) bezt->ipo= (bezt+1)->ipo;
> + /* set interpolation from previous (if available), but only if we didn't just replace some keyframe
> + * - replacement is indicated by no-change in number of verts
> + * - when replacing, the user may have specified some interpolation that should be kept
> + */
> + if (fcu->totvert > oldTot) {
> + if (a > 0)
> + bezt->ipo= (bezt-1)->ipo;
> + else if (a < fcu->totvert-1)
> + bezt->ipo= (bezt+1)->ipo;
> + }
>
> /* don't recalculate handles if fast is set
> * - this is a hack to make importers faster
>
> Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
> ===================================================================
> --- trunk/blender/source/blender/editors/screen/screen_ops.c 2011-02-26 22:48:17 UTC (rev 35208)
> +++ trunk/blender/source/blender/editors/screen/screen_ops.c 2011-02-27 01:53:05 UTC (rev 35209)
> @@ -3221,11 +3221,17 @@
> WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEUPKEY, KM_PRESS, KM_CTRL, 0);
> RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEDOWNKEY, KM_PRESS, KM_CTRL, 0)->ptr, "next", 0);
>
> + WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIALAST, KM_PRESS, 0, 0);
> + RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIAFIRST, KM_PRESS, 0, 0)->ptr, "next", 0);
> +
> /* play (forward and backwards) */
> WM_keymap_add_item(keymap, "SCREEN_OT_animation_play", AKEY, KM_PRESS, KM_ALT, 0);
> RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_animation_play", AKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0)->ptr, "reverse", 1);
> WM_keymap_add_item(keymap, "SCREEN_OT_animation_cancel", ESCKEY, KM_PRESS, 0, 0);
>
> + WM_keymap_add_item(keymap, "SCREEN_OT_animation_play", MEDIAPLAY, KM_PRESS, 0, 0);
> + WM_keymap_add_item(keymap, "SCREEN_OT_animation_cancel", MEDIASTOP, KM_PRESS, 0, 0);
> +
> /* Alternative keys for animation and sequencer playing */
> #if 0 // XXX: disabled for restoring later... bad implementation
> keymap= WM_keymap_find(keyconf, "Frames", 0, 0);
>
> _______________________________________________
> 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