Merged changes in the trunk up to revision 53584.

Conflicts resolved:
release/scripts/startup/bl_ui/properties_render.py
source/blender/blenloader/intern/readfile.c
source/blender/editors/interface/interface_templates.c
source/blender/makesrna/RNA_enum_types.h

Also made additional code updates for:
r53355 UIList - Python-extendable list of UI items
r53460 Alpha premul pipeline cleanup
This commit is contained in:
2013-01-05 22:24:05 +00:00
577 changed files with 20475 additions and 7280 deletions

View File

@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Contributor(s): Bastien Montagne
* Contributor(s): Sergey Sharybin
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -29,152 +29,282 @@
#include "bpy_app_build_options.h"
static PyObject *make_build_options(void)
static PyTypeObject BlenderAppBuildOptionsType;
static PyStructSequence_Field app_builtopts_info_fields[] = {
/* names mostly follow CMake options, lowecases, after WITH_ */
{(char *)"bullet", NULL},
{(char *)"codec_avi", NULL},
{(char *)"codec_ffmpeg", NULL},
{(char *)"codec_quicktime", NULL},
{(char *)"codec_sndfile", NULL},
{(char *)"compositor", NULL},
{(char *)"cycles", NULL},
{(char *)"cycles_osl", NULL},
{(char *)"freestyle", NULL},
{(char *)"gameengine", NULL},
{(char *)"image_cineon", NULL},
{(char *)"image_dds", NULL},
{(char *)"image_frameserver", NULL},
{(char *)"image_hdr", NULL},
{(char *)"image_openexr", NULL},
{(char *)"image_openjpeg", NULL},
{(char *)"image_redcode", NULL},
{(char *)"image_tiff", NULL},
{(char *)"input_ndof", NULL},
{(char *)"audaspace", NULL},
{(char *)"international", NULL},
{(char *)"openal", NULL},
{(char *)"sdl", NULL},
{(char *)"jack", NULL},
{(char *)"libmv", NULL},
{(char *)"mod_boolean", NULL},
{(char *)"mod_fluid", NULL},
{(char *)"mod_oceansim", NULL},
{(char *)"mod_remesh", NULL},
{(char *)"mod_smoke", NULL},
{(char *)"collada", NULL},
{(char *)"opencolorio", NULL},
{(char *)"player", NULL},
{NULL}
};
static PyStructSequence_Desc app_builtopts_info_desc = {
(char *)"bpy.app.build_options", /* name */
(char *)"This module contains information about FFmpeg blender is linked against", /* doc */
app_builtopts_info_fields, /* fields */
(sizeof(app_builtopts_info_fields) / sizeof(PyStructSequence_Field)) - 1
};
static PyObject *make_builtopts_info(void)
{
PyObject *build_options = PyFrozenSet_New(NULL);
PyObject *builtopts_info;
int pos = 0;
#define SetStrItem(str) \
PySet_Add(build_options, PyUnicode_FromString(str));
#ifdef WITH_AUDASPACE
SetStrItem("AUDASPACE");
#endif
#ifdef WITH_BULLET
SetStrItem("BULLET");
#endif
#ifdef WITH_AVI
SetStrItem("CODEC_AVI");
#endif
#ifdef WITH_FFMPEG
SetStrItem("CODEC_FFMPEG");
#endif
#ifdef WITH_QUICKTIME
SetStrItem("CODEC_QUICKTIME");
#endif
#ifdef WITH_SNDFILE
SetStrItem("CODEC_SNDFILE");
#endif
#ifdef WITH_COMPOSITOR
SetStrItem("COMPOSITOR");
#endif
#ifdef WITH_CYCLES
SetStrItem("CYCLES");
#endif
#ifdef WITH_CYCLES_OSL
SetStrItem("CYCLES_OSL");
#endif
#ifdef WITH_FREESTYLE
SetStrItem("FREESTYLE");
#endif
#ifdef WITH_GAMEENGINE
SetStrItem("GAMEENGINE");
#endif
#ifdef WITH_CINEON
SetStrItem("IMAGE_CINEON");
#endif
#ifdef WITH_DDS
SetStrItem("IMAGE_DDS");
#endif
#ifdef WITH_FRAMESERVER
SetStrItem("IMAGE_FRAMESERVER");
#endif
#ifdef WITH_HDR
SetStrItem("IMAGE_HDR");
#endif
#ifdef WITH_OPENEXR
SetStrItem("IMAGE_OPENEXR");
#endif
#ifdef WITH_OPENJPEG
SetStrItem("IMAGE_OPENJPEG");
#endif
#ifdef WITH_REDCODE
SetStrItem("IMAGE_REDCODE");
#endif
#ifdef WITH_TIFF
SetStrItem("IMAGE_TIFF");
#endif
#ifdef WITH_INPUT_NDOF
SetStrItem("INPUT_NDOF");
#endif
#ifdef WITH_INTERNATIONAL
SetStrItem("INTERNATIONAL");
#endif
#ifdef WITH_JACK
SetStrItem("JACK");
#endif
#ifdef WITH_LIBMV
SetStrItem("LIBMV");
#endif
#ifdef WITH_MOD_BOOLEAN
SetStrItem("MOD_BOOLEAN");
#endif
#ifdef WITH_MOD_FLUID
SetStrItem("MOD_FLUID");
#endif
#ifdef WITH_OCEANSIM
SetStrItem("MOD_OCEANSIM");
#endif
#ifdef WITH_MOD_REMESH
SetStrItem("MOD_REMESH");
#endif
#ifdef WITH_SMOKE
SetStrItem("MOD_SMOKE");
#endif
#ifdef WITH_OPENAL
SetStrItem("OPENAL");
#endif
#ifdef WITH_COLLADA
SetStrItem("COLLADA");
#endif
#ifdef WITH_PLAYER
SetStrItem("PLAYER");
#endif
#undef SetStrItem
if (PyErr_Occurred()) {
Py_CLEAR(build_options);
builtopts_info = PyStructSequence_New(&BlenderAppBuildOptionsType);
if (builtopts_info == NULL) {
return NULL;
}
return build_options;
#define SetObjIncref(item) \
PyStructSequence_SET_ITEM(builtopts_info, pos++, (Py_IncRef(item), item))
#ifdef WITH_BULLET
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_AVI
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_FFMPEG
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_QUICKTIME
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_SNDFILE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_COMPOSITOR
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_CYCLES
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_CYCLES_OSL
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_FREESTYLE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_GAMEENGINE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_CINEON
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_DDS
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_FRAMESERVER
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_HDR
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_OPENEXR
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_OPENJPEG
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_REDCODE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_TIFF
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_INPUT_NDOF
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_AUDASPACE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_INTERNATIONAL
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_OPENAL
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_SDL
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_JACK
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_LIBMV
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_MOD_BOOLEAN
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_MOD_FLUID
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_OCEANSIM
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_MOD_REMESH
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_SMOKE
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_COLLADA
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_OCIO
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#ifdef WITH_PLAYER
SetObjIncref(Py_True);
#else
SetObjIncref(Py_False);
#endif
#undef SetObjIncref
return builtopts_info;
}
PyObject *BPY_app_build_options_struct(void)
{
PyObject *ret;
ret = make_build_options();
PyStructSequence_InitType(&BlenderAppBuildOptionsType, &app_builtopts_info_desc);
ret = make_builtopts_info();
/* prevent user from creating new instances */
BlenderAppBuildOptionsType.tp_init = NULL;
BlenderAppBuildOptionsType.tp_new = NULL;
BlenderAppBuildOptionsType.tp_hash = (hashfunc)_Py_HashPointer; /* without this we can't do set(sys.modules) [#29635] */
return ret;
}