Revision: 28648
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28648
Author:   kwk
Date:     2010-05-07 13:21:05 +0200 (Fri, 07 May 2010)

Log Message:
-----------
merge 28528:28647

Modified Paths:
--------------
    branches/soc-2010-kwk/intern/ghost/intern/GHOST_DropTargetWin32.cpp
    branches/soc-2010-kwk/intern/ghost/intern/GHOST_WindowCocoa.mm
    branches/soc-2010-kwk/intern/guardedalloc/MEM_guardedalloc.h
    branches/soc-2010-kwk/intern/guardedalloc/intern/mallocn.c
    branches/soc-2010-kwk/release/datafiles/blenderbuttons
    branches/soc-2010-kwk/release/scripts/io/netrender/__init__.py
    branches/soc-2010-kwk/release/scripts/io/netrender/model.py
    branches/soc-2010-kwk/release/scripts/io/netrender/operators.py
    branches/soc-2010-kwk/release/scripts/io/netrender/slave.py
    branches/soc-2010-kwk/release/scripts/io/netrender/ui.py
    branches/soc-2010-kwk/release/scripts/io/netrender/utils.py
    branches/soc-2010-kwk/release/scripts/modules/bpy_types.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/arm_biped.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/eye_balls.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/eye_lid.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/finger_curl.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/leg_biped.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/leg_quadruped.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/mouth.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/neck.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/neck_flex.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/palm_curl.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/shape_key_control.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/shape_key_distance.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/shape_key_rotdiff.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/spine_pivot_flex.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/tail_control.py
    branches/soc-2010-kwk/release/scripts/modules/rigify/tongue.py
    branches/soc-2010-kwk/release/scripts/modules/rigify_utils.py
    branches/soc-2010-kwk/release/scripts/modules/rna_info.py
    branches/soc-2010-kwk/release/scripts/op/console_python.py
    branches/soc-2010-kwk/release/scripts/op/image.py
    branches/soc-2010-kwk/release/scripts/op/sequencer.py
    branches/soc-2010-kwk/release/scripts/op/vertexpaint_dirt.py
    branches/soc-2010-kwk/release/scripts/ui/properties_data_mesh.py
    branches/soc-2010-kwk/release/scripts/ui/properties_material.py
    branches/soc-2010-kwk/release/scripts/ui/properties_object.py
    branches/soc-2010-kwk/release/scripts/ui/properties_particle.py
    branches/soc-2010-kwk/release/scripts/ui/properties_physics_common.py
    branches/soc-2010-kwk/release/scripts/ui/properties_render.py
    branches/soc-2010-kwk/release/scripts/ui/properties_texture.py
    branches/soc-2010-kwk/release/scripts/ui/space_image.py
    branches/soc-2010-kwk/release/scripts/ui/space_info.py
    branches/soc-2010-kwk/release/scripts/ui/space_outliner.py
    branches/soc-2010-kwk/release/scripts/ui/space_sequencer.py
    branches/soc-2010-kwk/release/scripts/ui/space_time.py
    branches/soc-2010-kwk/release/scripts/ui/space_userpref_keymap.py
    branches/soc-2010-kwk/release/scripts/ui/space_view3d.py
    branches/soc-2010-kwk/source/blender/blenkernel/intern/BME_tools.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/action.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/colortools.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/customdata.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/depsgraph.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/group.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/icons.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/multires.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/nla.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/object.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/particle.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/pointcache.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/softbody.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2010-kwk/source/blender/blenkernel/intern/writeffmpeg.c
    branches/soc-2010-kwk/source/blender/blenlib/BLI_ghash.h
    branches/soc-2010-kwk/source/blender/blenlib/intern/BLI_args.c
    branches/soc-2010-kwk/source/blender/blenlib/intern/BLI_ghash.c
    branches/soc-2010-kwk/source/blender/blenlib/intern/pbvh.c
    branches/soc-2010-kwk/source/blender/blenloader/intern/readblenentry.c
    branches/soc-2010-kwk/source/blender/blenloader/intern/readfile.c
    branches/soc-2010-kwk/source/blender/blenloader/intern/writefile.c
    branches/soc-2010-kwk/source/blender/editors/animation/anim_draw.c
    branches/soc-2010-kwk/source/blender/editors/animation/anim_markers.c
    branches/soc-2010-kwk/source/blender/editors/animation/keyframing.c
    branches/soc-2010-kwk/source/blender/editors/armature/editarmature.c
    
