Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-09-27Animation Editors - Moved the code for drawing the filtering toggles into a ↵Joshua Leung
single function.
2009-09-272.5 - Assorted Animation UI/Editing TweaksJoshua Leung
Main Feature: * It is now possible to choose which AnimData block is the 'active' one for editing, and/or select them too. AnimData blocks are generally the dark blue and lighter-blue expanders (i.e. Scene, Object, Camera, Lamp, Curve, Armature, etc.) * Objects are no longer selected/deselected when AKEY is used to toggle selection of channels. This was getting a bit annoying. * Following on from selection of AnimData blocks, it is now possible to select/make active an AnimData block in the animation editors, and change the active action for that block via the 'Animation Data' panel in NLA Editor's properties region. --> Be aware that user-counts are not totally handled correctly there yet, so some funky behaviour might be seen... --> It is possible to assign a new action, or to assign an existing one, allowing to switch between actions as in the past with Actions/IPO Editors... Other tweaks: * Some code tweaks towards making the 'Euler Filter' feature for Graph Editor working sometime soon * Added some backend code for snapping the values of keyframes to a single value. Still need to work out some UI for it though. * Shuffled the code for ACT_OT_new() around, and removed the poll() callback so that it worked in NLA too. * Fixed some more notifier bugs with deleting bones and a few other editmode operations for Armatures.
2009-09-212.5 - Keyframes can now be marked as 'extremes' in addition to 'breakdowns'Joshua Leung
* Extremes are shown as red/pink diamonds * I've changed the order of extremes and breakdowns in the code to make for nicer sizing/ordering. This might break a couple of files out there, but it shouldn't be too many. TODO: Still on my todo is to make these tags more useful (i.e. less likely to be overwritten by keyframing)
2009-09-21* Added Armature data filter buttons in Dopesheet/Graph editor headersMatt Ebb
* Fixed an RNA typo to fix ranges in action constraint
2009-09-192.5 - More Animation BugfixesJoshua Leung
* Updating Preview Range settings results in correct updates for Animation Editors * Compositing nodes now correctly animate when the values were set by IKEY/RMB on suitable node parameters. Beware that these nodes are not relinkable node-trees, hence the standard code not working. * Ctrl-P to parent objects to bones now works in Pose Mode too. I needed to add a special keymap entry for this, though I thought this would have been better to be automatically inherited/present from Object keymap already? * Ctrl-P -> Parent to Bone option now works correctly again. 1.5 lines of code missing here... * Breakdowns tool now shows custom cursor during 'modal' phase so that it's not that confusing what's going on.
2009-09-18Keymaps now have a poll() function, rather than adding/removingBrecht Van Lommel
their handlers based on notifiers, which is simpler and more reliable. This fixes for example editmode or uv edit keymaps not working when creating a new 3dview or image space.
2009-09-16UIBrecht Van Lommel
* Fix problem with curve mapping / color ramps not updating things like previews propertly. Now it uses the RNA update of the pointer from the material/texture/.. so each of those can define their own update, but still share the RNA struct. * Code for these templates is now in interface_templates.c * Fix exception for "axis" property, now it always shows normal widget with the PROP_DIRECTION subtype. * Remove context from uiBlockLayoutResolve, no longer needed.
2009-09-16UI: action editor header now also uses template for browsing actionBrecht Van Lommel
datablocks, was last place using deprecated uiDefIDPoinButs.
2009-09-052.5Brecht Van Lommel
Notifiers --------- Various fixes for wrong use of notifiers, and some new notifiers to make things a bit more clear and consistent, with two notable changes: * Geometry changes are now done with NC_GEOM, rather than NC_OBJECT|ND_GEOM_, so an object does need to be available. * Space data now use NC_SPACE|ND_SPACE_*, instead of data notifiers or even NC_WINDOW in some cases. Note that NC_SPACE should only be used for notifying about changes in space data, we don't want to go back to allqueue(REDRAW..). Depsgraph --------- The dependency graph now has a different flush call: DAG_object_flush_update(scene, ob, flag) is replaced by: DAG_id_flush_update(id, flag) It still works basically the same, one difference is that it now also accepts object data (e.g. Mesh), again to avoid requiring an Object to be available. Other ID types will simply do nothing at the moment. Docs ---- I made some guidelines for how/when to do which kinds of updates and notifiers. I can't specify totally exact how to make these decisions, but these are basically the guidelines I use. So, new and updated docs are here: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-042.5 - Keyframing Bugfixes + Code CleanupsJoshua Leung
* DopeSheet + Graph Editor - 'Sample Keyframes' option now tags newly created keyframes as being breakdowns. Also moved reduced the code duplication here by moving the core code for this to the animation module. * Keyframing (Standard/Auto) - Added proper 'replace' option Keyframes can now be rekeyed non-destructively when the INSERTKEY_REPLACE flag is provided to the keyframing API functions, since this option will make sure that only the values of the handles get altered. For the Auto-Keyframing 'Replace/Edit Keys' option, this means that it truly works as it describes now, since it will now only replace the values of the keyframes on the current frame, and won't create new keyframes in the process or destroy the tangents already created for those keys. For things like the sliders in animation editors, keyframes changing the value won't destroy existing tangents.
2009-09-042.5 - Keyframe Types for DopeSheetJoshua Leung
It is now possible to tag certain keyframes as being 'breakdowns' in the DopeSheet. Breakdown keyframes are drawn as slightly smaller blue diamonds. Simply select the relevant keyframes and use the RKEY hotkey (or from the menus, Key->Keyframe Type) to choose between tagging the keyframe as a 'proper' keyframe and a 'breakdown' keyframe. Notes: * Please note that this feature does not currently imply anything about breakdowns moving around keyframes or behaving any differently from any other type of keyframe * In future, if there is any such need, more keyframe types could be added, though this is not really likely at all
2009-08-252.5 - Action EditorJoshua Leung
New Actions can now be added again from the Action Editor. There are no guarantees that this works totally safely yet (reference counting may be quite off), so you've been warned.
2009-08-252.5 - Assorted Bugfixes for Animation EditingJoshua Leung
* Inserting keyframes now takes into account whether the F-Curve was editable or not. * Editing keyframes in animation editors now sends proper depsgraph updates instead of just tagging the relevant objects. Thanks JiriH for reporting these bugs.
2009-08-242.5 - Sliders in Animation EditorsJoshua Leung
The 'Show Sliders' option for DopeSheet and Graph Editors now works again. When this option is enabled (it is disabled by default), a slider (or combobox) is shown beside the mute/lock toggles for F-Curves. Editing the slider will result in a new keyframe being added on the current frame. So, for all the (ex)-Maya animators out there, you can now animate in a channelbox-like way. :) Also in this commit: * Fixed some warnings in modifier.c from previous commits there * Fixed some refresh problems with DopeSheet channel list (which were only obvious after adding back the sliders) * Removed the old/unrestored and nasty slider code used in the past by the Action Editor only.
2009-08-212.5: layout.itemO now returns OperatorProperties to be filled in,Brecht Van Lommel
when passing properties=True as argument. Other changes: * uiItemR, uiItemFullR, uiItemFullO now accept a flag argument rather than multiple different "boolean" arguments, but still exposed as booleans to python. * Fix RNA to support setting PROP_RNAPTR for return values.
2009-08-192.5: HeadersBrecht Van Lommel
* Fix header menu spacing bug, and make it consistent for all headers. * For consistency, always put menus first in the header, then any enums to switch the type of data displayed. * Node editor header ported to python layout. Still quite a few operators missing to make the menus complete. * RNA wrapped node editor, and added use_nodes property to material and scene.
2009-08-16Animation Editors: Code Cleanups (for Channel Lists) Part 2Joshua Leung
Now the mute/protect/expand/etc. toggles are drawn using UI widgets. This means that special event handling code to determine when they were clicked on is no longer needed, and also means that there can now be tooltips for these items too. Also, added visibility toggles for ID-block expanders, which will cause all the F-Curves in the linked datablock to not get drawn. The backend filtering code to make this work will come later...
2009-08-11Animation Editors: Code Cleanup Part 1 - DrawingJoshua Leung
Finally started refactoring the drawing code for animation editors so that all the drawing (of the channels/names list) is done using standardised code for all the editors. A little specialised system for this has been made, and is now used for DopeSheet and Graph Editor drawing. This should make it easier to add new channel types with less effort. Protect/mute toggles are now always clamped to the right-hand edge of the channels list. So you can now make the list wider to view longer names fully. However, since the mouse-handling hasn't been fixed yet, this won't always work. TODOs: * make mouse-click handling code use this system too, simplifying things to 1-2 lines of code there. Maybe this could be made to use UI widgets instead at a later date? * NLA still needs to be ported to this system
2009-08-032.5 - MetaBalls are now animateableJoshua Leung
2009-08-03Graph Editor Bugfixes:Joshua Leung
* Tools such as set handle type, etc. were not being called correctly from the menus. There were missing operator-context calls to make sure that the invoke methods would get skipped. * Hack for loading old files - buttons region for Graph Editor now gets added. Dunno why this didn't work automatically as for NLA despite the two having the same code.
2009-07-292.5 - Small tweaks to order of buttons for Animation Editor header buttons ↵Joshua Leung
to have more consistent layout
2009-07-282.5: code cleanup, added CTX_wm_space_* for each space type,Brecht Van Lommel
instead of casting everywhere.
2009-07-24ParticleSettings animdata wasn't shown in graph editor, dope sheet and nla ↵Janne Karhu
editor. Tiny bug fix too: Had forgotten particle child length setting from do_versions so old files with child hair showed all hair with zero length.
2009-07-18fixes for errors on startup and compiler errors and draw speedup.Campbell Barton
* Drawing the console text now skips all lines outside the view bounds. * Added dummy C operators for console.exec and console.autocomplete so blender wont complain at startup, its not really a problem but people testing reported it a few times. Eventually we should have some way python operators are initialized before the spaces operators are checked. * reordered the imports so the "ui" dir is imported before "io", for now this means bpy.ops is defined before exporters and importers need to use it, was causing a python error on startup. * fixed all compiler warnings for the console (gcc4.4) * stopped operators were printing out the return flag. * removed references to ACT_OT_test, TEXT_OT_console_exec and TEXT_OT_console_autocomplete
2009-07-182.5 - Removing quick test operator that I added by mistakeJoshua Leung
It was used to quickly test that the red-black tree was being built correctly, but was really an incomplete operator...
2009-07-182.5 - Optimisations for Keyframe Drawing in DopeSheetJoshua Leung
Keyframes are now prepared for drawing by being added to a binary-tree structure instead of using insertion-sort on a Double-Linked List. This gives rather significant improvements on a few bad cases (*). I've implemented a basic Red-Black Tree whose nodes/data-structures can also be used as a simple Double-Linked List (ListBase) for this purpose. The implementation of this tree currently does not have support for removing individual nodes, since such capabilities aren't needed yet. Stats (using keyframes from an imported .bvh animation file): * When only the keyframes are drawn (i.e. long keyframes are not identified), the time needed to draw the DopeSheet region 10 times went down from 4000ms to about 300ms. * When long keyframes are considered as well, the same test has gone from 6000ms to 3000ms. There is still a bottleneck there that I haven't been able to remove yet (an attempt at this made the runtimes go through the roof - 32000 ms for the test done here). Assorted Notes: * Added missing headers for some files * Fixed profiling flags for mingw. There was an extra space which prevented the sound-code from compiling.
2009-07-112.5 - Added descriptions to all Animation Editor operatorsJoshua Leung
DopeSheet and Graph Editor operators were missing these, since many of these operators were written before that field was added. NLA Editor's operators already have them.
2009-07-10NLA SoC: Attempt at solving the jumping-views problem Joshua Leung
The 'jumping-views' problem affected the NLA and DopeSheet editors, whereby the channels-list and the data-area would get out of sync (vertically) due to the size calculations of the two being done differently.
2009-07-10NLA SoC: Notifier Fixes for Animation Editors Joshua Leung
I've gone through all the Animation Editor operators, making sure they send appropriate notifiers, and that these notifiers are handled. * Added a separate category for animation-related notifiers, since the old-style ones attached to specific datatypes only was turning out to be not too feasible. * For now, the focus has been on making sure that all Animation Editors update when there have been any potentially suitable changes at all. Later on, we can filter these more carefully to only take the ones we really need (for optimisation purposes)
2009-07-10NLA SoC: Fixes for renamed headers (BIF_transform.h -> ED_transform.h)Joshua Leung
2009-07-10NLA SoC: Merge from 2.5Joshua Leung
21330 to 21469
2009-07-10NLA SoC: Tweaks from feedback from Broken + jezJoshua Leung
* Renamed the 'blend' blending mode to 'replace', since that's what it usually does * Drawing a darkened rect behind the keyframes shown in the action line -- * Fixed typo made last night which broke compiling * Consolidated all the keyframe-shape drawing code to use a single codebase. Even if we don't ultimately go with OpenGL keyframes, there's always a tidy option for that now.
2009-07-09NLA SoC: Cleanup of Keyframe Drawing code for DopeSheetJoshua Leung
* Removed the glaMapping stuff in favour of remapping the keyframes manually. The old code was causing some mess, and not really working well for the DopeSheet with various mappings being used. * Fixed NLA-mapped selection in DopeSheet. Clicking on individual keyframes should now work ok. More testing required though. * Keyframes in DopeSheet are now drawn fully using OpenGL (instead of icons). They look less tactile now, but this may be compensated with in terms of speed? Previously I disabled this type of drawing due to issues with some cards. Enabled again for now, but mainly because I couldn't get the icons to line up nicely in screenspace... * Borderselect in DopeSheet. I've had a look at issues with it selecting the wrong channel's keyframes. The issues don't seem to be solved yet though... will look again tomorrow.
2009-07-082.5: code consistencyBrecht Van Lommel
* Rename BIF_transform/retopo.h to ED_transform/retopo.h for consistency. * Move MESH_OT_duplicate_add to editmesh_add.c. * Remove some code from BIF_gl.h which is not needed there anymore.
2009-07-07NLA SoC: Current Frame can now be negative Joshua Leung
This commit is quite experimental, and might have to be reverted, but in quite a few places, the cleanups from this commit were already necessary. * I've left most of the image-handling functions alone, since I'm not sure how well they cope with negative indices. * Start/End frames cannot be negative for now... any specific reasons why they should be negative?
2009-07-03NLA SoC: Muting and Graph-Editor Curve visibility for (Action) GroupsJoshua Leung
Groups (the Action variety) can now be muted, and also be set to not be drawn in the Graph Editor. These settings get applied to all the F-Curves within the group, overriding any settings individual F-Curves might have, allowing users to quickly mute or hide groups of curves without having to go through clicking on all of them. Also, added a flag that can be used to set the curve visiblity on AnimData level too. This will be enabled in a future commit.
2009-07-01NLA SoC: Renamed a few options for the Mirror operators since their purpose ↵Joshua Leung
wasn't clear (in practice)
2009-06-29NLA SoC: Insert Keyframe Operator Tweaks (Anim Editor Versions) Joshua Leung
* Insert Keyframe (IKEY) operator for Graph Editor * Renamed the DopeSheet version to make it more consistent with the other keyframing operators
2009-06-28NLA SoC: NLA Mapping Cleanup Joshua Leung
While trying to fix the mapping conversions for repeat, I came across some limitations with the current (soon to be previous) mapping methods. Now the mapping conversions should work nicely for all places that use them.
2009-06-27NLA SoC: Move Strips Up/Down Operators Joshua Leung
These operators may be temporary only, depending on if a workable solution via transform is found. * PageUp moves strips into the track above if there's space * PageDown moves strips into the track below if there's space * Also fixed a button-alignment bug in the DopeSheet header
2009-06-25At last... this merge should finally do the trick!Joshua Leung
21073 to 21145
2009-06-24NLA SoC: Fixing a few cases where the wrong flags got used in last night's ↵Joshua Leung
commit
2009-06-23NLA SoC: Big Commit - Restored NLA-Mapping Corrections Joshua Leung
In TweakMode, the keyframes of the Active Action are now shown (and can be edited) in NLA-mapped time, with appropriate corrections applied when editing. This works in the DopeSheet and Graph Editors :) To do this, got rid of the old wrappers/API-methods, replacing them with new-style ones. A few methods previously (in this branch) used only for evaluation are now used for this purpose too. As the same code is used for editing + evaluation, this should now be much better to work with. I've only done a few brief tests now, but I think I might've muddled the invert-flags on one or two cases which I'll need to check out tomorrow. So, beware that there may be some weird and critical bugs for the next few days here... Also, added proper license headers to new NLA files. TODO: - testing + bugfixing due to this commit - show range of keyframes in NLA Editor active-action line
2009-06-23SVN maintenance.Guillermo S. Romero
2009-06-22NLA SoC: Graph Editor Menus + Operator Name Cleanup Joshua Leung
As with the DopeSheet, the names of operators in the Graph Editor have been cleaned up, and operators have been added to menus as appropriate to show their availability. Tweaked a few DopeSheet operator names to be more in line with the Graph Editor equivalents, and vica versa. TODO: now, the operator poll callbacks here need checking...
2009-06-22NLA SoC: DopeSheet Cleanups Joshua Leung
* Replaced old-style menu defines with the new-style Layout Engine ones. These are now much cleaner as a result :) * Wrapped DopeSheet and Graph Editors in RNA to allow them to use the new Layout Engine for menu drawing * Shortened the names of operators in the DopeSheet, removing the "keyframes" prefix since that's the only real context which can operate there. * Standardised a few names, and renamed a confusingly named operator (cfrasnap -> jump to frame)
2009-06-21NLA SoC: Fixes for Operator Poll Callbacks Joshua Leung
* Clicking on NLA tracks while in TweakMode now works so that channels can be muted/protected/expanded as per usual. However, they cannot be selected, as changing the selection state can interfere with TweakMode state changes * Operators for animation channel-lists now use proper poll callbacks, which also take into account TweakMode where appropriate (i.e. all selection operators are now allowed to operate in NLA while in TweakMode, and all other operators will only work in Animation Editors) * Action Editor operators now use the poll callback for Action Editors/DopeSheet instead of the generic active-araa one.
2009-06-202.5 merged 20773:21020Martin Poirier
2009-06-16RNABrecht Van Lommel
* Added icon to property and enum property items. The latter is responsible for the large number of files changed. * For RNA functions, added PROP_RNAPTR flag to ask for a PointerRNA as argument instead of a C pointer, instead of doing it implicitly with the AnyType type. * Material: properly wrap diffuse/specular param variables, and rename some things for consistency. * MaterialTextureSlot: added "enabled" property (ma->septex). * Image: make animated property editable. * Image Editor: make some things editable, notifiers, respect state. * Context: fix issue with screen not being set as ID.
2009-06-12NLA SoC: Fixes for crashes when selecting keyframes in object channels in ↵Joshua Leung
DopeSheet