diff options
author | Joshua Leung <aligorith@gmail.com> | 2008-01-10 04:36:22 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2008-01-10 04:36:22 +0300 |
commit | 38a33eb7da8211c16fa63f73aa3d4a3e5d7773c3 (patch) | |
tree | c02ba2f994b734e06b8e590d188e3e25acbfb7d6 /source/blender/src/header_time.c | |
parent | 5b0b214407bd79d499eb79c46e5277578ba1ced0 (diff) |
== Auto-Keyframing Refactor (Peach Request) ==
Refactored Auto-Keyframing to make it easier to add more options. There are now three "states" for auto-keying: off, add/replace keys, replace keys.
Description of modes:
1) No auto-keying is done
2) Add new keyframes or replace existing ones if possible (old behaviour)
3) Only modify existing keys, but not insert new ones.
Internally, I've moved the auto-keying settings out of G.flag and U.uiflag and moved them into their own variables in Userdef, and provided some macros to access those easily. As a result, old auto-keying settings are currently lost.
Also, removed the manual calls to insertkey done in pose-relax. The reason auto-keying didn't work before was because the bones didn't have the BONE_TRANSFORM flag applied. Now, these are set temporarily.
Todo(s):
* Make icons for the TimeLine header menu (currently just a text menu)
* Add version-patches for old files
* Double-check code for all places that use auto-keying (i.e. PoseLib)
Diffstat (limited to 'source/blender/src/header_time.c')
-rw-r--r-- | source/blender/src/header_time.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/src/header_time.c b/source/blender/src/header_time.c index 3da566bf418..bd7cbb39610 100644 --- a/source/blender/src/header_time.c +++ b/source/blender/src/header_time.c @@ -524,10 +524,13 @@ void time_buttons(ScrArea *sa) xco, 0, XIC, YIC, 0, 0, 0, 0, 0, "Skip to End frame (Shift UpArrow)"); xco+= XIC+8; - uiDefIconButBitI(block, TOG, G_RECORDKEYS, REDRAWINFO, ICON_REC, - xco, 0, XIC, YIC, &(G.flags), 0, 0, 0, 0, "Automatically insert keyframes in Object and Action Ipo curves"); + // FIXME: give this icons (and maybe make it XIC wide again) - it used to use the "ICON_REC" (red dot) + uiDefButS(block, MENU, REDRAWINFO, + "Auto-Keying Mode %t|No Auto-Keying %x0|Add/Replace Keys%x1|Replace Keys %x2", + xco, 0, 4*XIC, YIC, &(U.autokey_mode), 0, 1, 0, 0, + "Automatic keyframe insertion for Objects and Bones"); - xco+= XIC+16; + xco+= (4*XIC)+16; uiDefIconButBitI(block, TOG, TIME_WITH_SEQ_AUDIO, B_DIFF, ICON_SPEAKER, xco, 0, XIC, YIC, &(stime->redraws), 0, 0, 0, 0, "Play back and sync with audio from Sequence Editor"); |