Animato - Support for 'BuiltIn' and 'Relative' Keying Sets
authorJoshua Leung <aligorith@gmail.com>
Tue, 31 Mar 2009 22:36:13 +0000 (22:36 +0000)
committerJoshua Leung <aligorith@gmail.com>
Tue, 31 Mar 2009 22:36:13 +0000 (22:36 +0000)
commit3a28a7450596f46281431bd163b9a237eb481055
tree54268464f1adc33111b7bb3afde1ce1c64bf5897
parent4861ddf350e776c09f319d6db7fb96634d952da6
Animato - Support for 'BuiltIn' and 'Relative' Keying Sets

When inserting keyframes in the 3D-View (support will be extended to other editors in due course) using the IKEY hotkey, the menu which appears will now consist of 3 parts:
* 'Active Keying Set' - this option allows you to use the user-defined KeyingSet which is active for the current scene (i.e. the one seen in the TimeLine/Outliner headers)
* User defined Keying Sets - a list of all such available KeyingSets is included, and entries can be chosen from there
* Built-In Keying Sets - see later...

To achieve this, several changes needed to be made first:
* Added support for 'relative' in addition to 'absolute' Keying Sets. Relative Keying Sets are Keying Sets which operate on data from the current context (i.e. a 'location' KeyingSet will add location keyframes for selected objects/bones/nodes as opposed to location keyframes for some particular object). The is a tentative 'templates' requirement system here, which still needs to be fully fleshed out.
* Added support for builtin Keying Sets (i.e. 'Location', 'Rotation', 'Scaling', and 'LocRot' as a few initial demonstrations), which replaces the temporary Insert Keyframe operator for the 3D-View (IKEY). These are effectively relative Keying Set definitions which are included in Blender by default and stored in a list separate from user-defined ones. Volunteer help in defining a few more of these for other editors will be welcome soon.
* Removed/replaced much of the crappy temporary Keyframing operator code, though a few tweaks could still be done.
source/blender/blenkernel/BKE_constraint.h
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/constraint.c
source/blender/blenkernel/intern/fcurve.c
source/blender/editors/animation/anim_ops.c
source/blender/editors/animation/keyframing.c
source/blender/editors/include/ED_keyframing.h
source/blender/editors/object/object_ops.c
source/blender/editors/space_outliner/outliner.c
source/blender/makesdna/DNA_scene_types.h
source/blender/windowmanager/intern/wm_init_exit.c