diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-12-14 15:09:20 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-12-14 15:09:20 +0300 |
commit | b1a39375e5f57723baeb4004a53219f2ecb1181a (patch) | |
tree | ab45e56a63fc3daa2cac22439082f5f04db56e87 /source/blender/editors/transform/transform_conversions.c | |
parent | 96df285ff6658b6e65b9aac3e65c506e11913e2d (diff) |
Keyframing Bugfixes and Feature Requests:
* Added a User-Pref option for the "XYZ to RGB" colour-mode setting for new F-Curves to compliment the one used for Keying Sets. With this option enabled, the builtin Keying Sets also can obey this option.
* Made all places that were previously manually checking the flags for keyframing to use a standard API function to do this now.
* Fixed bug introduced earlier today in commit 25353 by reverting the changes to keyingsets.c. Forgot that delete_keyframe doesn't handle do the "entire array" hack with array_index = -1
* Fixed bug with the insert-keyframe code for the array_index = -1 case, where too many channels were being keyed (i.e. an imaginary channel was often keyed in addition to the valid ones)
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index c7b5c29e262..e9b0cb40b1b 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4525,13 +4525,7 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *ob, memset(&cks, 0, sizeof(bCommonKeySrc)); cks.id= &ob->id; - if (IS_AUTOKEY_FLAG(INSERTNEEDED)) - flag |= INSERTKEY_NEEDED; - if (IS_AUTOKEY_FLAG(AUTOMATKEY)) - flag |= INSERTKEY_MATRIX; - if (IS_AUTOKEY_MODE(scene, EDITKEYS)) - flag |= INSERTKEY_REPLACE; - + flag = ANIM_get_keyframing_flags(scene, 1); if (IS_AUTOKEY_FLAG(ONLYKEYINGSET) && (active_ks)) { /* only insert into active keyingset */ @@ -4632,12 +4626,10 @@ void autokeyframe_pose_cb_func(bContext *C, Scene *scene, View3D *v3d, Object *o * visual keyframes even if flag not set, as it's not that useful otherwise * (for quick animation recording) */ - if (IS_AUTOKEY_FLAG(AUTOMATKEY) || (targetless_ik)) + flag = ANIM_get_keyframing_flags(scene, 1); + + if (targetless_ik) flag |= INSERTKEY_MATRIX; - if (IS_AUTOKEY_FLAG(INSERTNEEDED)) - flag |= INSERTKEY_NEEDED; - if (IS_AUTOKEY_MODE(scene, EDITKEYS)) - flag |= INSERTKEY_REPLACE; for (pchan=pose->chanbase.first; pchan; pchan=pchan->next) { if (pchan->bone->flag & BONE_TRANSFORM) { |