branches/soc-2010-kwk/source/blender/editors/armature/editarmature_retarget.c
    branches/soc-2010-kwk/source/blender/editors/armature/editarmature_sketch.c
    branches/soc-2010-kwk/source/blender/editors/armature/reeb.c
    branches/soc-2010-kwk/source/blender/editors/datafiles/blenderbuttons.c
    branches/soc-2010-kwk/source/blender/editors/include/UI_icons.h
    branches/soc-2010-kwk/source/blender/editors/interface/interface_draw.c
    branches/soc-2010-kwk/source/blender/editors/interface/view2d.c
    branches/soc-2010-kwk/source/blender/editors/mesh/editmesh_loop.c
    branches/soc-2010-kwk/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2010-kwk/source/blender/editors/mesh/meshtools.c
    branches/soc-2010-kwk/source/blender/editors/object/object_add.c
    branches/soc-2010-kwk/source/blender/editors/object/object_constraint.c
    branches/soc-2010-kwk/source/blender/editors/object/object_edit.c
    branches/soc-2010-kwk/source/blender/editors/object/object_group.c
    branches/soc-2010-kwk/source/blender/editors/object/object_intern.h
    branches/soc-2010-kwk/source/blender/editors/object/object_modifier.c
    branches/soc-2010-kwk/source/blender/editors/object/object_ops.c
    branches/soc-2010-kwk/source/blender/editors/object/object_relations.c
    branches/soc-2010-kwk/source/blender/editors/object/object_vgroup.c
    branches/soc-2010-kwk/source/blender/editors/render/render_internal.c
    branches/soc-2010-kwk/source/blender/editors/render/render_shading.c
    branches/soc-2010-kwk/source/blender/editors/sculpt_paint/paint_vertex.c
    branches/soc-2010-kwk/source/blender/editors/space_image/image_ops.c
    branches/soc-2010-kwk/source/blender/editors/space_image/space_image.c
    branches/soc-2010-kwk/source/blender/editors/space_logic/logic_ops.c
    branches/soc-2010-kwk/source/blender/editors/space_logic/logic_window.c
    branches/soc-2010-kwk/source/blender/editors/space_logic/space_logic.c
    branches/soc-2010-kwk/source/blender/editors/space_nla/nla_edit.c
    branches/soc-2010-kwk/source/blender/editors/space_node/node_draw.c
    branches/soc-2010-kwk/source/blender/editors/space_outliner/outliner.c
    
branches/soc-2010-kwk/source/blender/editors/space_sequencer/sequencer_edit.c
    
branches/soc-2010-kwk/source/blender/editors/space_sequencer/sequencer_intern.h
    
branches/soc-2010-kwk/source/blender/editors/space_sequencer/sequencer_select.c
    branches/soc-2010-kwk/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2010-kwk/source/blender/editors/space_view3d/view3d_buttons.c
    branches/soc-2010-kwk/source/blender/editors/space_view3d/view3d_edit.c
    branches/soc-2010-kwk/source/blender/editors/transform/transform.c
    branches/soc-2010-kwk/source/blender/editors/transform/transform.h
    
branches/soc-2010-kwk/source/blender/editors/transform/transform_constraints.c
    
