Commit Graph

941 Commits

Author SHA1 Message Date
e417e011d5 Code cleanup: file operations merged into single header, some function names
made less cryptic and changed to indicate if they work on files or directories.
2011-10-22 15:35:49 +00:00
ebe63b664b py api - added PyC_UnicodeFromByteAndSize() to match PyUnicode_FromStringAndSize()
also made RNA_property_string_get_alloc() return the length of the new string to avoid having to run strlen on it after.
2011-10-22 10:49:35 +00:00
00735ed9e4 Code cleanup: don't use btempdir/bprogdir/bprogname globals anymore, but wrap
in BLI_ functions.
2011-10-21 17:37:38 +00:00
874c96a2b9 Cleaning i18n code.
Previous state:
Right now, there are "memories" of the "old" (less than a month!) translation way:
* A few remaining calls to BLF_gettext() (only UI_translate_do_iface and UI_translate_do_tooltip should be used).
* The _() macro still also calls BLF_gettext()!

New state:
Here are the changes made by the patch:
* Removing the no more needed _() macro.
* Removing most N_() and _() calls, only keeping the few needed ones (i.e. strings that are in no other way findable by xgettext and/or update_msg script).
* Defining in UI_interface.h IFACE_() and TIP_() macros (resp. for UI_translate_do_iface and UI_translate_do_tooltip).
* Replacing all calls to BLF_gettext by relevant IFACE_ or TIP_ one.
* Replacing all calls to UI_translate_do_iface by IFACE_.
* Replacing all calls to UI_translate_do_tooltip by TIP_.

All this somewhat clarifies and simplifies the code.
On the bf-translations scripts side, this only implies adding IFACE_ and TIP_ as detection markers for xgettext.
It also allows to reduce POTFILES.in quite notably (only 20 files remaining in it).

