[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36974] branches/soc-2011-onion: merge with trunk r36973

Ryakiotakis Antonis kalast at gmail.com
Sat May 28 12:47:53 CEST 2011


Revision: 36974
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36974
Author:   psy-fi
Date:     2011-05-28 10:47:52 +0000 (Sat, 28 May 2011)
Log Message:
-----------
merge with trunk r36973

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36973

Modified Paths:
--------------
    branches/soc-2011-onion/build_files/cmake/macros.cmake
    branches/soc-2011-onion/doc/python_api/sphinx_doc_gen.py
    branches/soc-2011-onion/intern/audaspace/CMakeLists.txt
    branches/soc-2011-onion/intern/audaspace/SConscript
    branches/soc-2011-onion/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
    branches/soc-2011-onion/release/scripts/modules/bpy_extras/image_utils.py
    branches/soc-2011-onion/release/scripts/modules/bpy_extras/io_utils.py
    branches/soc-2011-onion/release/scripts/modules/bpy_extras/mesh_utils.py
    branches/soc-2011-onion/release/scripts/modules/bpy_extras/object_utils.py
    branches/soc-2011-onion/release/scripts/modules/bpy_extras/view3d_utils.py
    branches/soc-2011-onion/source/blender/blenkernel/BKE_sequencer.h
    branches/soc-2011-onion/source/blender/blenkernel/CMakeLists.txt
    branches/soc-2011-onion/source/blender/blenkernel/SConscript
    branches/soc-2011-onion/source/blender/blenkernel/intern/sequencer.c
    branches/soc-2011-onion/source/blender/blenkernel/intern/writeffmpeg.c
    branches/soc-2011-onion/source/blender/editors/gpencil/gpencil_edit.c
    branches/soc-2011-onion/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/soc-2011-onion/source/blender/imbuf/CMakeLists.txt
    branches/soc-2011-onion/source/blender/imbuf/SConscript
    branches/soc-2011-onion/source/blender/imbuf/intern/anim_movie.c
    branches/soc-2011-onion/source/blender/imbuf/intern/util.c
    branches/soc-2011-onion/source/blender/makesrna/intern/rna_sequencer_api.c
    branches/soc-2011-onion/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2011-onion/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
    branches/soc-2011-onion/source/gameengine/VideoTexture/CMakeLists.txt
    branches/soc-2011-onion/source/gameengine/VideoTexture/SConscript
    branches/soc-2011-onion/source/gameengine/VideoTexture/VideoFFmpeg.cpp
    branches/soc-2011-onion/source/gameengine/VideoTexture/VideoFFmpeg.h

Added Paths:
-----------
    branches/soc-2011-onion/intern/ffmpeg/
    branches/soc-2011-onion/intern/ffmpeg/ffmpeg_compat.h

Removed Paths:
-------------
    branches/soc-2011-onion/intern/ffmpeg/ffmpeg_compat.h

Property Changed:
----------------
    branches/soc-2011-onion/


Property changes on: branches/soc-2011-onion
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender:36833-36958
   + /trunk/blender:36833-36973

Modified: branches/soc-2011-onion/build_files/cmake/macros.cmake
===================================================================
--- branches/soc-2011-onion/build_files/cmake/macros.cmake	2011-05-28 10:01:00 UTC (rev 36973)
+++ branches/soc-2011-onion/build_files/cmake/macros.cmake	2011-05-28 10:47:52 UTC (rev 36974)
@@ -13,19 +13,13 @@
 	include_directories(${all_incs})
 endmacro()
 
-# only MSVC uses SOURCE_GROUP
-macro(blender_add_lib_nolist
-	name
-	sources
-	includes)
 
-	# message(STATUS "Configuring library ${name}")
+macro(blender_source_group
+	sources)
 
-	blender_include_dirs("${includes}")
-	add_library(${name} ${sources})
-
 	# Group by location on disk
 	source_group("Source Files" FILES CMakeLists.txt)
+
 	foreach(SRC ${sources})
 		get_filename_component(SRC_EXT ${SRC} EXT)
 		if(${SRC_EXT} MATCHES ".h" OR ${SRC_EXT} MATCHES ".hpp")
@@ -36,17 +30,27 @@
 	endforeach()
 endmacro()
 
-#	# works fine but having the includes listed is helpful for IDE's (QtCreator/MSVC)
-#	macro(blender_add_lib_nolist
-#		name
-#		sources
-#		includes)
-#
-#		message(STATUS "Configuring library ${name}")
-#		include_directories(${includes})
-#		add_library(${name} ${sources})
-#	endmacro()
 
