[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23498] trunk/blender/release/io/netrender : netrender: split off job settings in their own panel.
Martin Poirier
theeth at yahoo.com
Sat Sep 26 21:51:00 CEST 2009
Revision: 23498
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23498
Author: theeth
Date: 2009-09-26 21:50:59 +0200 (Sat, 26 Sep 2009)
Log Message:
-----------
netrender: split off job settings in their own panel. Add button to open up web interface in a browser.
Modified Paths:
--------------
trunk/blender/release/io/netrender/operators.py
trunk/blender/release/io/netrender/ui.py
Modified: trunk/blender/release/io/netrender/operators.py
===================================================================
--- trunk/blender/release/io/netrender/operators.py 2009-09-26 16:43:20 UTC (rev 23497)
+++ trunk/blender/release/io/netrender/operators.py 2009-09-26 19:50:59 UTC (rev 23498)
@@ -1,6 +1,7 @@
import bpy
import sys, os
import http, http.client, http.server, urllib, socket
+import webbrowser
from netrender.utils import *
import netrender.client as client
@@ -369,13 +370,13 @@
def execute(self, context):
netsettings = context.scene.network_render
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
- s.settimeout(30)
-
- s.bind(('', 8000))
-
try:
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
+ s.settimeout(30)
+
+ s.bind(('', 8000))
+
buf, address = s.recvfrom(64)
print("received:", buf)
@@ -389,3 +390,34 @@
def invoke(self, context, event):
return self.execute(context)
+
+ at rnaOperator
+class netclientweb(bpy.types.Operator):
+ '''Operator documentation text, will be used for the operator tooltip and python docs.'''
+ __idname__ = "render.netclientweb"
+ __label__ = "Net Render Client Web"
+
+ # List of operator properties, the attributes will be assigned
+ # to the class instance from the operator settings before calling.
+
+ __props__ = []
+
+ def poll(self, context):
+ return True
+
+ def execute(self, context):
+ netsettings = context.scene.network_render
+
+
+ # open connection to make sure server exists
+ conn = clientConnection(context.scene)
+
+ if conn:
+ conn.close()
+
+ webbrowser.open("http://%s:%i" % (netsettings.server_address, netsettings.server_port))
+
+ return ('FINISHED',)
+
+ def invoke(self, context, event):
+ return self.execute(context)
Modified: trunk/blender/release/io/netrender/ui.py
===================================================================
--- trunk/blender/release/io/netrender/ui.py 2009-09-26 16:43:20 UTC (rev 23497)
+++ trunk/blender/release/io/netrender/ui.py 2009-09-26 19:50:59 UTC (rev 23498)
@@ -48,9 +48,6 @@
col = split.column()
- if scene.network_render.mode == "RENDER_CLIENT":
- col.itemO("render.netclientanim", icon='ICON_RENDER_ANIMATION', text="Animaton on network")
-
col.itemR(scene.network_render, "mode")
col.itemR(scene.network_render, "path")
col.itemR(scene.network_render, "server_address")
@@ -60,12 +57,33 @@
col.itemR(scene.network_render, "server_broadcast")
else:
col.itemO("render.netclientscan", icon="ICON_FILE_REFRESH", text="")
+
+ at rnaType
+class SCENE_PT_network_job(RenderButtonsPanel):
+ __label__ = "Job Settings"
+ COMPAT_ENGINES = set(['NET_RENDER'])
+
+ def poll(self, context):
+ scene = context.scene
+ return super().poll(context) and scene.network_render.mode == "RENDER_CLIENT"
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ rd = scene.render_data
- if scene.network_render.mode == "RENDER_CLIENT":
- col.itemO("render.netclientsend", text="send job to server")
- col.itemR(scene.network_render, "job_name")
- col.itemR(scene.network_render, "priority")
- col.itemR(scene.network_render, "chunks")
+ layout.active = True
+
+ split = layout.split()
+
+ col = split.column()
+
+ col.itemO("render.netclientanim", icon='ICON_RENDER_ANIMATION', text="Animaton on network")
+ col.itemO("render.netclientsend", icon="ICON_FILE_BLEND", text="Send job")
+ col.itemO("render.netclientweb", icon="ICON_QUESTION", text="Open Master Monitor")
+ col.itemR(scene.network_render, "job_name")
+ col.itemR(scene.network_render, "priority")
+ col.itemR(scene.network_render, "chunks")
@rnaType
class SCENE_PT_network_slaves(RenderButtonsPanel):
More information about the Bf-blender-cvs
mailing list