Commit Graph

1868 Commits

Author SHA1 Message Date
Joshua Leung
b24485ab92 Patch #17336: Lock bones in edit mode
Submitted by: Lorenzo Pierfederici (lento) 

This patch adds the ability to lock transformation on bones in edit mode, to protect them from accidental editing.

Bones can be locked from the editing buttons, the transform property panel, the specials popup menu or the python api.
2008-07-27 04:19:56 +00:00
Willian Padovani Germano
8a295553f7 == Python scriptlinks ==
Render/postrender events were missing from bg rendering (and also from rendering called inside scripts). Found this because of bug #17389, the code to prevent race conditions with pynodes is currently inside BPY_do_all_scripts (that runs scriptlinks) and so was not being called in bg mode or rendering via scripts.

http://projects.blender.org/tracker/?func=detail&atid=125&aid=17389&group_id=9
2008-07-26 22:00:26 +00:00
Willian Padovani Germano
f6b85a55fa == PyNodes ==
Early Ehlinger reported a deadlock when a script tells Blender to render an animation and there are pynodes. While investigating I saw related crashes in bg (blender -b) mode, still not fixed. This commit tries to fix the problem for interactive mode, then. What it does is releasing the lock before rendering and relocking after that, like theeth suggests in the bug report:

http://projects.blender.org/tracker/?func=detail&atid=125&aid=17389&group_id=9
2008-07-25 22:30:03 +00:00
Joseph Eagar
bbd636df13 added note to epydocs explaining the nature of floats in id properties from the python point of view 2008-07-24 19:34:49 +00:00
Joseph Eagar
0118a82379 added support for doubles to the id property code, and made the python code use them by default 2008-07-24 19:22:17 +00:00
Matt Ebb
1e7523ea44 Updated some out of date documentation of Object Ipo curve names 2008-07-23 02:31:56 +00:00
Ken Hughes
4c086bf4ae Python API
----------

Particle patch from Cédric Paille: bugfixes and child-particles export improvements for .getLoc(), part.getRot() part.getSize(), part.getAge() methods.

Also fix a bug with part.randemission getter (was using PART_BOIDS_2D instead of PART_TRAND), plus typos and duplications in API documentation.
2008-07-21 20:42:11 +00:00
Campbell Barton
78ce90b752 allow to write to libraries that are indirectly linked 2008-07-21 17:05:59 +00:00
Campbell Barton
a8785893c5 Added functions so python can change library paths.
* bpy.libraries.paths() -> list of library paths.
* bpy.libraries.replace(fromPath, toPath)
2008-07-19 15:44:00 +00:00
Ken Hughes
dcfcc41901 Change message printed by sceneRender.enableCropping() to be more descriptive, and note the method as deprecated in the python docs. 2008-07-17 17:30:32 +00:00
Campbell Barton
17dc66c1d1 [#17288] Sequencer API: added a method, a geter/setter, the blend modes dict and corrected a malfunction on audio strips blend mode
from Luca Bonavita (mindrones) 

- adds the method "rebuildProxy()" useful to rebuild all the strips at once:   the user can do

- adds a BlendModes dictionary under the Blender.Scene.Sequence module: the  user can see the blending option with

- adds the getter/setter "blendMode"

- adds a function seq_can_blend in sequence.c as requested by Peter, useful for these purposes but also to solve a bug
after

- the bug is you can apply blend modes to an audio strip that doesn't make sense: changed the test and now you cannot
assign blend mode other than Replace to audio strips

Omitted DNA cleanup part since its only whitespace and Id prefer to have a useful "svn blame" output.
2008-07-07 04:17:03 +00:00
Campbell Barton
5c93e75682 non user visible changes and small optimizations to the game engine pyapi as well as fixing some bugs.
* 2 returning errors without exception set another return None instead of NULL.
* a missing check for parent relation
* BPY matrix length was incorrect in matrix.c, this change could break some scripts, however when a script expects a list of lists for a matrix, the len() function is incorrect and will give an error. This was the only thing stopping apricot game logic running in trunk.

Also added a function for GameObjects  -  getAxisVect(vec), multiplies the vector be the objects worldspace rotation matrix. Very useful if you want to know what the forward direction is for an object and dont want to use Blender.Mathutils which is tedious and not available in BlenderPlayer yet.
2008-07-04 00:05:50 +00:00
Willian Padovani Germano
424141f44d == Python, GE & Threads ==
Martin Sell (thanks!) reported that threading via scripts was not working in the game engine with Blender 2.46 and later. My fault, to make pynodes work properly with threads > 1 I disabled Python's "check interval", preventing threads created via scripts from receiving time to run.

Now only during rendering check interval is disabled (set to max int). Still experimental, I added the calls in BPY_do_all_scripts, since it's called in BIF_do_render, but will probably move the code to its own function after more testing & feedback.
2008-07-02 21:01:59 +00:00
Daniel Genrich
90c2c29058 Fix for python APi error - (Campbell: please check :) ) -- using myLamp.setType(Area) resulted in 'TypeError: expected int argument in [0,5]' (reported in IRC by Djoef) 2008-06-30 15:02:22 +00:00
Daniel Genrich
5b15a610ee Fix crash in python API (Campbell: please check :) ) -- using myLamp.setType(number) crashed blender (reported in IRC by Djoef) 2008-06-30 14:44:12 +00:00
Campbell Barton
7ba2389932 added r/w access to nurb curves orderU for migius 2008-06-25 13:21:38 +00:00
Martin Poirier
b22d3e615d Moving Line to Line intersection into arithb 2008-06-22 23:07:42 +00:00
Campbell Barton
a1e78a0cca * Documented that get/setOrientation use an inverted rotation matrix
* OB prefix is needed when specifying the object for the Message Actuator, this is very bad since other object fields in the BGE dont need this prefix - a real fix would need do_versions to keep old files running.
* RotationMatrix was all nans if the rotation vector axis was 0,0,0, Changed so in this case just return a matrix that doesn't rotate anything,