+# only MSVC uses SOURCE_GROUP
+macro(blender_add_lib_nolist
+	name
+	sources
+	includes)
+
+	# message(STATUS "Configuring library ${name}")
+
+	# include_directories(${includes})
+	blender_include_dirs("${includes}")
+
+	add_library(${name} ${sources})
+
+	# works fine without having the includes
+	# listed is helpful for IDE's (QtCreator/MSVC)
+	blender_source_group("${sources}")
+
+endmacro()
+
+
 macro(blender_add_lib
 	name
 	sources
@@ -55,9 +59,9 @@
 	blender_add_lib_nolist(${name} "${sources}" "${includes}")
 
 	set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name})
-
 endmacro()
 
+
 macro(SETUP_LIBDIRS)
 	# see "cmake --help-policy CMP0003"
 	if(COMMAND cmake_policy)

Modified: branches/soc-2011-onion/doc/python_api/sphinx_doc_gen.py
===================================================================
--- branches/soc-2011-onion/doc/python_api/sphinx_doc_gen.py	2011-05-28 10:01:00 UTC (rev 36973)
+++ branches/soc-2011-onion/doc/python_api/sphinx_doc_gen.py	2011-05-28 10:47:52 UTC (rev 36974)
@@ -34,7 +34,8 @@
 
 - Generate html docs by running...
 
-    sphinx-build doc/python_api/sphinx-in doc/python_api/sphinx-out
+    cd doc/python_api
+    sphinx-build sphinx-in sphinx-out
 
   assuming that you have sphinx 1.0.7 installed
 
@@ -64,8 +65,9 @@
         "bpy.props",
         "bpy.utils",
         "bpy.context",
-        # "bpy.types",  # supports filtering
+        "bpy.types",  # supports filtering
         "bpy.ops",  # supports filtering
+        #"bpy_extras",
         "bge",
         "aud",
         "bgl",