branches/soc-2010-kwk/source/blender/editors/transform/transform_conversions.c
    branches/soc-2010-kwk/source/blender/editors/transform/transform_generics.c
    branches/soc-2010-kwk/source/blender/gpu/intern/gpu_codegen.c
    branches/soc-2010-kwk/source/blender/gpu/intern/gpu_draw.c
    branches/soc-2010-kwk/source/blender/makesdna/DNA_action_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_actuator_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_controller_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_modifier_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_object_force.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_object_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_sensor_types.h
    branches/soc-2010-kwk/source/blender/makesdna/DNA_space_types.h
    branches/soc-2010-kwk/source/blender/makesrna/RNA_enum_types.h
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_access.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_action.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_actuator.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_animation.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_animviz.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_armature.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_boid.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_color.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_controller.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_curve.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_fluidsim.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_lamp.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_main.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_material.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_mesh.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_meta.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_modifier.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_object.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_object_force.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_particle.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_pose.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_property.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_rna.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_sculpt_paint.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_sensor.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_sequencer.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_smoke.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_space.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_texture.c
    branches/soc-2010-kwk/source/blender/makesrna/intern/rna_userdef.c
    branches/soc-2010-kwk/source/blender/modifiers/intern/MOD_boolean_util.c
    branches/soc-2010-kwk/source/blender/modifiers/intern/MOD_build.c
    branches/soc-2010-kwk/source/blender/modifiers/intern/MOD_cloth.c
    branches/soc-2010-kwk/source/blender/modifiers/intern/MOD_mask.c
    branches/soc-2010-kwk/source/blender/python/doc/sphinx_doc_gen.py
    branches/soc-2010-kwk/source/blender/python/doc/sphinx_doc_gen.sh
    branches/soc-2010-kwk/source/blender/python/generic/blf_api.c
    branches/soc-2010-kwk/source/blender/python/intern/bpy_rna.c
    
branches/soc-2010-kwk/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp
    branches/soc-2010-kwk/source/blender/render/intern/source/convertblender.c
    branches/soc-2010-kwk/source/blender/render/intern/source/pipeline.c
    branches/soc-2010-kwk/source/blender/render/intern/source/sss.c
    branches/soc-2010-kwk/source/blender/render/intern/source/strand.c
    branches/soc-2010-kwk/source/blender/windowmanager/intern/wm_files.c
    branches/soc-2010-kwk/source/blender/windowmanager/intern/wm_init_exit.c
    branches/soc-2010-kwk/source/blender/windowmanager/intern/wm_operators.c
    branches/soc-2010-kwk/source/blender/windowmanager/intern/wm_window.c
    branches/soc-2010-kwk/source/blender/windowmanager/wm_event_types.h
    branches/soc-2010-kwk/source/blenderplayer/bad_level_call_stubs/stubs.c
    branches/soc-2010-kwk/source/gameengine/Converter/BL_ArmatureObject.cpp
    branches/soc-2010-kwk/source/gameengine/Ketsji/KX_GameObject.cpp
    branches/soc-2010-kwk/source/gameengine/Ketsji/KX_ObjectActuator.cpp
    branches/soc-2010-kwk/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/soc-2010-kwk/source/gameengine/Ketsji/KX_PythonInit.h

Added Paths:
-----------
    branches/soc-2010-kwk/release/scripts/io/netrender/repath.py

Modified: branches/soc-2010-kwk/intern/ghost/intern/GHOST_DropTargetWin32.cpp
===================================================================
--- branches/soc-2010-kwk/intern/ghost/intern/GHOST_DropTargetWin32.cpp 
2010-05-07 10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/intern/ghost/intern/GHOST_DropTargetWin32.cpp 
2010-05-07 11:21:05 UTC (rev 28648)
@@ -110,8 +110,8 @@
  */
 HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject * pDataObject, 
DWORD grfKeyState, POINTL pt, DWORD * pdwEffect)
 {
-       // we don't know yet if we accept the drop.
-       m_window->setAcceptDragOperation(false);
+       // we accept all drop by default
+       m_window->setAcceptDragOperation(true);
        *pdwEffect = DROPEFFECT_NONE;
        
        m_draggedObjectType = getGhostType(pDataObject);

Modified: branches/soc-2010-kwk/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- branches/soc-2010-kwk/intern/ghost/intern/GHOST_WindowCocoa.mm      
2010-05-07 10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/intern/ghost/intern/GHOST_WindowCocoa.mm      
2010-05-07 11:21:05 UTC (rev 28648)
@@ -167,7 +167,7 @@
        else if ([[draggingPBoard types] containsObject:NSStringPboardType]) 
m_draggedObjectType = GHOST_kDragnDropTypeString;
        else return NSDragOperationNone;
        
-       associatedWindow->setAcceptDragOperation(FALSE); //Drag operation needs 
to be accepted explicitly by the event manager
+       associatedWindow->setAcceptDragOperation(TRUE); //Drag operation is 
accepted by default
        systemCocoa->handleDraggingEvent(GHOST_kEventDraggingEntered, 
m_draggedObjectType, associatedWindow, mouseLocation.x, mouseLocation.y, nil);
        return NSDragOperationCopy;
 }

