markers.
This is useful for when working with lipsync shots, where you've used
markers for noting down key syllables and want to separate these out
into chunks to manage things better.
left/right to current frame in dope sheet
This commit separates out this selection functionality out of the
click-selection operator into a separate operator, so that hotkeys and
menu entries can be assigned to it.
This is based on an idea+patch (#23738) submitted by Torsten Rupp
(rupp), though I've ultimately decided not to go with the suggested
implementation as I don't think this fits that well under the "column"
select operator.
Todo: Graph Editor support will be coming shortly...
This removes auto-registration, committed by Martin r30961.
Realize this is a contentious topic but Brecht and myself both would rather opt-in registration.
TODO:
- addons need updating.
- class list will be modified to use weakrefs (should have been done for existing system too).
- will move bpy.types.(un)register functions into bpy.utils.(un)register_class, currently including these functions in a type list is internally ugly, scripts which loop over types also need to check for these.
While animating, I realised that actually the 'only selected' and
'include hidden' DopeSheet filtering options are also useful in the
Action Editor, especially while tweaking the animation for some
characters, where you'd like to focus only on some of the character's
control (i.e. eyelid tweaks, hand tweaks, etc.).
The other DopeSheet filtering options aren't so relevant here, so I've
excluded them from this.
This commit restores some basic functionality for retiming Grease
Pencil sketches. Some of the functionality that existed before still
hasn't been restored (namely snap/mirror tools as well as copy+paste),
though it should be possible to use this for basic retiming and
sketch-frame management again.
- There's still a lot of work required to get this up to the standard
of the rest of the animation editor code, as some of this code was
originally just hacked in based on the old-style code.
- Work is already required to not have to directly access the main db
global to get the list of Grease Pencil datablocks to show, but that
can come along with pending cleanups of the filtering code.
These were markers which belonged to an action instead of the scene,
and are used by PoseLib to keep track of where poses are.
To restore this, I've made this only available in Action/Shapekey
Editor modes, and only when an action is being shown and the "Show
Pose Markers" option in the Markers menu has been enabled. Other than
that, all the standard marker operators apply now (instead of using a
separate set of special operators).
Issues:
- It looks a bit crowded though, so perhaps we could do without, and
just leave it for the TimeLine only?
- Due to the way the invoke() testing works, the rename operator
called from the menu currently fails. Will need to experiment more
with execution options to find a workaround.
F-Curves tagged as "disabled" now have their channels drawn with a red line underlining their names.
"Disabled" F-Curves are skipped for evaluation, and typically result (for example) from assigning an action from one armature to another, but the new armature does not have some of the bones the action's F-Curves need in order for the datapaths (referring to the property the F-Curves affect) to be resolved. This is to prevent heaps of invalid channels slowing down animation playback.
I've also added a new operator, found by:
Channels -> Revive Disabled F-Curves
in the Graph Editor and DopeSheet/Action Editors, which will clear all the disabled tags for all the F-Curves in the animation editor at the time (based on the filtering criteria).
Use this operator to clear the disabled tags, allowing such channels to be able to be evaluated again (perhaps after adding the offending bones for example, or when using the action on the original armature again).
This commit restores the ability to reorder channels in the animation editors (DopeSheet/Action/etc., Graph/Drivers, NLA). The hotkeys for this are:
- Shift-PageUp = Move Up
- Shift-PageDown = Move Down
- Ctrl-Shift-PageUp = Move to Top of List
- Ctrl-Shift-PageDown = Move to Bottom of List
Do note that only animation data can get reordered using this.
So, do not expect to be able to change the object order (that is actually taken from the order that Blender actually evaluates them per update/frame).
---
In the process, I've fixed a couple of other bugs:
* Removed 'optimisation step' check in anim_filter.c for dopesheet with no filtering options modified, since this meant that the ANIMFILTER_ANIMDATA data filter was not getting processed (and potentially there were other maintenance problems with that).
* Made NLA Editor's channel list not totally duplicate the basic Animation Channels keymap. Instead, the "NLA Channels" keymap now only defines the parts that are different, and this then gets specified before the standard one so that these different parts will override the standard ones.
* Attempted to fix BorderSelect on NLA Channels list. Still not totally working correctly yet though.
* Moved "Euler Discontinuity" menu entry from "Channels" to "Keys". It really belongs in the latter, since it affects the keyframe values, rather than some aspect of the channel (i.e. ordering of channels or how they're displayed)
* Shapekey editor now shows ID-box for showing and editing the action assigned here. This should help alleviate the misconceptions arising to #23823, where user tries to load shapekey action into Action Editor (context there is ob-action only).
There are still a few minor update bugs that I still need to fix here (i.e. post keyframing) though. Those shouldn't take too long I think.
* Changing the action used in the Action Editor properly decrements the user counts now. This solves the bug where you could get actions with a high usercount, but not that many actual users.
Running scripts directly didnt call the register function, even though this is not essential its good to be able to run a script directly and see changes in the UI.
This commit adds a few more execution contexts for operators, given the increasing tendency for some special regiontypes to exist within areas that must have their own set of special operators.
Examples of these include the "channel" operators in the Animation Editors (i.e. those in the 'Channels' menu), and the "Fit to Preview Window" operator for the Sequencer.
Previously, operators such as these would not function when clicked on from the menus, and they would not show the hotkeys they were mapped to.
Also, fixed a few operator definitions in the Animation Editors which were missing ot->prop defines. This meant that some hotkeys (mainly selection) were shown incorrectly in the menus.
This commit introduces the Select More/Less Operators (Ctrl +/-) for keyframes. This works like the ones for curves, by only selecting/deselecting keyframes lying in the same F-Curve. Inter F-Curve selection is not done by this operator. That is the job for another one.
This is especially useful for F-Curves set in the 0-1-0 pattern (i.e. 3 keyframes forming localised peaks), where the peaks can be selected by clicking on them individually, and immediately surrounding '0' values are selected too using "Select More".
- In 2.4x, this setting was the lock button in the headers.
- Now, this option can be found in the View menus of all relevant editors
- Basically, this option toggles whether objects (using animation data that's being edited) get updated during animation editor transforms to give realtime feedback on the effects of tweaks.
- By default, this is enabled, since this fits in nicer with 2.5's everything 'live' paradigm. However, it is recommended to disable this on slower computers or when updates for heavy rigs are causing too much workflow lag
- Also, removed some old crufty settings from action editor data