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
2017-03-18PyAPI: add BPY_execute_string_as_stringCampbell Barton
Utility to execute a string and get the resulting string, matching BPY_execute_string_as_number. Not used just yet but generally useful function.
2017-03-18Cleanup: use return args last and 'r_' prefix.Campbell Barton
2016-07-30Py-Driver: add 'self' optionCampbell Barton
Drivers can use this to refer to the data which the driver is applied to, useful for objects, bones, to avoid having to create a variable pointing to its self.
2016-04-01Generic check for string being a Py keywordCampbell Barton
Driver code used incomplete list of Py keywords
2015-12-31Cleanup: Py API namingCampbell Barton
Use BPY_execute_* prefix for all Python execution commands
2015-06-11Add argument --python-expr to pass Python directlyCampbell Barton
This works like Python's -c argument, handy to be able to avoid writing small scripts to disk.
2014-01-04UI: Use bool rather then int/short's where possibleCampbell Barton
2013-12-17Partial fix for T37604: Deadlock when stopping rendered viewport (Blender ↵IRIE Shinsuke
Internal) - Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS macros cannot be used here, because the Py_BEGIN_ALLOW_THREADS causes a crash when quitting Blender. - The low level function PyEval_ReleaseLock() is used assuming the Python library was built with multi-threads support.
2013-07-02remove nan copyrights from code added since blender become opensource (copy ↵Campbell Barton
paste errors), also remove BKE_script.h
2013-06-10code cleanup: group python reset functions in BPY_python_reset()Campbell Barton
2013-01-20Python i18n API. Many thanks to Campbell and Brecht for the reviews and ↵Bastien Montagne
suggestions! This commit adds: * A new bpy.app.translations module giving some info about locales/translation stuff (current active locale, all locales currently known by blender, all translation contexts currently defined, etc.). * The ability for addons to feature translations, using the (un)register functions of above module. * Also cleans up "translate py string when storing into RNA prop" by removing "PROP_TRANSLATE" string's subtype, and adding a PROP_STRING_PY_TRANSLATE flag instead (this way it is no more exposed to python...). Addon translations work with py dictionaries: each addon features a dict {lang: {(context, message): translation, ...}, ...}, which is registered when the addon is enabled (and unregistered when disabled). Then, when a key (context, message) is not found in regular mo catalog, a cache dict for current locale is built from all registered addon translations, and key is searched in it. Note: currently addons writers have to do all the work by hand, will add something (probably extend "edit translation" addon) to automate messages extraction from addons soon(ish)! To get a look to expected behavior from addons, have a look at render_copy_settings/__init__.py and render_copy_settings/translations.py (rather stupid example currently, but...). Once we have a complete process, I'll also update relevant wiki pages.
2013-01-07code cleanup: warnings and use stdbool for bpy* funcs.Campbell Barton
2012-10-26fix [#31661] Custom properties do no respect min/max valuesCampbell Barton
also renamed function added prev commit
2012-10-26fix for crash when a python operator or render engine was freed in the C ↵Campbell Barton
code and then referenced from python. now further access in python gives an exception at the line when the freed data is accessed.
2012-05-09Python/context: python could get invalid bpy.data in scene update handler afterBrecht Van Lommel
undo. The way this got updated from the context is a bit unreliable, and for handlers the update couldn't happen because there is no context passed in. Now it's updated from setup_app_data, which is where the change actually happens. I left in the other updates to be sure but they should not be needed anymore.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-11-17pydrivers: 'frame' is now in the driver namespace,Campbell Barton
- no need to link to scenes when using a frame from the pydriver, this made linking rigs for eg, quite messy. - advantage that we get subframe values (where scenes from was fixed to a whole number).
2011-11-03ability to have permanent callbacks that stay active when new blend files ↵Campbell Barton
are loaded. this works by tagging functions, eg: def my_func(scene): pass bpy.app.handlers.permanent_tag(my_func, True) # <-- important bit bpy.app.handlers.frame_change_pre.append(my_func)
2011-10-31use_verify option to defvert_sync_mapped and defvert_sync was flipped, also ↵Campbell Barton
minor edits to defvert_verify_index() - no functional change.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-21Code cleanup: don't use btempdir/bprogdir/bprogname globals anymore, but wrapBrecht Van Lommel
in BLI_ functions.
2011-06-24own patch [#27752] Python Callback (Scriptlink functionality)Campbell Barton
Python: * adds bpy.app.handlers which contains lists, each for an event type: render_pre, render_post, load_pre, load_post, save_pre, save_post * each list item needs to be a callable object which takes 1 argument (the ID). * callbacks are cleared on file load. Example: def MyFunc(scene): print("Callback:", data) bpy.app.handlers.render_post.append(MyFunc) C: * This patch adds a generic C callback api which is currently only used by python. * Unlike python callbacks these are not cleared on file load.
2011-06-02mathutils support for color arithmetic, also some minor whitespace edits. Campbell Barton
2011-04-17change unit evaluation only to do try the units replacements if evaluating ↵Campbell Barton
with python fails, in rare cases its possible a valid python expression could get units applied to it.
2011-03-01Py/RNA API test code to prevent crashing blender when python references ↵Campbell Barton
freed ID's. This uses pythons GC so its no overhead during runtime but makes removing ID's slower. Commented definition 'USE_PYRNA_INVALIDATE_GC' for now, so no functional change.
2011-02-26fix for 'live edit', running python scripts as you typeCampbell Barton
- errors would jump to the line which gets in the way. - the window wouldn't always redraw.
2011-02-21doxygen: entry for gpu, modifiers, nodes, python and renderNathan Letwory
2011-02-19set main() argv functions to be const char *Campbell Barton
also set minimum cmake version to 2.8
2011-01-05edits for BPY_extern.h functions, no functional changesCampbell Barton
- remove unused code. - BPY_run_python_script() split in 2, BPY_filepath_exec, BPY_text_exec - renamed funcs.
2010-12-07minor internal python api change - pass the context rather then getting from ↵Campbell Barton
BPy_GetContext() again.
2010-12-04Maintenance, Campbell Barton
- remove some redundant declarations - changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-11-27python access to driver namespace, rather then have a textblock defined for ↵Campbell Barton
drivers allow scripts to add functions directly. - bpy.app.driver_namespace, read-only dictionary, edit in-place. - reset on file load and new file. - on errors the namespace used to be reset, this should not be needed. simple example. def driverFunc(val): return val * val bpy.app.driver_namespace['driverFunc'] = driverFunc ... now all drivers can access this function.
2010-11-17use 'const char *' by default with RNA functions except when the value is ↵Campbell Barton
flagged as PROP_THICK_WRAP. Also use const char in many other parts of blenders code. Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-05-30- Python console argument '--python-console', option so you can start ↵Campbell Barton
blender and drop into a python console, (useful for debugging some problems on a renderfarm over ssh) - Also made it so sys.stdin isnt overwritten anymore, instead the interactive consoel overwrites while it executes and restores after. - removed hope folder from sphinx patch path
2010-03-22spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text)Campbell Barton
2010-02-12correct fsf addressCampbell Barton
2009-12-26fixes for errors/warnings found with cppcheckCampbell Barton
2009-12-08compile python driver expressions for faster re-evaluation.Campbell Barton
approx 15-25x speedup
2009-11-20option to have scripts run on startup for per blendfile UI'sCampbell Barton
2009-11-13changes python initializationCampbell Barton
- bpy is now a python package, this makes it easier to add utility modules and adjust python startup which was previously using verbose Py/C api. Access should not be any slower since both C and Python modules use dictionary access. - loop over scripts and load via python (currently F8 reload isnt working, will add back shortly) - the C module is kept but renamed to _bpy and not meant for direct access from anything but the bpy package. - bpy_types.py is an exception since it runs before the bpy package is initialized.
2009-11-10Function declaration for BPY_context_getMartin Poirier
2009-08-10adding back button evaluation so you can do 1/60, 90*0.1 etc as well as ↵Campbell Barton
dimension conversion 1km-10cm+4ft Note... - Python3.1 you don't need to add the .0 for divisions anymore (was esp annoying for button eval) - Simple dimension input, imperial mi/yd/ft/in, metric km/m/cm/mm, Later could display these values and have a pref for scene scale, atm it assumes 1BU == 1m.
2009-07-22remove scriptlinks,Campbell Barton
they were not working and we have plans for better script integration in 2.5
2009-07-092.5Ton Roosendaal
Monthly cleaning round to make it compile warning free. Mostly it was const stuff (strings, Context), but also a couple useful fixes, like wrong use of temp pointers. Only Mathutils callback struct I left alone... design issue.
2009-06-23SVN maintenance.Guillermo S. Romero
2009-06-222.5: warning fixesBrecht Van Lommel
Mostly harmless ones, except for one about "gzopen64" being undeclared. This needs some defines in BLI_storage.h to be set before <unistd.h> is included. Might fix a crash in compressed file reading, though I'm not sure since it's hard to repeat the crash consistently.
2009-06-14Blender/Python APICampbell Barton
Send the full python stack trace to the reporting api, added BPY_exception_buffer which temporarily overrides sys.stdout and sys.stderr to get the output (uses the io module in py3 StringIO in py2 to avoid writing into a real file), pity the Py/C api has no function to do this. fix for crash when showing menu's that have no items.
2009-04-23F8Key reloads all python scripts and redraws for quick testingCampbell Barton
F7 runs test.py also for testing
2009-04-20Drivers: "Scripted Expression" drivers (i.e. PyDrivers) work againJoshua Leung
Now it is possible to write a Python Expression using the variable names for driver targets (see mockup from initial commit) to substitute the appropriate values into the expression. In the __global__ namespace for PyDriver evaluation, the following modules are available: * __builtins__ - i.e. the builtin Python functions * bpy - new Python API * math or m - math module For example: Consider a driver with three targets, named: A, B, C Now, you could write an expression like: C if A < 5 else B or even: 2*C if A < 5 or A > 20 else m.PI*B Of course, you don't have to have three targets, the above was just an example. TODO: * Bring back way to load pydrivers.py * Blender.Noise equivalent would be nice to have P.S. I hope I haven't made any terrible Python API coding errors here (i.e. mem leaks, etc.)
2009-04-11Added back importing UI scripts rather then running,Campbell Barton
The bug was todo with bpy.data and bpy.types becoming invalid, temporary fix is to re-assign them to the bpy module before running python operators or panels. will look into a nicer way to get this working.