[Bf-extensions-cvs] [92064b3] master: NewFeature: Copy Render Settings and Copy Cycles Settings
Eugenio Pignataro
noreply at git.blender.org
Fri Aug 29 17:41:14 CEST 2014
Commit: 92064b33ee922f478a579f03cfe36b508403ae75
Author: Eugenio Pignataro
Date: Fri Aug 29 12:40:59 2014 -0300
Branches: master
https://developer.blender.org/rBAC92064b33ee922f478a579f03cfe36b508403ae75
NewFeature: Copy Render Settings and Copy Cycles Settings
===================================================================
M oscurart_tools/__init__.py
M oscurart_tools/oscurart_render.py
===================================================================
diff --git a/oscurart_tools/__init__.py b/oscurart_tools/__init__.py
index 4c2057b..0699af6 100644
--- a/oscurart_tools/__init__.py
+++ b/oscurart_tools/__init__.py
@@ -217,7 +217,10 @@ class OscPanelRender(OscPollRender, bpy.types.Panel):
active_obj = context.active_object
layout = self.layout
col = layout.column(align=1)
-
+
+ colrow = col.row(align=1)
+ colrow.operator("render.copy_render_settings_osc", icon="LIBRARY_DATA_DIRECT", text="Copy Render Settings").mode="render"
+ colrow.operator("render.copy_render_settings_osc", icon="LIBRARY_DATA_DIRECT", text="Copy Cycles Settings").mode="cycles"
col.operator("file.create_batch_maker_osc", icon="LINENUMBERS_ON", text="Make Render Batch")
col.operator("file.create_batch_python", icon="LINENUMBERS_ON", text="Make Python Batch")
colrow = col.row(align=1)
@@ -296,3 +299,4 @@ if __name__ == "__main__":
register()
+
diff --git a/oscurart_tools/oscurart_render.py b/oscurart_tools/oscurart_render.py
index 1deeb89..860aa95 100644
--- a/oscurart_tools/oscurart_render.py
+++ b/oscurart_tools/oscurart_render.py
@@ -369,3 +369,73 @@ class BrokenFramesPanel (bpy.types.Panel):
colrow.operator("object.clear_broken_file")
colrow = col.row(align=1)
colrow.operator("object.delete_broken_file")
+
+
+##--------------------------------COPY RENDER SETTINGS----------------------------
+
+def defCopyRenderSettings(mode):
+
+ sc = bpy.context.scene
+ sceneslist = bpy.data.scenes[:]
+ sceneslist.remove(sc)
+
+ excludes = {'name','objects', 'object_bases', 'has_multiple_engines', 'display_settings', 'broken_files', 'rna_type', 'frame_subframe', 'view_settings', 'tool_settings', 'render', 'user_clear', 'animation_data_create', 'collada_export', 'keying_sets', 'icon_props', 'image_settings', 'library', 'bake', 'active_layer', 'frame_current_final', 'sequence_editor_clear', 'rigidbody_world', 'unit_settings', 'orientations', '__slots__', 'ray_cast', 'sequencer_colorspace_settings', 'ffmpeg', ' [...]
+
+
+
+
+ if mode == "render":
+ scenerenderdict = {prop : eval("bpy.context.scene.render.%s" % (prop)) for prop in dir(bpy.context.scene.render)}
+ scenedict = {prop : eval("bpy.context.scene.%s" % (prop)) for prop in dir(bpy.context.scene) if prop not in excludes}
+ sceneimagesettingdict = {prop : eval("bpy.context.scene.render.image_settings.%s" % (prop)) for prop in dir(bpy.context.scene.render.image_settings)}
+
+ # render
+ for escena in sceneslist:
+ for prop,value in scenerenderdict.items():
+ try:
+ setattr(escena.render, str(prop),value)
+ except:
+ print("%s was not copied!" % (prop))
+ pass
+ # scene
+ for escena in sceneslist:
+ for prop,value in scenedict.items():
+ try:
+ setattr(escena, str(prop),value)
+ except:
+ print("%s was not copied!" % (prop))
+ pass
+ # imageSettings
+ for escena in sceneslist:
+ for prop,value in sceneimagesettingdict.items():
+ try:
+ setattr(escena.render.image_settings, str(prop),value)
+ except:
+ print("%s was not copied!" % (prop))
+ pass
+
+ if mode == "cycles":
+ scenecyclesdict = {prop : eval("bpy.context.scene.cycles.%s" % (prop)) for prop in dir(bpy.context.scene.cycles)}
+ # cycles
+ for escena in sceneslist:
+ for prop,value in scenecyclesdict.items():
+ try:
+ setattr(escena.cycles, str(prop),value)
+ except:
+ print("%s was not copied!" % (prop))
+ pass
+
+
+
+class copyRenderSettings (bpy.types.Operator):
+ bl_idname="render.copy_render_settings_osc"
+ bl_label="Copy Render Settings"
+ #bl_options = {'REGISTER', 'UNDO'}
+
+ mode = bpy.props.StringProperty(default="")
+
+ def execute(self,context):
+
+ defCopyRenderSettings(self.mode)
+
+ return {'FINISHED'}
More information about the Bf-extensions-cvs
mailing list