Modified: branches/soc-2010-kwk/intern/guardedalloc/MEM_guardedalloc.h
===================================================================
--- branches/soc-2010-kwk/intern/guardedalloc/MEM_guardedalloc.h        
2010-05-07 10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/intern/guardedalloc/MEM_guardedalloc.h        
2010-05-07 11:21:05 UTC (rev 28648)
@@ -144,6 +144,12 @@
        uintptr_t MEM_get_mapped_memory_in_use(void);
        int MEM_get_memory_blocks_in_use(void);
 
+       /*reset the peak memory statistic to zero*/
+       void MEM_reset_peak_memory(void);
+
+       /*get the peak memory usage in bytes, including mmap allocations*/
+       uintptr_t MEM_get_peak_memory(void);
+
 #ifdef __cplusplus
 }
 #endif

Modified: branches/soc-2010-kwk/intern/guardedalloc/intern/mallocn.c
===================================================================
--- branches/soc-2010-kwk/intern/guardedalloc/intern/mallocn.c  2010-05-07 
10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/intern/guardedalloc/intern/mallocn.c  2010-05-07 
11:21:05 UTC (rev 28648)
@@ -138,7 +138,7 @@
        
 
 static volatile int totblock= 0;
-static volatile uintptr_t mem_in_use= 0, mmap_in_use= 0;
+static volatile uintptr_t mem_in_use= 0, mmap_in_use= 0, peak_mem = 0;
 
 static volatile struct localListBase _membase;
 static volatile struct localListBase *membase = &_membase;
@@ -293,6 +293,8 @@
        
        totblock++;
        mem_in_use += len;
+
+       peak_mem = mem_in_use > peak_mem ? mem_in_use : peak_mem;
 }
 
 void *MEM_mallocN(size_t len, const char *str)
@@ -377,6 +379,7 @@
                make_memhead_header(memh, len, str);
                memh->mmap= 1;
                mmap_in_use += len;
+               peak_mem = mmap_in_use > peak_mem ? mmap_in_use : peak_mem;
                mem_unlock_thread();
 #ifdef DEBUG_MEMCOUNTER
                if(_mallocn_count==DEBUG_MEMCOUNTER_ERROR_VAL)
@@ -802,6 +805,24 @@
        return(name);
 }
 
