mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 08:48:13 +00:00
Fix generate_worker_subprocess in aerender_worker.py
This commit is contained in:
@@ -9,28 +9,16 @@ import time
|
|||||||
from src.engines.core.base_worker import BaseRenderWorker, timecode_to_frames
|
from src.engines.core.base_worker import BaseRenderWorker, timecode_to_frames
|
||||||
from src.engines.aerender.aerender_engine import AERender
|
from src.engines.aerender.aerender_engine import AERender
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
def aerender_path():
|
|
||||||
paths = glob.glob('/Applications/*After Effects*/aerender')
|
|
||||||
if len(paths) > 1:
|
|
||||||
logging.warning('Multiple After Effects installations detected')
|
|
||||||
elif not paths:
|
|
||||||
logging.error('After Effects installation not found')
|
|
||||||
else:
|
|
||||||
return paths[0]
|
|
||||||
|
|
||||||
|
|
||||||
class AERenderWorker(BaseRenderWorker):
|
class AERenderWorker(BaseRenderWorker):
|
||||||
|
|
||||||
engine = AERender
|
engine = AERender
|
||||||
|
|
||||||
def __init__(self, input_path, output_path, args=None, parent=None, name=None):
|
def __init__(self, input_path, output_path, engine_path, args=None, parent=None, name=None):
|
||||||
super(AERenderWorker, self).__init__(input_path=input_path, output_path=output_path, args=args,
|
super(AERenderWorker, self).__init__(input_path=input_path, output_path=output_path, engine_path=engine_path,
|
||||||
parent=parent, name=name)
|
args=args, parent=parent, name=name)
|
||||||
|
|
||||||
self.comp = args.get('comp', None)
|
|
||||||
self.render_settings = args.get('render_settings', None)
|
|
||||||
self.omsettings = args.get('omsettings', None)
|
|
||||||
|
|
||||||
self.progress = 0
|
self.progress = 0
|
||||||
self.progress_history = []
|
self.progress_history = []
|
||||||
@@ -38,42 +26,13 @@ class AERenderWorker(BaseRenderWorker):
|
|||||||
|
|
||||||
def generate_worker_subprocess(self):
|
def generate_worker_subprocess(self):
|
||||||
|
|
||||||
if os.path.exists('nexrender-cli-macos'):
|
comp = self.args.get('comp', 'Comp 1')
|
||||||
logging.info('nexrender found')
|
render_settings = self.args.get('render_settings', None)
|
||||||
# {
|
omsettings = self.args.get('omsettings', None)
|
||||||
# "template": {
|
|
||||||
# "src": String,
|
command = [self.renderer_path, '-project', self.input_path, '-comp', comp, '-RStemplate',
|
||||||
# "composition": String,
|
render_settings, '-OMtemplate', omsettings, '-output', self.output_path]
|
||||||
#
|
return command
|
||||||
# "frameStart": Number,
|
|
||||||
# "frameEnd": Number,
|
|
||||||
# "frameIncrement": Number,
|
|
||||||
#
|
|
||||||
# "continueOnMissing": Boolean,
|
|
||||||
# "settingsTemplate": String,
|
|
||||||
# "outputModule": String,
|
|
||||||
# "outputExt": String,
|
|
||||||
# },
|
|
||||||
# "assets": [],
|
|
||||||
# "actions": {
|
|
||||||
# "prerender": [],
|
|
||||||
# "postrender": [],
|
|
||||||
# },
|
|
||||||
# "onChange": Function,
|
|
||||||
# "onRenderProgress": Function
|
|
||||||
# }
|
|
||||||
job = {'template':
|
|
||||||
{
|
|
||||||
'src': 'file://' + self.input_path, 'composition': self.comp.replace('"', ''),
|
|
||||||
'settingsTemplate': self.render_settings.replace('"', ''),
|
|
||||||
'outputModule': self.omsettings.replace('"', ''), 'outputExt': 'mov'}
|
|
||||||
}
|
|
||||||
x = ['./nexrender-cli-macos', "'{}'".format(json.dumps(job))]
|
|
||||||
else:
|
|
||||||
logging.info('nexrender not found')
|
|
||||||
x = [aerender_path(), '-project', self.input_path, '-comp', self.comp, '-RStemplate', self.render_settings,
|
|
||||||
'-OMtemplate', self.omsettings, '-output', self.output_path]
|
|
||||||
return x
|
|
||||||
|
|
||||||
def _parse_stdout(self, line):
|
def _parse_stdout(self, line):
|
||||||
|
|
||||||
@@ -127,8 +86,10 @@ class AERenderWorker(BaseRenderWorker):
|
|||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S', level=logging.DEBUG)
|
logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S', level=logging.DEBUG)
|
||||||
|
|
||||||
r = AERenderWorker('/Users/brett/Desktop/Youtube_Vids/Film_Formats/Frame_Animations.aep', '"Film Pan"',
|
r = AERenderWorker(input_path='/Users/brett/Desktop/tc_title.aep',
|
||||||
'"Draft Settings"', '"ProRes"', '/Users/brett/Desktop/test_render')
|
output_path='/Users/brett/Desktop/testing_output/tc_title.mp4',
|
||||||
|
engine_path=AERenderWorker.engine.default_renderer_path())
|
||||||
|
|
||||||
r.start()
|
r.start()
|
||||||
while r.is_running():
|
while r.is_running():
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ class BlenderRenderWorker(BaseRenderWorker):
|
|||||||
engine = Blender
|
engine = Blender
|
||||||
|
|
||||||
def __init__(self, input_path, output_path, engine_path, args=None, parent=None, name=None):
|
def __init__(self, input_path, output_path, engine_path, args=None, parent=None, name=None):
|
||||||
super(BlenderRenderWorker, self).__init__(input_path=input_path, output_path=output_path, engine_path=engine_path, args=args, parent=parent, name=name)
|
super(BlenderRenderWorker, self).__init__(input_path=input_path, output_path=output_path,
|
||||||
|
engine_path=engine_path, args=args, parent=parent, name=name)
|
||||||
|
|
||||||
# Stats
|
# Stats
|
||||||
self.__frame_percent_complete = 0.0
|
self.__frame_percent_complete = 0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user