When Action Editor was maximised, Grease Pencil data disappeared. This was due to the screen-swapping that went on. Now, it uses the old-screen that was stored in the maximised Action Editor's screen (should be safe...)
* Onion-skinning with GStep > 0 was not showing enough of a noticable difference between ghosts. Improved method of calculating this.
* Clicking in a Grease-Pencil datablock channel in the Action Editor would crash
Final attempt at solving this problem. This time I've decided to separate the 'delete markers' from the 'delete keys' hotkeys, as it proved to be too problematic for users.
The new hotkey for deleting markers is "Shift-XKEY". (or Shift-Delkey)
P.S. I know that 'Shift' is usually used for 'add' operations, but this will have to do for now...
----
Also, rearranged button order in Timeline header a bit to group keyframing buttons together more.
* Grease Pencil Mode - now includes the area-ID into the name string. While the numbers currently don't mean much (though they do make it easier to distinguish between views to more than before), they could become handy if/when PyAPI access to Grease Pencil data comes into handy
* Copy + Paste bugfixes
- When there was a collapsed group, it was impossible to get the keyframes in the keyframe summary to be copied too. This fix shouldn't cause any problems with other things...
- Feature to allow pasting to any channel without doing name matching was not working
Removed superfluous check for destination IPO-block/IPO-curve which may not have existed. This meant that pasting keyframes into an "empty" Action Channel sometimes failed.
The 'opposite' of the "Insert Key" tool.
- Use the hotkey Ctrl-Alt-IKEY to activate.
- Only available in 3d-view and buttons window
I've added an extra var to verify_ipo and verify_ipocurve to save having to make another duplicate of that code. Hopefully the gameengine compiles ok with this.
* Moved all keyframing functions to their own file (keyframing.c)
* Merged all the different keyframing options (needed, visual, fast) into a single API call. The direct benefit of this is that it allows them to be used in conjunction with each other. Also, this means that when using the IKEY, autokeying settings for these are respected too.
* Implemented 'keyingsets' system (instead of directly calling insertkey on relevant channels), which is easier to maintain and cleaner. A keyingset basically defines all the channels that can be keyframed together. This paves the way for custom keyingsets sometime down the track (and also for quick-insert keyframes for previously used keyingset).
Menus for choosing the keying set to use are generated automatically from the definitions.
Based on user feedback, I've made some changes to the Grease Pencil UI (most notably in 'Time Editing' facilities).
* 'Edit Timing' button gone
* Pin button and '<Grease Pencil Data' string gone from Action Editor
* Action Editor in 'Grease Pencil' mode now displays all grease-pencil datablocks for current screen.
* AE: GP-Datablocks are drawn like 'groups', with an expand/collapse button to show/hide layers. Its name shows the type of space it comes from, and shows indicative status info (i.e. for 3d-view, it shows view-angle)
* Added refresh calls for action editor after editing relevant data.
I haven't tested all tools yet, but most should be stable.
Also, I've removed some unnecessary buttons, and added a few tooltips. There's also some experimental code to try to get clearer indication of 'active' layer.
Grease Pencil is a tool which allows you to draw freehand in some views, allowing you to annotate/scribble over the contents of that view in either 2d or 3d. This facilitates many easier communication and planning abilities.
To use, simply enable it from the View menu (choose 'Grease Pencil...' and click 'Use Grease Pencil'). Then, click+drag using the left-mouse button and the shift-key held to draw a stroke.
For more information, check the following page on the wiki:
http://wiki.blender.org/index.php/User:Aligorith/247_Grease_Pencil
When the NKEY is pressed in the Action Editor while hovering over the keyframes area, a floating properties panel can now be accessed. It shows relevant properties for the active channel, however this is currently only for Action Groups. Action Channel support will come later.
The key benefit of this panel is that it is now possible to edit the colour set used by a group. Also, there is a button for selecting all the channels in that group (which can also be done by simply Ctrl-Shift clicking on any group).
* When all the action-channels for a group are hidden (i.e. their related bones are not visible), the group in question is also not drawn. This helps reduce clutter. (slikdigit funboard request)
* When a group has no channels belonging to it, the expand icon/button isn't drawn for that group.
* Added a new tool "Synchronise with Armature" (found under Channels->Grouping), which synchronises the grouping of action-channels and the grouping of their relevant bones.
This only works when the active object is an armature, and the action isn't pinned. All of the action's action-channels are removed from their groups, and are added back into groups according to the current grouping of their corresponding bones.
A bit of testing for weird cases is needed.
* Group colours are now not drawn if the group originally was using the 'default' colour-set.
It is now possible for Action Channels to be displayed using the colour of its group. The colour for an Action Group is only set when it is auto-created by keyframing (controls to tweak this may/may-not be added, time permitting).
To enable the display of these colours, the View -> 'Use Group Colors' must be enabled. However, this is disabled by default.
Quick patch for action-filtering system, so that the IKEY (Insert Key) -> "Key Only Selected" doesn't key in channels that are hidden. Documented the convoulted logic there a bit.
Note: constraint channel keys in group channels seems to have become broken again at some point before this commit
Quick feature for setting Preview Range in Action Editor: the hotkey Ctrl-Alt-P sets the Preview Range so that it matches the extents of the active action.
Insert-Key in Action Editor didn't work correctly for Constraint Channels yet. This was because a pointer to constraint data was not being obtained (it's now hacked to assume that 'Influence' is being keyed all the time).
Deleting the first Action Channel in an Action Group acted odd. In some cases it crashed, other times it corrupted stuff (removing all subsequent Action Channels). Was missing a call to remove the Action Channel from group(s).
* Fixed whitespace in many places...
Now, when selecting Action Channel Groups while holding the Ctrl-Shift keys, all of the group's channels are selected. Any other channels/groups are deselected. Likewise, the related bones will also get selected.
Action Editor now displays shapekey channels for curves/surfaces too now. This commit may be reverted if there are some corner cases which work really bad with this.
* Added a new set of related tools for channel editing (Toggle/Enable/Disable Setting). These are activated using the Shift-W, Ctrl-Shift-W, and Alt-W hotkeys. They allow for setting of the given setting on all selected channels (where it will apply).
* Moved + grouped all the channel-related operations in a new "Channels" menu, located between the "Select" and "Markers" menus. This makes more sense than squeezing the functionality at the end of the "Key" menu!
* Ctrl-I now swaps the selection status of keyframes/channels depending on where the mouse cursor is located. Ctrl-Shift-I does so for markers.
* (De)selecting channels now clears the 'active' flags too, so there will be no more 'selected' items lingering around even after pressing AKEY
It's already supported within transform, was previously known as 'tweak mode' and for some odd reason was a compile time option. This brings it to a user preference (in 'Edit Methods' section).
Basically it means that you don't need the extra click at the end to confirm a drag-move transform, if you're already dragged, you can just let go of the mouse rather than needing to click again. It's a lot more comfortable when you're used to using other applications as well as blender, and much more sensible for tablets.
This started life as patch #7144 by Ed Britton, but this implementation has been changed considerably.
"Insert Key" menu in Action Editor (IKEY) now has a new option: "In Active Group". This only inserts keyframes in the active action group (if available).
* With "AfterTrans Delete Duplicates" and NLA-scaling on, IPO-curve handles were not updated after the operation.
* Sliders drew in the wrong places. Now they are drawn using the Action-Editor api stuff, so they should appear in the right places. I've also tweaked this so that sliders are now shown for ANY selected action channel's ipo-channels and constraint-channels, provided that the channel is in view.
* Action Editor "Open/Close Level" now works with Action Groups. Groups have priority over Action Channels for collapsing/expanding.
* Custom bone shapes using the new 'wire' option, were drawing with the wrong wireframe colour at times (i.e. when out of posemode, this happened quite often).
* Fixed/added a few comments in various places
Added a new column-select type of tool: Select keys on current frame.
As a result, I've changed the hotkeys for column select:
* KKEY - select keys on same frame as selected keys
* CTRL-KKEY - select keys on same frame as current frame
* SHIFT-KKEY - select keys on same frame as selected markers
* ALT-KKEY - select keys between selected markers
Constraint Channels now have editable keyframes again. In the process, I've tweaked the Action Editor filtering logic a bit, so some regressions with other tools may have been caused.
Now when moving keyframes in the Action Editor, any existing keyframes on the frames where a selected keyframe lands (after the transform) will be removed. This is to prevent stacks of keyframes which cause blips and headaches for animators (especially stressed animators with a looming deadline).
I've added an option to the Action Editor's View menu to turn this behaviour on/off (by default, it's on). This shouldn't need to be used too much, and may be removed in due course. If it stays, it'll need a better name...