Commit Graph

61 Commits

Author SHA1 Message Date
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
fc3b29b637 Small consistency fixups 2011-02-10 09:39:55 +00:00
c397e8b4e0 Bugfix [#25831] Sorting channels broken
Recoded animation channel sorting code. In particular, the old code
didn't handle "islands" of selected items well (i.e. a chain of
several connected items in a row), with some of these cases having
unpredictable results.

There were also some bugs in the way some of the rearranging methods
worked, allowing some invalid operations to be performed. Some of
these probably triggered errors such as some channels getting stuck,
and so on.
2011-02-10 05:15:05 +00:00
501703020a "Batch-Edit" Code cleanup: Renaming ED_operator_ipo_active to
ED_operator_graphedit_active
2011-02-01 23:51:52 +00:00
cf25b10eb5 Todo #22395: Restoring Grease Pencil Editing Mode in DopeSheet Editor
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.
2011-01-10 22:10:28 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
09852b9a58 Animation data for lattices is now shown in the Animaton Editors 2011-01-05 00:37:21 +00:00
b0f87a1746 rename addlisttolist() to BLI_movelisttolist()
name was misleading because the list items were removed from the source list.
(no functional changes)
2010-12-21 14:49:34 +00:00
7775a1a798 Bugfix #21724
Graph Editor: "make selected channels visible" VKEY didn't 
make unselected channels invisble.

What is left is that the active channel remains visible still.
Not sure if that's by design, for Joshua to answer.
2010-12-14 19:25:49 +00:00
e75ef3551e Adding some descriptions for animation-related operators that were missing them. 2010-12-02 02:03:30 +00:00
fd9afa7431 rename anim.channels_revive_fcurves --> anim.channels_fcurves_enable
better matches existing VIEW3D_OT_enable_manipulator & ANIM_OT_channels_setting_enable
also fixed warning.
2010-11-11 21:49:40 +00:00
c1a74d9bd6 Animation Editors: Experimental indicators + "fixup" operator for "Disabled FCurves"
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).
2010-11-11 11:56:50 +00:00
615a2060c9 Bugfix: NLA Channel Borderselect works again 2010-11-08 00:09:31 +00:00
55923d1044 compiler warning fixes 2010-11-07 23:22:40 +00:00
fb20c1b184 Partial fix for NLA Channel-List Border Select. This part of the fix gets the selection ranges right. The next part of the fix (for tomorrow) will involve setting up access for NLA-Track properties... 2010-11-07 12:15:21 +00:00
db4609eb08 Animation Editors: Channel Reordering
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)
2010-11-07 12:09:15 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
f81248265d tag UNUSED() for operator exec() and invoke() functions. 2010-10-15 01:36:14 +00:00
a6e7823942 make fly mode border draw into a area drawing callback rather then using a flag (no functional change). 2010-10-02 19:31:23 +00:00
d6ee8a0e4d Cleanup of Auto-Keyframing code:
Moved duplicated code out to a special new function so that this doesn't need to be copied all over for each transform op that needs this.
2010-09-30 11:56:39 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
e25393a098 reverting commit r28693. Making backspace a 3rd delete key.
We already have 2 keys for delete, no need to add a 3rd, better use backspace only when it makes sense or allow users to hook it up to something.
2010-07-17 18:02:10 +00:00
bfd0810beb Notifier cleanup - replaced ND_*_EDIT and ND_*_SELECT data notifiers
with the generic action equivalents (NA_EDITED and new NA_SELECTED)
2010-06-18 04:39:32 +00:00
37ecf15f3f Bugfix #22204: curve modifier onto lamp energy with more than one user of lamp settings creates two modifiers
This was caused by the multi-user data appearing multiple times in the channel list. Now most editing functions filter out duplicates before doing anything to prevent these problems. 

Hopefully the additional cost of filtering the entire list an extra time won't be too much of a speed/mem hit...
2010-05-20 05:18:27 +00:00
5afb24cedb Added backspace as an alternative to the X key, for deleting things. 2010-05-09 21:37:53 +00:00
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
6cac9188b3 remove unused includes 2010-03-14 16:27:07 +00:00
21a2350248 Animation Playback Option (No negative frames) and Other Bugfixes:
* Added a user-preference setting which disallows setting the current frame number to a negative number. This setting only applies when setting the current frame by scrubbing the time cursor in a timeline view, or by typing a value into the current frame number field.

* Made the minimum frame number for the start frame to be 0, which should make setting keyframes by a regular step size less confusing. Also changed the MINFRAME define to 0 for consistency. Hopefully this doesn't cause any problems with any output formats. 

* Fixed some missing channel selection cases in animation editors.
2010-02-18 00:29:08 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
59a508d00b Bugfix #20903: Concitency issues between point and click and Tab Key in the Graph Editor
- 'Toggle' operators for channel settings now now act more like the select-all type of "toggle" operator. The old behaviour has now been moved to "invert".