@@ -204,10 +206,24 @@
     '''
     if text is None:
         return
-    for l in text.split("\n"):
-        if strip:
-            fn(ident + l.strip() + "\n")
-        else:
+
+    lines = text.split("\n")
+
+    # strip empty lines from the start/end
+    while lines and not lines[0].strip():
+        del lines[0]
+    while lines and not lines[-1].strip():
+        del lines[-1]
+
+    if strip:
+        ident_strip = 1000
+        for l in lines:
+            if l.strip():
+                ident_strip = min(ident_strip, len(l) - len(l.lstrip()))
+        for l in lines:
+            fn(ident + l[ident_strip:] + "\n")
+    else:
+        for l in lines:
             fn(ident + l + "\n")
 
 
@@ -252,7 +268,7 @@
 
     fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
     if py_func.__doc__:
-        write_indented_lines(ident + "   ", fw, py_func.__doc__.strip())
+        write_indented_lines(ident + "   ", fw, py_func.__doc__)
         fw("\n")
 
 
@@ -267,8 +283,10 @@
     if type(descr) == GetSetDescriptorType:
         fw(ident + ".. attribute:: %s\n\n" % identifier)
         write_indented_lines(ident + "   ", fw, doc, False)
+        fw("\n")
     elif type(descr) in (MethodDescriptorType, ClassMethodDescriptorType):
         write_indented_lines(ident, fw, doc, False)
+        fw("\n")
     else:
         raise TypeError("type was not GetSetDescriptorType, MethodDescriptorType or ClassMethodDescriptorType")
 
@@ -316,11 +334,17 @@
     attribute_set = set()
     filepath = os.path.join(BASEPATH, module_name + ".rst")
 
+    module_all = getattr(module, "__all__", None)
+    module_dir = sorted(dir(module))
+
+    if module_all:
+        module_dir = module_all
+
     file = open(filepath, "w")
 
     fw = file.write
 
-    write_title(fw, title, "=")
+    write_title(fw, "%s (%s)" % (title, module_name), "=")
 
     fw(".. module:: %s\n\n" % module_name)
 
@@ -331,6 +355,35 @@
 
     write_example_ref("", fw, module_name)
 
+    # write submodules
+    # we could also scan files but this ensures __all__ is used correctly
+    if module_all is not None:
+        submod_name = None
+        submod = None
+        submod_ls = []
+        for submod_name in module_all:
+            ns = {}
+            exec_str = "from %s import %s as submod" % (module.__name__, submod_name)
+            exec(exec_str, ns, ns)
+            submod = ns["submod"]
+            if type(submod) == types.ModuleType:
+                submod_ls.append((submod_name, submod))
+
+        del submod_name
+        del submod
+
+        if submod_ls:
+            fw(".. toctree::\n")
+            fw("   :maxdepth: 1\n\n")
+
+            for submod_name, submod in submod_ls:
+                submod_name_full = "%s.%s" % (module_name, submod_name)
+                fw("   %s.rst\n\n" % submod_name_full)
+
+                pymodule2sphinx(BASEPATH, submod_name_full, submod, "%s submodule" % module_name)
+        del submod_ls
+    # done writing submodules!
+
     # write members of the module
     # only tested with PyStructs which are not exactly modules
     for key, descr in sorted(type(module).__dict__.items()):
@@ -348,15 +401,15 @@
             if descr.__doc__:
                 fw(".. data:: %s\n\n" % key)
                 write_indented_lines("   ", fw, descr.__doc__, False)
+                fw("\n")
                 attribute_set.add(key)
-                fw("\n")
+
     del key, descr
 
     classes = []
 
-    for attribute in sorted(dir(module)):
+    for attribute in module_dir:
         if not attribute.startswith("_"):
-
             if attribute in attribute_set:
                 continue
 
@@ -972,6 +1025,8 @@
         fw("   blf.rst\n\n")
     if "aud" not in EXCLUDE_MODULES:
         fw("   aud.rst\n\n")
+    if "bpy_extras" not in EXCLUDE_MODULES:
+        fw("   bpy_extras.rst\n\n")
 
     # game engine
     if "bge" not in EXCLUDE_MODULES:
@@ -1068,41 +1123,45 @@
     # python modules
     if "bpy.utils" not in EXCLUDE_MODULES:
         from bpy import utils as module
-        pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities (bpy.utils)")
+        pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities")
 
     if "bpy.path" not in EXCLUDE_MODULES:
         from bpy import path as module
-        pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities (bpy.path)")
+        pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities")
 
+    if "bpy_extras" not in EXCLUDE_MODULES:
+        import bpy_extras as module
+        pymodule2sphinx(BASEPATH, "bpy_extras", module, "Extra Utilities")
+
     # C modules
     if "bpy.app" not in EXCLUDE_MODULES:
         from bpy import app as module
-        pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data (bpy.app)")
+        pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data")
 
     if "bpy.props" not in EXCLUDE_MODULES:
         from bpy import props as module
-        pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions (bpy.props)")
+        pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions")
 
     if "mathutils" not in EXCLUDE_MODULES:
         import mathutils as module
-        pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities (mathutils)")
+        pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities")
 
     if "mathutils.geometry" not in EXCLUDE_MODULES:
         import mathutils.geometry as module
-        pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities (mathutils.geometry)")
+        pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities")
 
     if "mathutils.geometry" not in EXCLUDE_MODULES:
         import blf as module
-        pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing (blf)")
+        pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing")
 
     # XXX TODO
     #import bgl as module
-    #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper (bgl)")
+    #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper")
     #del module
 
     if "aud" not in EXCLUDE_MODULES:
         import aud as module
-        pymodule2sphinx(BASEPATH, "aud", module, "Audio System (aud)")
+        pymodule2sphinx(BASEPATH, "aud", module, "Audio System")
     del module
 
     ## game engine

Modified: branches/soc-2011-onion/intern/audaspace/CMakeLists.txt
===================================================================
--- branches/soc-2011-onion/intern/audaspace/CMakeLists.txt	2011-05-28 10:01:00 UTC (rev 36973)
+++ branches/soc-2011-onion/intern/audaspace/CMakeLists.txt	2011-05-28 10:47:52 UTC (rev 36974)
@@ -26,6 +26,7 @@
 	FX SRC
 	${PTHREADS_INC}
 	${LIBSAMPLERATE_INC}
+	../ffmpeg
 )
 
 set(SRC

Modified: branches/soc-2011-onion/intern/audaspace/SConscript
===================================================================
--- branches/soc-2011-onion/intern/audaspace/SConscript	2011-05-28 10:01:00 UTC (rev 36973)
+++ branches/soc-2011-onion/intern/audaspace/SConscript	2011-05-28 10:47:52 UTC (rev 36974)
@@ -8,7 +8,7 @@
 
 if env['WITH_BF_FFMPEG']:
     sources += env.Glob('ffmpeg/*.cpp')
-    incs += ' ffmpeg ' + env['BF_FFMPEG_INC']
+    incs += ' ffmpeg  #/intern/ffmpeg ' + env['BF_FFMPEG_INC']
     defs.append('WITH_FFMPEG')
 
 if env['WITH_BF_SDL']:

Modified: branches/soc-2011-onion/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
===================================================================

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list