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
2014-04-01Correction for error in own recent commit (makesrna c++ api, un-init var)Campbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-26Fix T38853: right click menu add driver should not be possible to redo.Brecht Van Lommel
This was already disabled for the keyframing operators, needs to be done for drivers as well as this doesn't work.
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-10-31code cleanup: spellingCampbell Barton
2013-09-03Tweaks to New Driver creation behaviourJoshua Leung
* 'Show Debug' now enabled for all newly created drivers. For most users, it is useful to be able to see this to help figure out what's going on * Removed failed experiment of creating new drivers with Generator FModifiers. I had hoped that this would make it easier to create drivers that doubled or halved the input values, but that has proved to not be the case, and instead made harder for most users to set things up (as they'd have to remove these first). Now, when adding drivers from the UI, these get created with two keyframes (at (0,0) and (1,1) for a 1-1 mapping), which can be easily tweaked normally. However, for backwards compatability of scripts (notably rigify, and perhaps some others out there), when creating drivers from scripts, they will still get created with Generator FModifiers for now. We can review this situation again for 2.7, but for now it seems ok.
2013-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-04-26Fix a few more cases where an operator should not show in the search menu.Brecht Van Lommel
2013-04-24fix [#34958] keyframe many items would fail if there was a (") in the text.Campbell Barton
2013-04-22Bugfix [#34836] Crash when driver variable has path == 'data'Joshua Leung
Most of the places which relied on RNA_path_resolve() did so believing that if it returned true, that it had found a valid property, and that the returned pointer+property combination would be what the path referred to. However, it turns out that if the property at the end of the path turns out to be a "pointer" property (e.g. "data" for Object.data), this would automatically become the pointer part, while the prop part would be set to null. Hence, if a user accidentally (or otherwise) specifies a path for the single-property driver variable type like this, then Blender would crash. This commit introduces two convenience functions - RNA_path_resolve_property() and RNA_path_resolve_property_full() - which mirror/wrap the existing RNA_path_resolve() functions. The only difference though is that these include a check to ensure that what was found from resolving the path was in fact a property (they only return true iff this is the case), and make it explicitly clear in the name that this is what they will do so that there's no further confusion. It is possible to do without these wrapper functions by doing these checks inline, but the few cases that had been patched already were pretty hideous looking specimens. Using these just make it clearer and simpler for all. I've also beefed up the docs on these a bit, and changed these to using bools.
2013-02-21Dependency Graph: some refactoring which should have no user visible impactBrecht Van Lommel
besides performance in some cases. * DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in most cases. This will clear the dependency graph, and only rebuild it right before it's needed again when the scene is re-evaluated. This is done because DAG_scene_sort is slow when called many times from python operators. Further the scene argument is not needed because most operations can potentially affect more than the current scene. * DAG_scene_relations_update will now rebuild the dependency graph if it's not there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare cases that need it. * Remove various places where ob->recalc was set manually. This should go through DAG_id_tag_update() in nearly all cases instead since this is now a fast operation. Also removed DAG_ids_flush_update that goes along with such manual tagging of ob->recalc.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-18More UI messages and BKE_reportf<->BKE_report fixes...Bastien Montagne
2012-07-03Followup for r.48515Joshua Leung
* Removed material driver creation hack. However, the textures one remains, as texture eval isn't ready yet * Shuffled some code
2012-05-27style cleanupCampbell Barton
2012-05-19code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also ↵Campbell Barton
replace do prefix with do_ for bool vars.
2012-05-08style cleanup: animation + buttonsCampbell Barton
2012-04-29style cleanup: function calls & whitespace.Campbell Barton
2012-03-26style cleanup: add braces around checks - 'if ELEM() {...}', confuses some ↵Campbell Barton
parsers that done expand macros.
2012-03-22style cleanup: spaces aroudn operators for operator definitions.Campbell Barton
2012-03-03style cleanup - spelling corrections & update some incorrect comments.Campbell Barton
2011-09-19/blender/editors: Removed final points in UI strings and messages.Bastien Montagne
Plus a few cuts in very long lines…
2011-08-28Assorted comment clarification in response to code review notesJoshua Leung
2011-08-12Bye bye vile relics of extinct version control systems,Joshua Leung
Causing a flurry of refresh file prompts post-commit, Confusing local diffs and causing merge conflicts, Stating the obvious; redundant and useless... We shall not miss thou, blasted expand $keywords$
2011-08-04Bassam Feature Request: "Auto Clamped" handles can now be set perJoshua Leung
handle/key This used to be a weird per-curve setting which would happen to get applied/work correctly if handles were set to "auto", and was a source of constant confusion for both old and new animators. The main effect of this handle-type/option was really to just ensure that auto-handles stayed horizontal, instead of tilting as the keys were moved. This commit simply changes this from a per-curve to per keyframe/handle setting.
2011-07-04First stages of easier "expressions" creation...Joshua Leung
It is now possible to create "scripted expression" drivers by simply clicking on some property, and typing some short Python expression prefixed with a '#'. This will result in a scripted expression driver, with the typed-in text being created. For example, you can click on X-Location of the default cube, and type: #sin(frame) and a new driver will be created for the x-location of the cube. This will use the current frame value, and modulate this with a sine wave. Do note though, that the current frame is a special case here. In the current implementation, a special "frame" driver variable, which references the current scene frame is created automatically, so that this simple and (assumed) common case will work straight out of the box. Future improvements: - Explore possibilities of semi-automated extraction of variables from such expressions, resulting in automated variable extraction. (Doing away with variables completely is definitely 100% off the agenda though) - Look into some ways of defining some shorthands for referencing local data (possibly related to variable extraction?)
2011-02-27doxygen: blender/editors tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-13many functions in blender are not marked static but should be.Campbell Barton
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-13fix for warnings from Sparse static source code checker, mostly BKE/BLI and ↵Campbell Barton
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-01-14Driver creation hack:Joshua Leung
Drivers created from the Properties Editor for Materials and Textures will now be created on Object-level instead of on their owner Material/Texture as for their keyframes. The intention of this hack is to allow users to be able to easily set up drivers for materials and textures. Without this hack, users would have had to do this manually via the Datablocks editor (I've described this method a few times in detail, though this still attracts complaints), as the way the depsgraph works does not allow ID blocks other than Objects and directly-linked Object data to be driven. As a result, although this hack can be done for these two cases, there are no workarounds possible for Scene and Scene-linked settings. There are 2 issues that will be noticed with this approach: 1) There may be confusion over why the drivers are found under Object level and not Material/Texture level. 2) Driver status will not be shown in the buttons, leading to attempts to try to keyframe the properties directly later and subsequent confusion when finding that that won't work. However, these are the sacrifices we'll need to make to get easy-setup working in the meantime until the proper fixes can be done.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2010-12-30revert part of Tons commit r33884.Campbell Barton
- rather then use unlink="None", just don't pass unlink as a keyword. This is more pythonic. - added an RNA flag for properties which cant be unlinked by setting to None.
2010-12-28Drivers Code Cleanups and UI Tweaks:Joshua Leung
- Adding drivers from the UI (not from py-scripts though) will now automatically add a "Transform Channel" driver variable to the newly created drivers. This makes setting up drivers a bit more convenient for the most commonly used case. - Drivers now report their errors using the Reports system instead of writing these directly to the console. - Clarified some comments to be more insightful about the "why's" of some design decisions, and related formatting/cleanup tweaks - Reduced scope of "path" vars to just the scope they're required in - Removed some unused defines from a failed experiment in the original Keying Sets code ("templates" and "template flags") which was superseeded by the more flexible + nicer "Builtin KeyingSets"
2010-10-31initialize structs to zero rather then using memset().Campbell Barton
2010-10-16most unused arg warnings corrected.Campbell Barton
- 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-15tag UNUSED() for operator exec() and invoke() functions.Campbell Barton
2010-09-25Fix #23847: keyframe insert on button not working in popup menus, e.g.Brecht Van Lommel
the vector popup for node inputs.
2010-09-24Fix #22947: sample color tool not working in user preferences, was assuming theBrecht Van Lommel
color to be a property on an ID block. Note that sampling from another window still does not work, only within the same window.
2010-08-012.5: code changes to reduce the usage of G.main and pass it alongBrecht Van Lommel
or get it from the context instead.
2010-04-11python function to remove drivers.Campbell Barton
eg: bpy.context.object.driver_remove("location") ANIM_remove_driver now accepts -1 as an index for removing all drivers from one path.
2010-03-14remove unused includesCampbell Barton
2010-02-12correct fsf addressCampbell Barton
2010-02-11batch remove .'s used with RNA_def_struct_ui_textCampbell Barton
2010-01-28Fix RMB menu insert driver not working on some buttons, passingBrecht Van Lommel
wrong pointer into RNA.
2010-01-05Durian Request: Drivers RecodeJoshua Leung
Highlights: * Support for Multi-Target Variables This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that. * New Variable Types With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones). * New Driver Types In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to. * Fix for Driver F-Curve colouring bug Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used. Notes: * This commit breaks existing 2.5 files with drivers (in other words, they are lost forever). * Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later. * Version patching for 2.49 files still needs to be put back in place.
2009-12-17RNA/UI - Reset Settings to Default ValuesJoshua Leung
Added a new operator for properties which resets RNA-based settings to their 'default' values, as defined in RNA. This currently only works for floats, ints, enums, and booleans (strings and pointers still need to be implemented). The current extensions to the RNA API that I've made here seem a bit excessive, and can be toned down if necessary. In short, I've just added accessor functions for the default-values of the property definitions. For this to be really useful, many properties in RNA will need to get defaults defined, since the current defaults for quite a few properties tested were less than ideal.
2009-11-28operator renaming for more consistent word ordering (_add/_remmove shold be ↵Campbell Barton
last, ACT_OT_* --> ACTION_OT_*) ACT_OT_clean --> ACTION_OT_clean ACT_OT_clickselect --> ACTION_OT_clickselect ACT_OT_copy --> ACTION_OT_copy ACT_OT_delete --> ACTION_OT_delete ACT_OT_duplicate --> ACTION_OT_duplicate ACT_OT_extrapolation_type --> ACTION_OT_extrapolation_type ACT_OT_frame_jump --> ACTION_OT_frame_jump ACT_OT_handle_type --> ACTION_OT_handle_type ACT_OT_insert_keyframe --> ACTION_OT_insert_keyframe ACT_OT_insert_keyframe --> ACT_OT_keyframe_insert ACT_OT_interpolation_type --> ACTION_OT_interpolation_type ACT_OT_keyframe_type --> ACTION_OT_keyframe_type ACT_OT_mirror --> ACTION_OT_mirror ACT_OT_new --> ACTION_OT_new ACT_OT_paste --> ACTION_OT_paste ACT_OT_previewrange_set --> ACTION_OT_previewrange_set ACT_OT_properties --> ACTION_OT_properties ACT_OT_sample --> ACTION_OT_sample ACT_OT_select_all_toggle --> ACTION_OT_select_all_toggle ACT_OT_select_border --> ACTION_OT_select_border ACT_OT_select_column --> ACTION_OT_select_column ACT_OT_snap --> ACTION_OT_snap ACT_OT_test --> ACTION_OT_test ACT_OT_unlink --> ACTION_OT_unlink ACT_OT_view_all --> ACTION_OT_view_all ANIM_OT_add_driver_button --> ANIM_OT_driver_button_add ANIM_OT_add_keyingset_button --> ANIM_OT_keyingset_button_add ANIM_OT_delete_keyframe --> ANIM_OT_keyframe_delete ANIM_OT_delete_keyframe_button --> ANIM_OT_keyframe_delete_button ANIM_OT_delete_keyframe_v3d --> ANIM_OT_keyframe_delete_v3d ANIM_OT_insert_keyframe --> ANIM_OT_keyframe_insert ANIM_OT_insert_keyframe_button --> ANIM_OT_keyframe_insert_button ANIM_OT_insert_keyframe_menu --> ANIM_OT_keyframe_insert_menu ANIM_OT_remove_driver_button --> ANIM_OT_driver_button_remove ANIM_OT_remove_keyingset_button --> ANIM_OT_keyingset_button_remove FILE_OT_add_bookmark --> FILE_OT_bookmark_add GRAPH_OT_insert_keyframe --> GRAPH_OT_keyframe_insert NLA_OT_add_actionclip --> NLA_OT_actionclip_add NLA_OT_add_meta --> NLA_OT_meta_add NLA_OT_add_tracks --> NLA_OT_tracks_add NLA_OT_add_transition --> NLA_OT_transition_add NLA_OT_remove_meta --> NLA_OT_meta_remove PARTICLE_OT_remove_target --> PARTICLE_OT_target_remove PTCACHE_OT_add_new --> PTCACHE_OT_add
2009-11-25Assorted fixes - compile + drivers:Joshua Leung
* Fixed a few compile warnings for scons+mingw * Driver variables are now added with the ID-type set to ID_OB (objects) by default since this is more convenient
2009-11-24Depsgraph/DriversBrecht Van Lommel
* Removed ED_anim_dag_flush_update and ED_anim_object_flush_update. These were wrapping DAG_* calls and were intended be used instead of them when doing a DAG update from editors. That goes against the design in my opinion, no matter who calls the DAG, that should update the editors correctly, so any special checks in such functions for editors should be avoided. * Driver RNA properties now do updates again, including DAG scene sorting, text buttons no longer update as you type anymore, so this should be safe I think. * Remove scene.update() RNA function, all properties/functions should do this automatically, if changing some property or calling a function/operator does not do the correct update, that should be fixed.