Please also have a look at those pages:
* Coder POV: http://wiki.blender.org/index.php/Dev:2.5/Source/Interface/Internationalization
* Translator POV: http://wiki.blender.org/index.php/Dev:2.5/Doc/How_to/Translate_Blender
2011-10-20 20:38:26 +00:00
2bd9519e39 BLI_ghash.h was including BLI_blenlib.h, remove from ghash header and include in each file 2011-10-20 13:50:24 +00:00
8d6a554d75 - add BLI_string_utf8.h for unicode functions.
- move font.c unicode functions into string_utf8.c and rename to fit with other BLI_string funcs.
2011-10-20 09:47:05 +00:00
61389bba41 fix spelling mistakes in comments (and in some python error messages), nothing to effect translations. 2011-10-17 06:39:13 +00:00
7f4bb1f71b spelling corrections in comments and quiet warning 2011-10-15 14:14:22 +00:00
fa3b4e1830 correct collada lib linking order (wasnt building for me), and sphinx doc syntax warning. 2011-10-13 14:10:38 +00:00
fa033e313e correct some invalid exception types. 2011-10-13 01:51:45 +00:00
276e5f7095 formatting edits & remove debug print. 2011-10-13 01:29:08 +00:00
6955c47fac bpy/rna new property attribute 'data', this means its possible to get back the rna-struct which a property uses.
Without this you cant get the bone from an fcurve data path for example, needed to fix bug [#28889].
2011-10-13 00:52:09 +00:00
93e4de7552 fix for py/rna assigning an invalid index. also give better error message in this case. 2011-10-11 05:45:59 +00:00
70cd4b77bb edit error macro formatting (confuses some editors) 2011-10-10 07:10:53 +00:00
e60a7fbc57 correction to RNA class api references (only used for docs) 2011-10-09 02:24:51 +00:00
ee8078fb12 fix for BUILTIN_KSI_WholeCharacter keying custom string/collection/group properties 2011-10-09 02:11:43 +00:00
c27926896f spaces -> tabs (whitespace only changes) 2011-10-06 22:04:01 +00:00
9d13224e1a fix [#28807] Drivers breaking by undo 2011-10-05 07:28:59 +00:00
f7737153e6 filter RNA classes for translation (removes over 1300 lines from messages.txt)
- omit operators tagged as INTERNAL
- omit classes  for internal use: Event, Context, Property, Function, Window.
2011-10-05 03:39:22 +00:00
3b8de8db31 rename rna OperatorTypeMacro --> OperatorMacro, since operators types are just called Operator 2011-10-05 00:19:33 +00:00
9a88524f68 support for object data material assignment in python
eg:
 bpy.context.object.data.materials[0] = bpy.data.materials["SomeMaterial"]
2011-10-01 17:54:33 +00:00
975c4e7177 fix for msvc, I thought this was only needed for mingw. 2011-10-01 15:54:36 +00:00
7b398f271e fix for mingw 2011-10-01 15:02:55 +00:00
265c113820 fix for crash generating messages.txt, I wasn't getting this crash because I had 'WITH_PYTHON_SAFETY' enabled which was using different iterators (which dont crash), now there on by default.
made headless and no-python configurations work again and added --factory-startup to doc building command.
2011-09-30 07:47:45 +00:00
bfbfe16570 take 2 at fixing the crash... 2011-09-29 09:29:46 +00:00
e5078f196f Attempt to fix error reported by yafaray devs from my commit r40660 2011-09-29 09:19:15 +00:00
b88776ba5a fix for crash with demo mode addon, modal operator loading a blend file would free all window data which was then accessed, causing a crash. 2011-09-28 15:42:55 +00:00
5e3110af05 add support for a 4th item for rna property enums in python so the numeric value can be passed, this is so you can animate the enum and keep the values even if you add items in the middle of the enum. - request from ZanQdo. 2011-09-28 09:18:20 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
aaae90af33 fix [#28751] Item in Enum propertie is grayed out
was infact a very old bug where an empty title took the following word for the title, eg: "%t|First Item|Second Item"
the first item would be evaluated as a title.
2011-09-27 16:23:40 +00:00
768806adc0 bpy.app.handlers.frame_change_pre/post handlers. 2011-09-27 10:43:45 +00:00
928e2784c6 py api
- use Py_ssize_t when dealing with python sequence sizes
- dont call PySequence_Size(py_b) in a loop (its slow).
- use faster sequence/float parsing in aud.Factory.filter
2011-09-27 05:28:06 +00:00
573ed73be8 change define INTERNATIONAL --> WITH_INTERNATIONAL
also rename backface_culling --> use_backface_culling (which is used elsewhere in rna)
2011-09-26 10:35:47 +00:00
943a026c60 py/rna string subtypes for strings which should be automatically translated:
layout.prop("blah", text="Translate Me!")
2011-09-21 13:53:35 +00:00
8cf8fd7326 - translation scripts now run with py3.x
- added convenience make target 'make translations'
- some MEM_malloc strings were not unique enough, expanded them.
2011-09-20 17:07:33 +00:00
73bb1be1b7 SVN maintenance. 2011-09-20 15:30:18 +00:00
da88486c0b 2011-09-20 15:17:24 +00:00
1657cbe61a fix [#28672] Blender segfault after exiting a game that was opened with
autoplay on (Blender, not blenderplayer)

blender now stops the sound system and free's its self on Pythons
sys.exit().
2011-09-20 12:22:19 +00:00
2222f536f8 use replace 0 with NULL for pointers, set some functions static
also fixed own errors in recent static check commit.
2011-09-16 08:20:21 +00:00
264c63ef03 New C/Py api utility function PyC_Err_Format_Prefix() which raises an error with the existing error as a suffix.
Use this to raise errors when assigning a string property fails even though the value to assign *is* a string.


Before:
  TypeError: bpy_struct: item.attr= val: Object.name expected a string type, not str


After:
  TypeError: bpy_struct: item.attr= val: Object.name error assigning string, UnicodeEncodeError('utf-8' codec can't encode character '\udce9' in position 23: surrogates not allowed)
2011-09-15 10:43:55 +00:00
0128218254 recast and detour patch now builds again with GCC
- rearrange structs to work for 64bit
- define all vars before goto's
- ifdefs for qsort_r/qsort_s
- dont cast pointers to int only for NULL checks
- dont printf STR_String directly, get the char pointer from it

also minor change to gpu py module, no need to pass empty tuple to PyObject_CallObject, can just be NULL
2011-09-10 03:07:26 +00:00
5fc9baa962 warning fixes 2011-09-09 13:46:47 +00:00
01744abd81 GPU: add gpu python module with export_shader() function to export GLSL shader.
shader = gpu.export_shader(scene,material) 

Returns the GLSL shader that blender generates to produce the visual effect
of material in scene for the purpose of reusing the shader in an external engine.
This function is meant to be used in a material exporter so that the GLSL
shader can be exported entirely. The return value is a dictionary containing the
shader source code and all associated data. 

The full documentation is under sphinx.

Warning: there has been an API between the patch and this commit:
uniform['lamp'] and uniform['image'] now return python reference to 
ID block instead of ID name as before. The X3D exporter that uses this
function must be adapted.
2011-09-09 11:55:38 +00:00
a59ba9a519 - turn RNA_warning into a macro which includes the function name (was being written in manually but had incorrect func names in places).
- add __func__ define to BLI_utildefines.h for MSVC.
2011-09-09 01:29:53 +00:00
9161d3ce4b use Py_ssize_t rather than int when dealing with list sizes (original patch from Fedora but applied changes elsewhere too), also replace PyList_Size with PyList_GET_SIZE where typechecking is already done. 2011-09-06 23:46:20 +00:00
3b09c331fa Adding noise module by default in driver_namespace
http://www.pasteall.org/blend/8677
2011-09-05 05:42:49 +00:00
0cd5dce245 whitespace edits 2011-09-03 02:15:49 +00:00
a8e49cd55a use a fixed 32byte buffer for getting an rna string from python. gives a slight speedup when drawing heavy UI's 2011-09-01 09:47:21 +00:00
fde215025e patch [#28218] During-render callback functionality
from Jesse Kaukonen (gekko) 

--- text from the patch.

Recently Campbell Barton added callback functionality for Python's usage, but this only includes pre- and post-render callbacks. There are no callbacks for the duration of the render. This patch adds the few lines required for executing a callback while Blender Render is working. The callback resides in the rendering pipeline stats function, so whenever statistics are printed, the callback is executed. This functionality is required if one wants to:

1) Observe what is happening while Blender is rendering via the command line
2) Add custom statistics that Blender prints while the renderer works
3) The user wants to continue executing his Python script without the code halting at bpy.ops.render.render()

Personally I'm currently using this for printing out more detailed progress reports at Renderfarm.fi (such as CPU time, time spent rendering, total progress in regards to the entire rendering process). Tested on Windows, Linux and OS X.

Example on how to use the callback:

  def statscall(context): print("Thanks for calling!")
  bpy.app.handlers.render_stats.append(statscall)
  bpy.ops.render.render(animation=False, write_still=True)
2011-08-31 10:43:22 +00:00
471c005137 typo fix: end of lines ;; --> ; 2011-08-31 01:07:55 +00:00