This commit fixes reports #21638 and #21818, which were both also Durian feature requests.
Cbanges:
* Added new default setting for the type of handles created when creating keyframes. This can be found in the user-preferences, and is used whenever existing keyframes aren't being overwritten (instead of the value being always taken from the keyframes either side, #21638).
* When keyframing over existing keyframes, only the values will be changed. The handles will be offset by the same amount that the value of the keyframe changed, though how well this works in practice still needs to be tested more thoroughly (#21818, already fixed earlier, but this commit is the full fix).
* When 'free' handles are added by default, they are offset to be +/- 1 frame on either side of the keyframe so that it is obvious that they can be moved. However, they just take the same value of the keyframe since this is easiest.
* Properly initialising handle colour defaults for 3D-View and Graph Editor. Graph Editor's theme userprefs also show these settings now, though the layout is really quick hack-style.
Emulate 3 button mouse is now disabled when Left mouse select is used, to
prevent keymap conflicts. Configs for single button macs etc we can do with
keymap presets.
Theme colours were getting overwritten on startup with defaults (as in 2.4
system). Changed this to allow changing the default theme, and added a
'Reset to defaults' operator in user prefs. Perhaps next step to look into the
py presets system for themes too (nice and easy to share).
If you're using a custom B.blend you may get some strange theme colours on
startup if they weren't saved properly before. 'Reset to default' button in theme
preferences should fix it back to defaults.
For some reason, __import__ doesn't recognize the cfg folder as part of the part.
Using exec("import " ... fixes that, but should be investigated further.
Some code changes:
* Every Add-On now needs a dictionary with several infos, which are then displayed in the Blender UI and/or are used internally.
Example:
bl_addon_info = {'name': 'Measure panel',
'author': 'Buerbaum Martin (Pontiac)',
'version': '0.6.3',
'blender': '2.5.2',
'location': 'View3D > Properties > Measure',
'url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Panel_Measure',
'category' : 'UI'}
Unfinished/Not working yet
* The 'blender' tag is compared with the internal version number, it raises an error if the add-on was written for a newer Blender version.
* The 'category' tag will be added to the filter, so the add-ons can be searched/filtered.
This patch adds following features:
- Filter Add-ons by a category.
- Search Add-ons by Name and Author.
- Possibility to expand an Add-on, displaying more information like author, version, description, etc.
- Warns when a user wants to enable a script that was written for a newer version of blender
- Replaced hardcoded nurbcol array with theme colors
- Send notification in duplicate curve operator (this operator could
reset/change active nurb)
- Edge seam color added to the user preferences dialog
image.py has a function image_editor_guess(), please test on windows and mac. (using 'startfile' and 'open')
this is only used when the image editor is not set.
* I put it under General->System. Not sure is the better place for it though (space_userpref.py)
** also: creator.c fix to avoid autoplay of games when scripts are disabled.
* 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.
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.