spent some angry hours to find these issues, maybe this will save others the hassle ;)
2008-06-20 20:54:29 +00:00
Campbell Barton
21a46a0155 bugfix
- duplicated script spaces would keep a pointer to the PyObject button list. (causing python errors with negative reference counts when freeing spaces)
- Exiting blender would crash when a UI was open because the ScriptSpaces button PyList was being free'd after python Py_Finalize was called.
2008-06-11 14:31:51 +00:00
Campbell Barton
b62955cf3e bugfix, memory leaks when getting particles and particle system loc/size/rot/life (Just remember PyList_Append adds a reference! :) ) 2008-06-06 11:00:32 +00:00
Campbell Barton
14393c9ffb bugfix - Blender.GetPaths() was returning relative paths from libraries, but with no way to access the library path the the file is relative too. Check for these cases and make them absolute.
bpath also assigned one var it didnt need to.
2008-06-06 08:58:08 +00:00
Campbell Barton
49abcc980c Added shadow baking 2008-06-05 22:07:59 +00:00
Campbell Barton
6757b759ea added checks for zero length strings when checking for the last character 2008-06-05 13:12:17 +00:00
Campbell Barton
4f601b478c * python sys.cleanpath() used strstr incorrectly, resulting in paths containing a slash, always returning a path that ends with a slash.
* python Blender.GetPaths() - absolute=0 wasnt working
* BLI_cleanup_file and BLI_cleanup_file were treating the // prefix as a duplicate path, now ignores //
* BLI_convertstringcode was removing the trailing slash from a path
(tested these path functions didnt mess up with some of the peach files and with pointcache)
2008-06-05 13:02:00 +00:00
Campbell Barton
c8e19a6b25 numbutton python expression evaluation used driver dictionary, when EnableScriptlinks was disabled number
button input didnt 
work. narrow down this test to the part of the pydriver module init that uses a blender textblock as a module. This should 
should reload the pydriver dict whenever the "EnableScriptlinks" state changes. but for now working numbuttons is priority.
2008-06-04 22:32:15 +00:00
Campbell Barton
e26323bcdd Python API object.parentVertexIndex - access vertex parent indicies 2008-06-04 16:19:15 +00:00
Joshua Leung
8a2a91ddfe Added missing newline for error print in Py-button expressions 2008-06-02 02:54:33 +00:00
Campbell Barton
652ee1e31b functionality fix
Originally the only way to run scripts automatically was with scriptlinks, which could be disabled for loading untrusted blend files.
Since then PyDrivers and PyConstraints would run even when G.f&G_DOSCRIPTLINKS was disabled.
Gensher, Theeth and Ianwill agree its acceptable to reuse the flag for other areas python runs automatically.