- Channel settings are now flushed (like for visibility and when clicking) for muting and locking when using the operators
2010-02-09 21:22:24 +00:00
3563118ae4 Bugfix #21029: Animation editor's channel-group check boxes behave oddly
This commit fixes the first issue in the report - deselecting unselected channels does not flush the change in state - which resulted in the channels of collapsed and unselected groups not getting unselected too (a consistency issue).
2010-02-09 08:38:45 +00:00
5e9b5ddfc1 Durian Bugreport - Animation channel visiblity (upwards) flushing
When the visiblity of a F-Curve in an expanded group was enabled using VKEY, the visibility of all groups above the expanded groups were also turned on.
2010-02-08 10:47:34 +00:00
23c070dd41 Small assorted harmless code cleanup tweaks before a round of cleanups aimed at fixing a few bugs in animation editor filtering. 2010-02-08 10:27:10 +00:00
28238ead51 Hid some debug prints for clicking on animation channels. 2010-02-08 02:51:02 +00:00
2f72b91a54 Operator Execution Contexts Bugfix:
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.
2010-02-07 23:39:44 +00:00
7c21eb7cd5 Bugfix #20664: NLA Editor - Hiding stuff causes instant crash .. 2010-01-24 10:18:16 +00:00
42c8448fe6 Durian Request: Expansion of Action Groups not linked between DopeSheet editors and the Graph Editor
Action Groups can now be expanded/collapsed in DopeSheet editors without the same thing happening in the Graph Editor, and visa versa. 

This should help improve the workflow, since the channel lists are generally kept more compact in the DopeSheet, while they are more expanded in the Graph Editor, so less time is spent expanding/collapsing stuff. Also this should hopefully alleviate some of the errors from accidentally deleting and then having to restore channels that were not intended to be deleted.

Also, switched the order of the expand/collapse hotkeys (in the channels list region) for channels so that Ctrl +/- now expands/collapses selected channels only, while +/- expands/collapses all channels. This should make it more convenient to quickly open up all groups to select F-Curves for the Graph Editor.
2010-01-23 03:04:37 +00:00
5272991e8b generic operator menu was searching for "type" and using the first enum property if it wasnt found.
this is too arbitrary and could break if roperty order is changed.
store the property in the operator type that is to be used for menu and enum search func's.

python function for searching operator enums on invoke. (just need dynamic python enums now)
 wm.invoke_search_popup(self)
2010-01-15 22:40:33 +00:00
2c56c59dfe Animation Channels - Protect + Mute toggles flushing:
Protect and Mute toggles now flush their values when changed, like for visibility, making the workflow a bit smoother. Currently, this only takes effect when clicking on the toggles (i.e. the hotkey+select based toggle setting operators don't take this into account yet).
2010-01-10 11:09:30 +00:00
be55097353 Mesh Animation + Depsgraph Tweaks:
* Mesh data/settings can now be animated. It is not recommended that geometry be animated directly, but other settings such as autosmooth, etc. can be...

* Code cleanups for depsgraph, making sure that drivers get included for all object data types.
2009-12-28 00:52:31 +00:00
980e97923b Key map related things:
* Moved 'change shortcut' (previously directly RMB on menu items) to a context-menu item, and added Remove Shortcut and Add Shortcut. This is all available now in a RMB context menu for operator buttons and menu entries.
* Renamed a bunch of key maps to be consistent with UI names, and human-readable. Since these key map names are now being directly used in the UI for people to find things, they should be understandable and in plain language.

This renaming may break some older saved key map setups - though previously saved .b25.blends should convert over ok. Exported .py files may need some find/replacing - in this commit check the changes in resources.c to see what's changed.
2009-12-24 09:26:06 +00:00
18b9385c53 Small Durian Request for animation editors:
Assigned borderselect for animation channels to LMB-tweak too, so it is now possible to select a bunch of channels by simply click-dragging.
2009-12-15 10:46:19 +00:00
45955fef18 Bugfixes: Deleting Keyframes + F-Curves
This commit fixes #19908 and #20239. Deleting keyframes will now delete the F-Curves they came from too, if the F-Curves don't have any more keyframes and/or F-Modifiers providing any further motion info.
2009-12-04 03:51:52 +00:00
1fd581ad77 Bugfix: Toggle animation channel visibility (shift-v) was not flushing the new values correctly
- Modifying groups did not flush status to channels below
- Objects were always toggled. Still need to figure out why this didn't work right...
2009-12-03 10:27:22 +00:00
a2d757dc7d Durian Requests for Graph Editor Visibility Toggles (2):
Improved the hotkeys for toggling the visibility of channels in the keys area for the Graph Editor. 

* VKEY - this is now used for making only the selected channels visible, hiding everything else
* Shift-VKEY - the old toggling behaviour

In addition to this, I've made these toggling operators flush the visibility flags up/down the hierarchy, just like clicking on the channels manually do. There are still a few minor oddities to iron out, but it should be better than before.

Also, fixed a bug with these toggling operators introduced during my earlier commit to make filtering work ok. It's always tricky getting these layers of checks just right, so hopefully nothing breaks now again...
2009-11-30 11:10:03 +00:00
efae4c8f21 removing drivers was trying to remove the fcurve from the actions fcurve list if an action was set, now check if the context is for drivers first.
not 100% sure this is correct but removing fcurves worked in my tests for actions and drivers.
2009-11-17 14:32:19 +00:00