diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-04-01 02:36:13 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-04-01 02:36:13 +0400 |
commit | 3a28a7450596f46281431bd163b9a237eb481055 (patch) | |
tree | 54268464f1adc33111b7bb3afde1ce1c64bf5897 /source/blender/editors/include/ED_keyframing.h | |
parent | 4861ddf350e776c09f319d6db7fb96634d952da6 (diff) |
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.
Diffstat (limited to 'source/blender/editors/include/ED_keyframing.h')
-rw-r--r-- | source/blender/editors/include/ED_keyframing.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h index b2846fc0bd9..16e0dbc8c35 100644 --- a/source/blender/editors/include/ED_keyframing.h +++ b/source/blender/editors/include/ED_keyframing.h @@ -69,6 +69,9 @@ short deletekey(struct ID *id, const char group[], const char rna_path[], int ar /* Generate menu of KeyingSets */ char *ANIM_build_keyingsets_menu(struct ListBase *list, short for_edit); +/* Initialise builtin KeyingSets on startup */ +void init_builtin_keyingsets(void); + /* KeyingSet Editing Operators: * These can add a new KeyingSet and/or add 'destinations' to the KeyingSets, * acting as a means by which they can be added outside the Outliner. @@ -83,12 +86,13 @@ void ANIM_OT_keyingset_add_destination(struct wmOperatorType *ot); void ANIM_OT_insert_keyframe(struct wmOperatorType *ot); void ANIM_OT_delete_keyframe(struct wmOperatorType *ot); -/* Main Keyframe Management operators (legacy style): +/* Main Keyframe Management operators: * These handle keyframes management from various spaces. They will handle the menus * required for each space. */ -void ANIM_OT_insert_keyframe_old(struct wmOperatorType *ot); -void ANIM_OT_delete_keyframe_old(struct wmOperatorType *ot); +void ANIM_OT_insert_keyframe_menu(struct wmOperatorType *ot); +void ANIM_OT_delete_keyframe_menu(struct wmOperatorType *ot); // xxx unimplemented yet +void ANIM_OT_delete_keyframe_old(struct wmOperatorType *ot); // xxx rename and keep? /* ************ Auto-Keyframing ********************** */ /* Notes: |