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
2011-08-013D Audio GSoC:Joerg Mueller
Adds new speaker object type. Notes: * Needs some nice icons * Quickily review by Joshua Leung (5 mins) * Properties UI updated (with help of Thomans Dinges) * Speakers have their own theme color * No real audio functionality yet. * Minor bug regarding lamps/lattices fixed in interface_templates.c I personality tested: * Creation, Deletion, Duplication * Saving, Loading * Library linking (incl. make local) * Tracking * Dope Sheet, Outliner * Animation * Drawing (incl. Theme)
2011-06-01Fix #27550: texture node editor header was still showing texture datablockBrecht Van Lommel
selector even if there is no active texture slot or node, now it's disabled in that case.
2011-05-18RNA: pass Main rather than Context to register/unregister callbacks.Brecht Van Lommel
2011-04-19Bugfix [#25960] Action/NLA Editor issues with animdata contextJoshua Leung
Actions now get tagged with an ID-code, which is used to determine what ID-blocks they can be assigned to. This ensures that material actions cannot be assigned to the object-level for example. * Action lists in general will now show only the actions that can be set for that particular slot. This prevents selection of invalid actions, and helps cut down the list of actions. ** An exception here is the Add Action Clip in NLA Editor, which will show all actions but will only add where appropriate. This is because it's not easy/possible to tell in advance which blocktypes to filter for when building this list. (TODO?) * The "Action Editor" is now strictly for object-level action editing+setting now. This avoids repeateded confusion by people who try using this to view their shapekey actions, which should go to the Shape Key Editor instead! ** A context switcher for the legitimate times where this capability might come in handy is still being investigated. * "Floating" actions (i.e. actions in some action_library.blend) are NOT able to be automatically tagged until they are assigned to some datablocks (i.e. loaded onto the rig + played back once). It is possible to write scripts that check for certain RNA-paths and "guess" what datablocks they work on, but it is recommended that you load up the Datablocks Viewer, and go through such actions by hand, setting the "ID Root Type" property as appropriate per action.
2011-02-27doxygen: blender/makesrna tagged.Nathan Letwory
2011-02-17Starting work on doxygen cleanup. Many things still to be done.Nathan Letwory
2011-02-16rename IDPropertyGroup to PropertyGroupCampbell Barton
also renamed IDProperty to PropertyGroupItem (these are not referenced for common usage and we already have 'Property' defined).
2011-01-18bad spelling; 'indicies' --> 'indices'Campbell Barton
2011-01-18fix missing notifier [#25682] ↵Campbell Barton
bpy.data.materials['XXX'].texture_slot.clear(0) dosen't delete texture from screen
2011-01-12comment array/collection skip(), since there was some confusion in this area ↵Campbell Barton
which caused bugs on index lookups.
2011-01-05fix for py/rna mesh.materials[:] where empty materials exist, would raise a ↵Campbell Barton
runtime exception. problem was there was no way to tell the difference between getting an empty item from a collection or the item not being found.
2011-01-01Bugfix #25437Ton Roosendaal
Crash in Bezier animation (inserting keys on control points in curve object). The animation rna paths were not fixed after an editmode session, which got fixed 2 weeks ago, but for all older binaries the issue can still pop up. The crash happened because the RNA array-itterator was not doing a boundary check, even whilst the array size was passed on to the itterator callbacks. With rna then writing far outside of valid memory, very bad and unpredictable corruptions happen. I've added a range check now, and a decent print to denote the issue. An assert quit is useless, since a tab-tab on curve objects will fix the channels nicely. Example of warning print: Array itterator out of range: Spline_bezier_points_lookup_int (index 30 range 2)
2010-12-07pass along the context to extension functions, this was already being done ↵Campbell Barton
in all cases except for the render engine. this allows python to NULL its internal context while scripts are not running.
2010-10-03py/rna access to setting the header text - can be used in modal operators.Campbell Barton
eg: context.area.header_text_set("Some Text") included example in the view3d modal operator template.
2010-09-24bugfix [#23965] Segmentation fault when using bpy_struct.keyframe_insert() ↵Campbell Barton
with nested custom property
2010-09-17patch [#23840] [Pose]Bone.envelope(point=(0,0,0))Campbell Barton
from Dan Eicher (dna) Basically just wraps distfactor_to_bone() and passes the correct head/tail depending on which bone type it's called from. note: renamed envelope() --> evaluate_envelope()
2010-09-03rna api Campbell Barton
- move: material.add_texture(tex, coords, mapto) --> material.texture_slots.add() - added material.texture_slots.create(index), material.texture_slots.clear(index) - texture slot functions also work for lamp and world now. Other minor changes - allow rna functions to set FUNC_NO_SELF and FUNC_USE_SELF_ID at once. - [#23317] Changed some operators' RNA to accept lengths, a modification I made to this patch made it not work as intended, removed this edit so unit buttons appier in the UI for certain operators. - Sphinx doc gen, 2 columns rather then 3, didnt quite fit in some cases.
2010-08-19- Properties from base classes are now registered too, this allows class ↵Campbell Barton
mix-in's to define properties. An example of how this is useful - an importer mixin could define the filepath properties and a generic invoke function which can run the subclasses exec for each selected file. - Panels and Menus now skip the property check when registering. - renamed _idproperties_ to _idprops_ in function names, function names were getting very long.
2010-08-03pointer poll functions for object's, mainly for modifiers, constraints.Campbell Barton
Lattice modifier only shows lattices types, Shrink wrap only meshes etc.
2010-07-11Logic Editor Python API: link/unlink logics through pythonDalai Felinto
After initial talk with Matt (awhile ago) we realzed that rna_api would fit well for this instead of an operator. The next step would be to move the current UI code to use the rna funcs instead. Note: it takes the s/c/a as argument, not its name. (e.g. cont.link(actuator=act) ) Sample code to link all the logic bricks between each other: ob = bpy.context.object for cont in ob.game.controllers: for sens in ob.game.sensors: cont.link(sensor=sens) for act in ob.game.actuators: cont.link(actuator=act) For a script to create bricks, link bricks, unlink bricks and remove them: http://www.pasteall.org/14266
2010-06-22sequence.swap(other) rna function.Campbell Barton
2010-06-09rename rna function obj.make_display_list(scene) --> obj.update(scene)Campbell Barton
also added 3 optional bool arguments, 'object', 'data' & 'time', matching the object recalc flags.
2010-05-23- base_object.layers_from_view(view3d), needed for setting local layersCampbell Barton
- module 'add_object_utils', so each script doesnt need its own add object code, dealing with layers, scene, cursor location, editmode etc.
2010-05-08- console drop handler for datablocks & filepaths.Campbell Barton
- added BLO_idcode_to_name_plural() for names like meshes, scenes, libraries etc from and ID type.
2010-03-30Rest shape key for cloth option, this makes it possibleBrecht Van Lommel
to specify different spring lengths. Implementation is quite ugly because the shape key has to be pulled through the modifier stack somehow, need a more flexible data mask system to solve this properly. (commits 27773,27775,27778 by Brecht from render25 branch)
2010-03-15Fix #20486: blender hangs upon import attempt of an .obj with >40k polys.Brecht Van Lommel
Added automatic generation of lookup_int callbacks for collections, for quicker lookup by index instead of looping over the whole thing. Import is still quite slow, though now it only takes a few seconds. The next bottleneck seems to be running update (depsgraph, notifiers, ..) on setting every property. I fixed part of that by avoiding a notifier to be added each time, now it checks for duplicates.
2010-02-12correct fsf addressCampbell Barton
2010-01-24RNA functionsElia Sarti
Fixed and completed support for returning multiple values. This includes support for returning arrays, both fixed and dynamically sized. The way this is achieved is by storing an additional int value next to the dynamic parameter in the ParameterList stack which gets passed to the C function as an additional parameter. In the case of return parameters it is duty of the C function to set this int to the correct length value for the dynamic parameter (which makes sense). Note that for the dynamic output/return parameter it is assumed the function has allocated that memory (which gets freed automatically). Also, I cleaned the makesrna's bridge function generation code a bit and renamed PROP_RETURN to PROP_OUTPUT, which represents better the reality now that there are multiple returns. The function now to mark multiple returns (outputs) is RNA_def_function_output. For an example, look at Action.get_frame_range in rna_action_api.c, by the way Aligorith I removed the #ifdef for this function now that there's support for returning arrays, feel free to modify (the function seems to work).
2010-01-10RNA/Py APICampbell Barton
change how data is added. eg. bpy.data.add_mesh(name) --> bpy.data.meshes.new(name) bpy.data.remove_lamp(lamp) --> bpy.data.lamps.remove(lamp) image and texture stil use add_* funcs
2010-01-08- RNA support for returning copied strings from functions, flagging strings ↵Campbell Barton
as PROP_THICK_WRAP does this. - scene.render_data.frame_path(frame=num), returns the output path for rending images of video. - scene.render_data.file_extension, readonly attribute, gives the extension ".jpg", ".mov" etc - player support was guessing names, use the above functions to get the actual names used, accounting for #'s replacing numbers.
2010-01-08Animation Visualisation Cleanups - Part 2:Joshua Leung
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones. It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that... * Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper. * Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet. ---- * F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
2009-12-31Macro registration using the normal rna registration methods (like operators).Martin Poirier
bpy.types.register(MacroClass) instead of bpy.ops.add_macro(MacroClass) The rest is unchanged. Also remove some now unused code for the old registration methods (there's still some remaining).
2009-12-22- make ToolSettings.mesh_selection_mode into an array of 3 bools rather then ↵Campbell Barton
an enum since multiple can be set at once. - ToolSettings had its id.data set to NULL when taken directly from the context (causing a crash in cases) - menu for changing vert/edge/face selection now a python menu, removed operator. - wm.context_set_value(), would really prefer not to have this since it evaluates the value as a python expression however there are no ways to define arrays in PyOperators
2009-12-18Keymap conflict detection operator.Martin Poirier
Takes into account the hierarchical structures of keymaps as well as wildcards (KM_ANY) in event definitions, user remaps (emulate numpad, action/select mouse buttons, ...) and event values that overlap (click, press and release) For now, doesn't do anything other than print conflicts in the console. As a result, I cleaned up a lot of keymaps that had double definitions, moved some keymap items in more appropriate places, fixed wrong definitions and removed kmi that were added for testing a long long time ago. Out of all the remaining conflicts, after removing obvious non-issues, here's what remains: http://www.pasteall.org/9898
2009-12-13more sequence -> sequencer rename, also made sequencer swap strip update ↵Campbell Barton
effects strips
2009-12-10missed a header last commit, added custom exceptions to rigify so they can ↵Campbell Barton
be caught and converted into reports and have normal errors display the stack trace as useual.
2009-12-08RNA:Brecht Van Lommel
* Property update functions no longer get context, instead they get only Main and Scene. The RNA api was intended to be as context-less as possible, since it doesn't really matter who is changing the property, everything that uses the property should be updated. * There's still one exception case that use it now, screen operations still depend on context too much. It also revealed a few places using context where they shouldn't. * Ideally Scene shouldn't be passed, but much of Blender still depends on it, should be dropped when we try to support multiple scene editing. Change was planned for a while, but need this now to be able to call update without a context pointer.
2009-12-04rna functionCampbell Barton
editbone.align(vector), to align the bones z axis to a localspace direction. finished leg rig pose mode data
2009-11-11object.constraints.add()/remove()/active, same for PoseChannelCampbell Barton
modified internal api for minimal rna wrapper functions. TODO - missing updates for pose channels - typecheck for pose/object constraints
2009-11-06Driver Scripting:Joshua Leung
Added RNA functions for adding and removing Driver Targets. Unfortunately, I couldn't do this by simply adding callbacks for the add/remove of the collection, as I've had to add to extra RNA functions to do that. Example usage - driving Lamp Distance with Cube LocZ: myOb= bpy.data.objects["Lamp"] myOb.driver_add("data.distance") # drivers is list of F-Curves that have driver data drivers= myOb.animation_data.drivers distDriver= drivers[0].driver dtar= distDriver.add_target("ctrl1") dtar.id_type= 'OBJECT' dtar.id= bpy.data.objects["Cube"] dtar.rna_path= "location" dtar.array_index= 2
2009-10-26Bugfix #19709: Influence and Mapping param in texture not yet animatableJoshua Leung
Coded a 'path' getter for Texture Slots. This was a bit more involved than for other paths, since texture slots used the names of the textures assigned, which would be troublesome when a texture got used twice or more.
2009-10-08Key ConfigurationBrecht Van Lommel
Keymaps are now saveable and configurable from the user preferences, note that editing one item in a keymap means the whole keymap is now defined by the user and will not be updated by Blender, an option for syncing might be added later. The outliner interface is still there, but I will probably remove it. There's actually 3 levels now: * Default builtin key configuration. * Key configuration loaded from .py file, for configs like Blender 2.4x or other 3D applications. * Keymaps edited by the user and saved in .B.blend. These can be saved to .py files as well to make creating distributable configurations easier. Also, user preferences sections were reorganized a bit, now there is: Interface, Editing, Input, Files and System. Implementation notes: * wmKeyConfig was added which represents a key configuration containing keymaps. * wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap. * Modal maps are not wrapped yet. * User preferences DNA file reading did not support newdataadr() yet, added this now for reading keymaps. * Key configuration related settings are now RNA wrapped. * is_property_set and is_property_hidden python methods were added.
2009-10-01Texture stack influences are now all separate values, and negativeBrecht Van Lommel
mapped values now have their influence negated instead. Also a few RNA changes for TextureSlot. Bumped subversion for the version patch.
2009-09-29Sorry, three commits in one, became difficult to untangle..Brecht Van Lommel
Editors Modules * render/ module added in editors, moved the preview render code there and also shading related operators. * physics/ module made more consistent with other modules. renaming files, making a single physics_ops.c for operators and keymaps. Also move all particle related operators here now. * space_buttons/ now should have only operators relevant to the buttons specificially. Updates & Notifiers * Material/Texture/World/Lamp can now be passed to DAG_id_flush_update, which will go back to a callback in editors. Eventually these should be in the depsgraph itself, but for now this gives a unified call for doing updates. * GLSL materials are now refreshed on changes. There's still various cases missing, * Preview icons now hook into this system, solving various update cases that were missed before. * Also fixes issue in my last commit, where some preview would not render, problem is avoided in the new system. Icon Rendering * On systems with support for non-power of two textures, an OpenGL texture is now used instead of glDrawPixels. This avoids problems with icons get clipped on region borders. On my Linux desktop, this gives an 1.1x speedup, and on my Mac laptop a 2.3x speedup overall in redrawing the full window, with the default setup. The glDrawPixels implementation on Mac seems to have a lot of overhread. * Preview icons are now drawn using proper premul alpha, and never faded so you can see them clearly. * Also tried to fix issue with texture node preview rendering, globals can't be used with threads reliably.
2009-09-22Manual merge of soc-2009-kazanbas branch:Arystanbek Dyussenov
* copied I/O scripts * copied, modified rna_*_api.c and rna_*.c I/O scripts not working yet due to slight BPY differences and RNA changes. Will fix them later. Not merged changes: * C unit testing integration, because it is clumsy * scons cross-compiling, can be merged easily later
2009-09-16Operator cheat sheet (from the help menu)Campbell Barton
writes all operators (including PyOperators) and their default values into a textblock. Useful for an overview and checking consistancy. eg. http://www.pasteall.org/7918/python added rna functions text.clear() and text.write(str)
2009-09-15Undo revision 23130 which was a merge with 2.5, a messy one because I did ↵soc-2009-kazanbasArystanbek Dyussenov
something wrong (`svn status` output: http://www.pasteall.org/7887). The command: svn merge -r 23130:23129 https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-kazanbas
2009-09-11Merge with -r 22620:23107.Arystanbek Dyussenov
Next: update scripts and merge in 2.5.
2009-09-06Python part of multidim. array support for RNA complete.Arystanbek Dyussenov
Multidim. arrays can now be modified at any level, for example: struc.arrayprop = x struc.arrayprop[i] = x struc.arrayprop[i][j] = x struc.arrayprop[i][j][k] = x etc... Approriate rvalue type/length checking is done. To ensure all works correctly, I wrote automated tests in release/test/rna_array.py. These tests cover: array/item access, assignment on different levels, tests that proper exceptions are thrown on invalid item access/assignment. The tests use properties of the RNA Test struct defined in rna_test.c. This struct is only compiled when building with BF_UNIT_TEST=1 scons arg. Currently unit tests are run manually by loading the script in the Text Editor. Here's the output I have: http://www.pasteall.org/7644 Things to improve here: - better exception messages when multidim. array assignment fails. Those we have currently are not very useful for multidim. - add tests for slice assignment
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