+uintptr_t MEM_get_peak_memory(void)
+{
+       uintptr_t _peak_mem;
+
+       mem_lock_thread();
+       _peak_mem = peak_mem;
+       mem_unlock_thread();
+
+       return _peak_mem;
+}
+
+void MEM_reset_peak_memory(void)
+{
+       mem_lock_thread();
+       peak_mem = 0;
+       mem_unlock_thread();
+}
+
 uintptr_t MEM_get_memory_in_use(void)
 {
        uintptr_t _mem_in_use;

Modified: branches/soc-2010-kwk/release/datafiles/blenderbuttons
===================================================================
(Binary files differ)

Modified: branches/soc-2010-kwk/release/scripts/io/netrender/__init__.py
===================================================================
--- branches/soc-2010-kwk/release/scripts/io/netrender/__init__.py      
2010-05-07 10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/release/scripts/io/netrender/__init__.py      
2010-05-07 11:21:05 UTC (rev 28648)
@@ -27,6 +27,7 @@
 from netrender import utils
 from netrender import balancing
 from netrender import ui
+from netrender import repath
 
 jobs = []
 slaves = []

Modified: branches/soc-2010-kwk/release/scripts/io/netrender/model.py
===================================================================
--- branches/soc-2010-kwk/release/scripts/io/netrender/model.py 2010-05-07 
10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/release/scripts/io/netrender/model.py 2010-05-07 
11:21:05 UTC (rev 28648)
@@ -105,6 +105,7 @@
 class RenderFile:
     def __init__(self, filepath = "", index = 0, start = -1, end = -1, 
signature=0):
         self.filepath = filepath
+        self.original_path = filepath
         self.signature = signature
         self.index = index
         self.start = start
@@ -113,6 +114,7 @@
     def serialize(self):
         return         {
                     "filepath": self.filepath,
+                    "original_path": self.original_path,
                     "index": self.index,
                     "start": self.start,
                     "end": self.end,
@@ -125,6 +127,7 @@
             return None
 
         rfile = RenderFile(data["filepath"], data["index"], data["start"], 
data["end"], data["signature"])
+        rfile.original_path = data["original_path"]
 
         return rfile
 

Modified: branches/soc-2010-kwk/release/scripts/io/netrender/operators.py
===================================================================
--- branches/soc-2010-kwk/release/scripts/io/netrender/operators.py     
2010-05-07 10:59:48 UTC (rev 28647)
+++ branches/soc-2010-kwk/release/scripts/io/netrender/operators.py     
2010-05-07 11:21:05 UTC (rev 28648)
@@ -159,6 +159,36 @@
         return self.execute(context)
 
 @rnaType
+class RENDER_OT_netclientsendframe(bpy.types.Operator):
+    '''Send Render Job with current frame to the Network'''
+    bl_idname = "render.netclientsendframe"
+    bl_label = "Send current frame job"
+
+    def poll(self, context):
+        return True
+
+    def execute(self, context):
+        scene = context.scene
+        netsettings = scene.network_render
+
+        try:
+            conn = clientConnection(netsettings.server_address, 
netsettings.server_port, self.report)
+
+            if conn:
+                # Sending file
+                scene.network_render.job_id = client.clientSendJob(conn, 
scene, False)
+                conn.close()
+                self.report('INFO', "Job sent to master")
+        except Exception as err:
+            self.report('ERROR', str(err))
+
+
+        return {'FINISHED'}
+
+    def invoke(self, context, event):
+        return self.execute(context)
+
+...@rnatype
 class RENDER_OT_netclientstatus(bpy.types.Operator):
     '''Refresh the status of the current jobs'''
     bl_idname = "render.netclientstatus"

Copied: branches/soc-2010-kwk/release/scripts/io/netrender/repath.py (from rev 
28647, trunk/blender/release/scripts/io/netrender/repath.py)
===================================================================
--- branches/soc-2010-kwk/release/scripts/io/netrender/repath.py                
                (rev 0)
+++ branches/soc-2010-kwk/release/scripts/io/netrender/repath.py        
2010-05-07 11:21:05 UTC (rev 28648)
@@ -0,0 +1,145 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+import sys, os
+import subprocess
+
+import bpy
+
+from netrender.utils import *
+import netrender.model
+
+BLENDER_PATH = sys.argv[0]
+
+def reset(job):
+    main_file = job.files[0]
+    
+    job_full_path = main_file.filepath
+
+    if os.path.exists(job_full_path + ".bak"):
+        os.remove(job_full_path) # repathed file
+        os.renames(job_full_path + ".bak", job_full_path)
+
+def update(job):
+    paths = []
+    
+    main_file = job.files[0]
+    
+    job_full_path = main_file.filepath
+
+        
+    path, ext = os.path.splitext(job_full_path)
+    
+    new_path = path + ".remap" + ext 
+    
+    all = main_file.filepath == main_file.original_path 
+    
+    for rfile in job.files[1:]:
+        if all or rfile.original_path != rfile.filepath:
+            paths.append(rfile.original_path)
+            paths.append(rfile.filepath)
+    
+    # Only update if needed
+    if paths:        
+        process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", 
job_full_path, "-P", __file__, "--", new_path] + paths, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
+        process.wait()
+        
+        os.renames(job_full_path, job_full_path + ".bak")
+        os.renames(new_path, job_full_path)
+
+def process(paths):
+    def processPointCache(point_cache):
+        point_cache.external = False
+
+    def processFluid(fluid):
+        new_path = path_map.get(fluid.path, None)
+        if new_path:
+            fluid.path = new_path
+    
+    path_map = {}
+    for i in range(0, len(paths), 2):
+        # special case for point cache
+        if paths[i].endswith(".bphys"):
+            pass # Don't need them in the map, they all use the default 
external path
+            # NOTE: This is probably not correct all the time, need to be 
fixed.
+        # special case for fluids
+        elif paths[i].endswith(".bobj.gz"):
+            path_map[os.path.split(paths[i])[0]] = os.path.split(paths[i+1])[0]
+        else:
+            path_map[paths[i]] = paths[i+1]
+    
+    ###########################
+    # LIBRARIES
+    ###########################
+    for lib in bpy.data.libraries:

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to