PyNodes still have no way to be disabled, (todo before 2.46a)
2008-06-01 16:13:04 +00:00
Campbell Barton
c0199e192d bugfix (typo) [#13587] Python API Material.sssFront broken 2008-06-01 13:18:26 +00:00
Campbell Barton
edd2b6ca73 bugfix for own error
[#13588] Python API Material.sssRadiusBlue broken
2008-06-01 01:49:11 +00:00
Campbell Barton
57270125d8 bugfix for own error, introduced when running scripts were saved with the blend file.
a script error with a script that has an interface would not stop the interface from running again immediately, causing an annoying 
error message loop.
2008-05-31 12:12:03 +00:00
Willian Padovani Germano
5c1acc5ced == PyNodes ==
Bug #13277, reported by Juho (bebraw) Vepsalainen (thanks!) - a typo made pynodes w/o input socket definitions fail with an out of range error when accessing the output sockets in the script.
2008-05-30 20:04:52 +00:00
Campbell Barton
da2d4904af bugfix
* scene.object.context and scene.object.selected had broken get_item 
funcs so scene.object.context[i]  returned the wrong object.
* aligning the view to an object (numpad*key), did not disable the 
ortho view grid.
* long standing problem where opening a relative image would fail with 
no message. BLI_convertstringcode was returning a path with /../../'s 
that need to be cleaned before the path could be read, the path was also 
invalid from unix shell so its not a blender path reading problem.
2008-05-30 01:59:15 +00:00
Campbell Barton
b36a358c1b bugfix
* python api render() would clamp the endframe to a short.
* python api's render() and renderAnim() would not render compositing because the name they gave to RE_NewRender was NOT G.scene->id.name, added comments to 
G.scene->id.name
2008-05-28 00:44:41 +00:00
Martin Poirier
c1874b3cee [#10223] a new object function to add vertex group from an armature
Patch from Jean-Michel Soler (with slight modifs)

Small BPy feature to help script writers deal with armatures and vertex groups (calls the bone heat method to create and assign groups)
2008-05-27 20:02:38 +00:00
Stephen Swaney
a2298cb980 bugfix for crasher from Cedric Paille via bf-committers. 2008-05-26 15:12:20 +00:00
Campbell Barton
b306aaccb9 patch [#11491] Fix for bug 11362: Blender.Draw.Image() method does not clip properly
fixing [#11362] Blender.Draw.Image() method does not clip properly
also return silently on zero zoomlevel rather then raising an error, only raise an error on negative values.
2008-05-25 16:39:57 +00:00
Campbell Barton
02f34de2b9 add missing flags for NLA strips 2008-05-21 19:24:35 +00:00
Campbell Barton
e1b298cad8 scene frames scene.render.cFrame,sFrame and eFrame were being treated as shorts. (which clamped them to 37856) 2008-05-21 12:14:52 +00:00
Campbell Barton
adbbc314ba testbreak was not working after the first use 2008-05-21 11:06:49 +00:00
Campbell Barton
195abc755b more updates to docs 2008-05-19 13:34:43 +00:00
Campbell Barton
f32d99c322 some updates to epy docs 2008-05-19 09:54:38 +00:00
Willian Padovani Germano
bbe32118ef == Nodes ==
- "Memoryblock free: attempt to free NULL pointer" messages related to the Material node (Add->Input->Material). Deleting it and quitting Blender would bring 2 or 3 of these warnings. Trivial fix (check if NULL) in blenkernel/intern/node.c, though Nodes devs may be interested. Found while testing to fix the following bug:

== PyNodes ==

- Bug #11715 reported by Alexanter Feterman:

http://projects.blender.org/tracker/?func=detail&atid=125&aid=11715&group_id=9

Adding a Dynamic node and setting it to a pynode script would crash Blender if no Material Node (MatNode) was present.

Thanks Alexander for reporting and Brecht for assigning it to me.
2008-05-16 20:57:06 +00:00
Campbell Barton
ac71783e8d last commit had a typo, also adjusted teh and colour instances 2008-05-12 21:12:10 +00:00
Joshua Leung
2d96d1189f Fix compiler warnings in particle.c and editface.c.
* unitialised/unused vars
2008-05-11 12:57:01 +00:00
Stephen Swaney
aa471f6a80 fix compiler warnings.
tsk tsk - implicit declaration of functions.
2008-05-11 06:11:23 +00:00
Stephen Swaney
a2c10ff1e7 Initial commit for BPy Particle patch #8557 from Cedric Paille
Thanks, Cedric!

*** WARNING ****   This is a Work In Progress   *** Warning ****
2008-05-11 04:15:21 +00:00
Campbell Barton
f115a5f789 fix for [#6104] CR generates space at String Creation
replace windows line endings (\r\n) with \n rather then inserting spaces.
2008-05-09 17:37:01 +00:00
Campbell Barton
cfcdf36cd8 fix for [#10330] Can't import packages or modules from a user defined script path in 2.46rc3, works in 2.45 (Windows) 2008-05-08 22:07:00 +00:00
Campbell Barton
18b20396bc this script isnt needed anymore thanks to stivs and gsr 2008-05-08 07:33:20 +00:00