Age | Commit message (Collapse) | Author |
|
Added some features to the NLA Editor that had previously only been added for the Action Editor.
* It is now possible to choose whether timing is displayed in Frames or Seconds like in many of the other Animation Editors. Use Ctrl-T or the View menu to change this.
* Autosnap behaviour from Action Editor is now also available for the NLA Editor. It was partially done in the previous commit (for transform). Use the new combo-box on the NLA Editor header (like the one on the Action Editor header) to set this.
* editaction.c: silenced a compiler warning from the previous commit related to a function which is no longer needed.
|
|
I've refactored the Action and NLA Editor Transform tools to use the Transform System instead of setting up their own transform loops. This should have happened ages ago, but no-one got around to doing so.
* There are still a few bugs left to iron out of a few features, but on the whole it should work as well as it used to. These are: the values which get displayed when working with NLA-scaled actions may not all be correct yet; and the Time-Slide tool in the Action Editor is currently kindof broken.
* One of the main benefits of this work, is that it is now possible to use Numeric Input during Transforms.
* Also, a bug that meant that it was not possible to negatively scale keyframes in the Action Editor has been resolved.
|
|
finishing since it was so slow)
this is mainly because adding pose keyframes recalculates every handle so importing became increasingly slow.
added a 'fast' argument to insertkey that python api's insertPoseKey can make use of since it alredy accepts a 'fast' option.
The ~4450 frame, 31 bone BVH imports in ~108sec now
Seperated editmode switch statement in space.c's event handling,
if editmode is disabled, or the images is a render or composite, UV editing operations are ignored.
In previous releases it has given an annoying warning if selecting or scaling is attempted when out of UV/Face mode.
|
|
Now it is possible to do Copy+Paste in the Action Editor, like in the IPO Editor. There are two new buttons in the Action Editor header for this, using the familiar icons.
* To copy...
Select the keyframes you wish to copy, and the channels that they occur in (except for ShapeKey mode, where it is not possible to select channels). Click copy button.
* To paste...
Place the current frame where you want the first of the keyframes from the buffer is to be pasted. Select all channels you wish the keyframes to be pasted into. Click paste button.
Currently, keyframes are only pasted into 'compatible' curves (i.e. LocX keyframes can only go to LocX, and so on). This may change after user feedback, if this is found to be too restrictive.
== Code Changes ==
I've made a few changes which allow this code to be nicer.
* renamed insert_vert_ipo to insert_vert_icu, as that represents its actual purpose better (and changed all occurrences I could find)
* created a new function, insert_bezt_icu, which does the actual inserting of provided BezTriple data to a given IpoCurve
* recoded insert_vert_icu to use this new function, and also the IPO-Editor keyframe pasting (i.e. pasting in Editmode)
|
|
|
|
* Grouped Up/Down buttons in constraint panel headers, and fixed their tooltips
* Removed unused variable from action editor code
* Minor formatting in constraint.c
|
|
Added a new API method for ShapeKeys, which is useful for finding a certain KeyBlock from a Key.
|
|
The menu entries for changing Interpolation and Extrapolation modes in the Action Editor weren't working properly (at all).
|
|
This commit restores a few useful borderselect tools:
* When borderselect is activated while the mouse cursor is in the horizontal scrollbar, all the keyframes in that occur in the range of frames encompassed by the border get selected.
* When borderselect is activated while the mouse cursor is in the vertical scrollbar, all the keyframes, that occur in the channels that are within the border get selected.
|
|
* Insert Key (IKEY) menu was inserting keyframes on all channels when menu was dismissed, instead of not doing anything
* Clean IPO and Insert Key now only work on selected channels (when asked to). Was a missing line of code.
|
|
This commit fixes several issues related to using the Action Editor with Shapekeys. I've known about most of them for a while, so now's the time to fix that.
1) When the shapekey anim data for an object comes from an Action (key's IPO block is linked to the "Shape" action-channel), the names of the individual shapekeys is now shown. They will only do so if the Action Editor is not pinned though.
2) Slider limits for the case described above should now be sane again
3) "Add New" option from the popup menu in the Action Editor header will now convert shapekey animation data from IPO to Action if the action editor is displaying Shapekey data at the time. Many users have often found the old way of having to toggle the "running man" in the IPO-editor header, too clumsy and confusing.
|
|
Part 2 of work from yesterday. Now tools in Action Editor are aware of (work well) with time display in seconds as well.
|
|
The Action Editor can now display timing in seconds too. By default, it still displays timing in frames, but it is possible to switch the time display to seconds.
The hotkey to toggle this is Ctrl T.
Notes:
- Many of the Action Editor's tools have yet to be made aware of this. Therefore, they will still work as though frames are used. Only Transform, Snap, and Mirror should really be affected. This will be fixed when I wake up.
- Nothing *should* be broken, but I might have missed something.
|
|
* It is now possible to work on keyframe data/scrub the timeline when the Action Editor is squished up so that the left-hand panel disappears.
* I'm not sure whether I've eliminated a bug with long-keyframes where sometimes the selection status was show incorrectly (keyframe after keyframe marking end of long-keyframe is selected, results in long-keyframe selection).
* Changed a few obscure comments
|
|
Resolved Issues:
* My drawing cleanup commit the other day broke shapekey keyframe selection - was using wrong filter for Action Editor data
* Removed the old hack to limit vertical scrolling so that shapekeys were visible. It wasn't really needed anymore, and was causing problems with HomeKey.
Unresolved Issues:
* Vertical placement of sliders is slightly off
* In a test file I obtained, shapekey sliders don't work immediately after the file is loaded.
|
|
Some cleanups of the Action Editor drawing methods. These now make use of the filtering stuff I added for the backend cleanup.
Unfortuantely I still cannot get Blender's ui widgets to really work properly, so that toggle icons can have tooltips. There were some severe scaling issues.
|
|
Added two macros which are used to test if the active Action/IPO editor is displaying data from a scaled NLA-strip.
|
|
Recoded this again to further simplify it. This method could apply to the NLA editor if keyframes remain in there after a redesign.
|
|
Fixed a few little memory leaks introduced during my recode. They were only likely to occur in a few cases that don't happen very often.
|
|
It is now possible to temporarily 'mute' and IPO-block or IPO-curve. This functionality has been requested by the Plumiferos team, and is based off Patch #6866 by Juho Vepsäläinen (bebraw).
Usage:
* In the IPO Editor header, there is a toggle button (open/closed eye used for Outliner Visibility restriction) beside the IPO-blocktype menu, when there is an active IPO-block in the IPO Editor.
* In the Action Editor, beside the 'lock' icon for channel protection on Action/Constraint channels, there is the open/closed 'eye' that can be toggled to set the mute status of said channel's IPO-block.
* Also in the Action Editor, you can mute individual IPO-curve channels in a similar manner.
|
|
Removed a little bit of old code I forgot to remove :)
|
|
* Snap and Mirror tools for the Action Editor, now respect NLA scaling again. I accidentally omitted the relevant code when recoding.
* Snap tool in the NLA Editor, now works for the keyframes displayed for each object too. There's one case I've to check up on later, as there might be interesting conflicts.
|
|
I've just spent two days rewriting the Action Editor to unify its code and bring it under control again (it was 107kb, now it is around 73 kb).
* This means that there are no longer separate functions for each tool for Actions and Shapekeys in the Action Editor, and also no more missing tools for either.
* Also, I've gotten rid of the need for those complicated, hierarchial loops used for action channels, as they were a pain to keep consistent with each other.
* Baking functions have been removed. See user-level-changes for more details.
* Reorganised and completely rewrote code in editaction.c, thus the lengthy diff.
User Level Changes:
* For the meantime, border-selecting Action Channels has been disabled
* Baking functions have been removed. As far as I have been able to find out, these were really non-functional anyway. Besides, I don't think they really belonged in editaction.c
* Editing Shapekey keyframes now yields the same feature set as for those in Action Channels.
* There shouldn't be any major bugs left, but I might have missed something.
Further Work:
* Do a cleanup like this to the Action Editor drawing code in drawaction.c
* Baking??? (harkyman seems to be doing something about this)
|
|
Modified behaviour of IKEY in Action Editor a bit, so that the keyframes added have been updated to reflect the current state of an object/bone. Previously, it only used the current values of the ipo-curves they were being keyframed (maintained as fallback method now).
|
|
Small Action Editor feature to hopefully make keyframing quicker. Just press the IKEY in the Action Editor. Feedback on the (annoyance factor of the) popups welcome.
|
|
Now Action/IPO-Curve/Constraint Channels draw so that they open downwards. The only noticeable differences are that when expanding/collapsing channels, all the channels above won't get shunted out of the way again. Also, on loading some older files, all the channels may be out of view (TODO: make version patch for this...)
|
|
Action Editor: editing of action-channel keys is impossible if shapekeys are present
for that object.
Also, after toggling the 'swimmer' icon in the IPO editor header,on and then off again, then trying to expand/collapse/select/deselect the 'Shape' action channel, Blender would crash.
Not really a showstopper, but still nice to fix. ;-)
|
|
* Constraint sliders in Action Editor didn't update buttons window
* Homekey in IPO Editor didn't respect scaling.
* With Preview Range set, using the SKEY and EKEY hotkeys in the Timeline
to change the extents of it, resulted to the NLA editor not being
refreshed. (Note: I haven't actually seen this happening)
* Keyframing options 'Avail' and 'Needed' didn't work for Objects
when they had an ObAction. The problem was that the code assumed
that the object had an ipo-block associated with it, but that is
not the case when you have an Object Action for that object.
|
|
This commit resolves an issue dating back a few releases. When the IPO block being displayed in the IPO editor came from an Action being used as an Action Strip
in the NLA editor, the keyframes in the IPO editor were not displayed in 'NLA-time'.
There are however a number of things that still need work on so that they will play
nicely with these changes. Having said that, the IPO editor is still generally stable
for use (or should be). In case anything plays up, 'pin' the IPO view you're using
to turn off these changes.
This resolves Todo #4335.
Known Issues:
* When 'K' (show keys) mode is on, it doesn't work too too well yet. The display
in such situations will be a bit confusing.
* Pressing IKEY in the IPO editor (for inserting a keyframe on the current frame)
also doesn't work too well yet. It will insert a keyframe on the wrong frame.
* Transforms don't get any correction for scaling yet. This is only an issue when
snapping transforms to the grid, or relying on the delta numbers printed in the
header.
|
|
In the Action Editor, sliders are now drawn beside IPO-Curve and Constraint Channels and for the active Action Channel when the 'Show Sliders' option in the View menu is turned on. This behaves like for shapekeys.
You can change the limits of the sliders by either Ctrl-Clicking or NKEY over the
name of the relevant IPO-Curve channel.
Also, documented the IPO-curve struct a bit. There are a few variables there that
I'm not sure what they are used for.
|
|
Now you can also rename channels by holding the Ctrl-Key and clicking on a channel.
|
|
action.getChannelNames() and action.renameChannel(from, to)
editaction.c - maximum new name length was too short
|
|
not work anymore (mouse, bkey).
Fix provided by Diego from Plumifiros.
Important note: get_nearest_icu_key() requires to get an array as arg.
Doing it like:
float min, max; get_nearest_icu_key( , , , &min);
is not reliable or correct.
|
|
Continuing on from my previous 'Expandable/Collapsable Action Channel' commit, this commit introduces the ability to show/hide the keyframes in each ipo-curve represented by an Action Channel.
When you expand an Action-Channel by clicking on the triangle beside its name, you will now be presented with options to show/hide the ipo-curves represented by
the Action-Channel, and/or the Constraint Channels belonging to that Action-Channel. Actual ipo-curves will not be drawn in the Action-Editor, but the keyframes
will be shown.
Screenshot:
* http://wiki.blender.org/index.php/Image:244_ActionEditor_SubTracks_01.png
Possibly Coming Soon/Further Work:
* 'Protection' options for ipo-curves (currently disabled in code, as all IPO-related
tools will need to be made aware of this)
* Sliders for IPO-Curve Channels of the active Action-Channel
|
|
Preview Range now works in the IPO editor.
|
|
Silly little mixup (one case where one of the macros I added shouldn't be used)
|
|
Action Channels can now be collapsed/expanded to show/hide Constraint Channels, lessening clutter. In future, this could (will probably be) expanded to
show the show/hide individual transform channels.
User Notes:
* Expansion is off by default
* NKEY popup now features option to turn expansion on/off
* Changed behaviour of protection a bit - now if an action channel has protection
on, constraint channels under it are also automagically protected
Developer Notes:
* I've gone through doing a lot of whitespace/linebreak tweaking to get the code looking more consistent with itself
* To save typing (and to make it easier to make future revisions), a set of macros
is now used to check for some commonly-checked settings (i.e. selection, visibility,
and protection).
|
|
Preview Range is a useful tool for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames.
Hi Ton,
Attached is a patch (I know you've already got lots of them in the tracker ;-) ) for a feature that I've sometimes wanted. It seems that this sort of thing is supported in other packages, but I can't be sure.
Note: I may have left in a few bits and pieces I didn't mean to in the patch (this is off a source tree which had quite a few revisions in it, all of which was experimental)
== Preview Range ==
Preview range is useful for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames.
* 'Ctrl P' in Action/NLA/Timeline sets preview range. Click+drag to form selection-box defining region of frames to preview
* 'Alt P' in Action/NLA/Timeline to clear preview range
* 'Pre' button beside Start/End fields in timeline toggles whether start/end fields refer to scene or preview
* 'Ctrl Rightarrow' and 'Ctrl Leftarrow' jump to start/end of preview region when it is set
* 'S' and 'E' set the start/end frames of preview region when it is set (just like normally) in Timeline only
* In Action/NLA editors, frames out of preview region are now drawn darkened when preview-region is set
See the following page for more info later:
http://wiki.blender.org/index.php/User:Aligorith/Preview_Range
|
|
* When the mouse is over an Action or Constraint Channel, you can now
rename it by pressing NKEY (like for Shapekey channels). You can also set
the 'protection' status for the Action/Constraint channel in this way.
* Removed the double confirmation when deleting Action-Channels. Also,
markers are now not deleted when deleting action channels.
|
|
Fix C90 variable declaration in function body
source/blender/src/editaction.c:
remove unused variable
|
|
longer asked whether you want to delete the selected markers or keys.
Instead, it more 'logically' deletes anything that is selected.
|
|
removed most custom add_*data* wrappers from Main.c
removed makeCurrent() from Text.c (was never in a release), use "bpy.texts.active = text" now
clamp new image sizes
made add_empty_action accept a string rather then a blocktype since the blocktype was only being used to choose one of 3 strings anyway.
|
|
Nothing ever called that part of code, and that code was
'not implemented' anyway.
|
|
Right-clicking in either the horizontal/vertical scrollbars now works
correctly again. What damage 1 little number can do ;-)
|
|
Added a few checks here and there to prevent crashes related to
no action being active.
This includes patch 5933 by Diego Borghetti (Plumiferos TD).
|
|
DeltaX value now displays correctly when grabbing and snap-to-framestep
is on.
|
|
Final tweaks to Snapping and Mirroring tools:
* Snap To Nearest Marker
* Mirror Values of Horizontal Axis
* Mirror Over Selected Marker
|
|
Removed the 'Both' option as it didn't really work at all; bringing the
Action Editor back into line with the other time-spaces.
|
|
Fixed bug with 'grid-stepping' with scaled actions. Now, when holding the
Ctrl key or with auto-snapping in this mode, keys move in 1.0 frame intervals
all the time (not just when action was unscaled).
|
|
Further cleanups, this time moving all the checks for making sure that
the cleaning threshold is defined are centralised in the do_versions code.
|