Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-06-30 10:08:08 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-06-30 10:08:08 +0400
commit154707492df2629faf65052ad22f77e9dc47d82b (patch)
tree7eff596025afb0b35993b54aa9c3716fc830c3d4 /netrender
parentd406b40b023409ff657c24a6e56e0660d83caddf (diff)
Netrender: enable scripts, drivers
Diffstat (limited to 'netrender')
-rw-r--r--netrender/baking.py17
-rw-r--r--netrender/repath.py18
-rw-r--r--netrender/slave.py16
-rw-r--r--netrender/thumbnail.py13
-rw-r--r--netrender/utils.py34
5 files changed, 86 insertions, 12 deletions
diff --git a/netrender/baking.py b/netrender/baking.py
index 24d32e85..f3a759a4 100644
--- a/netrender/baking.py
+++ b/netrender/baking.py
@@ -21,7 +21,6 @@ import sys, subprocess, re
from netrender.utils import *
-BLENDER_PATH = sys.argv[0]
def commandToTask(command):
i = command.index("|")
@@ -38,9 +37,19 @@ def bake(job, tasks):
task_commands = []
for task in tasks:
task_commands.extend(task)
-
- process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", job_full_path, "-P", __file__, "--"] + task_commands, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-
+
+ process = subprocess.Popen(
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ job_full_path,
+ "-P", __file__,
+ "--",
+ ] + task_commands,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ )
+
return process
result_pattern = re.compile("BAKE FILE\[ ([0-9]+) \]: (.*)")
diff --git a/netrender/repath.py b/netrender/repath.py
index e06b17c5..e39929b4 100644
--- a/netrender/repath.py
+++ b/netrender/repath.py
@@ -25,7 +25,6 @@ DEBUG = False
from netrender.utils import *
-BLENDER_PATH = sys.argv[0]
def reset(job):
main_file = job.files[0]
@@ -60,8 +59,21 @@ def update(job):
paths.append(rfile.filepath)
# Only update if needed
- if paths:
- process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", job_full_path, "-P", __file__, "--", new_path, original_path] + paths, stdout=sys.stdout, stderr=subprocess.STDOUT)
+ if paths:
+ process = subprocess.Popen(
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ job_full_path,
+ "-P", __file__,
+ "--",
+ new_path,
+ original_path,
+ ] + paths,
+ stdout=sys.stdout,
+ stderr=subprocess.STDOUT,
+ )
process.wait()
os.renames(job_full_path, job_full_path + ".bak")
diff --git a/netrender/slave.py b/netrender/slave.py
index bf3819ba..40b62ddf 100644
--- a/netrender/slave.py
+++ b/netrender/slave.py
@@ -29,7 +29,6 @@ import netrender.repath
import netrender.baking
import netrender.thumbnail as thumbnail
-BLENDER_PATH = sys.argv[0]
CANCEL_POLL_SPEED = 2
MAX_TIMEOUT = 10
@@ -225,7 +224,20 @@ def render_slave(engine, netsettings, threads):
frame_args += ["-f", str(frame.number)]
with NoErrorDialogContext():
- process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", job_full_path, "-t", str(threads), "-o", os.path.join(job_prefix, "######"), "-E", job.render, "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ process = subprocess.Popen(
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ job_full_path,
+ "-t", str(threads),
+ "-o", os.path.join(job_prefix, "######"),
+ "-E", job.render,
+ "-F", "MULTILAYER",
+ ] + frame_args,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ )
elif job.subtype == netrender.model.JOB_SUB_BAKING:
tasks = []
diff --git a/netrender/thumbnail.py b/netrender/thumbnail.py
index 8ac05793..4408599e 100644
--- a/netrender/thumbnail.py
+++ b/netrender/thumbnail.py
@@ -23,7 +23,18 @@ import bpy
def generate(filename, external=True):
if external:
- process = subprocess.Popen([sys.argv[0],"-b", "-noaudio", "-P", __file__, "--", filename], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ process = subprocess.Popen(
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ "-P", __file__,
+ "--",
+ filename,
+ ],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ )
while process.poll() is None:
process.stdout.read(1024) # empty buffer to be sure
process.stdout.read()
diff --git a/netrender/utils.py b/netrender/utils.py
index df3f00e4..a9c0cdeb 100644
--- a/netrender/utils.py
+++ b/netrender/utils.py
@@ -359,7 +359,25 @@ def getResults(server_address, server_port, job_id, resolution_x, resolution_y,
filepath = os.path.join(bpy.app.tempdir, "netrender_temp.blend")
bpy.ops.wm.save_as_mainfile(filepath=filepath, copy=True, check_existing=False)
- arguments = [sys.argv[0], "-b", "-noaudio", filepath, "-o", bpy.path.abspath(bpy.context.scene.render.filepath), "-P", __file__] + frame_arguments + ["--", "GetResults", server_address, str(server_port), job_id, str(resolution_x), str(resolution_y), str(resolution_percentage)]
+ arguments = (
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ filepath,
+ "-o", bpy.path.abspath(bpy.context.scene.render.filepath),
+ "-P", __file__,
+ ] + frame_arguments +
+ ["--",
+ "GetResults",
+ server_address,
+ str(server_port),
+ job_id,
+ str(resolution_x),
+ str(resolution_y),
+ str(resolution_percentage),
+ ]
+ )
if bpy.app.debug:
print("Starting subprocess:")
print(" ".join(arguments))
@@ -402,7 +420,19 @@ def _getResults(server_address, server_port, job_id, resolution_x, resolution_y,
def getFileInfo(filepath, infos):
- process = subprocess.Popen([sys.argv[0], "-b", "-noaudio", filepath, "-P", __file__, "--", "FileInfo"] + infos, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ process = subprocess.Popen(
+ [bpy.app.binary_path,
+ "-b",
+ "-y",
+ "-noaudio",
+ filepath,
+ "-P", __file__,
+ "--",
+ "FileInfo",
+ ] + infos,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ )
stdout = bytes()
while process.poll() is None:
stdout += process.stdout.read(1024)