From a2785400ac297e86e99b551a4ea507aebf8da43e Mon Sep 17 00:00:00 2001 From: Brett Williams Date: Sat, 3 Aug 2024 20:45:43 -0500 Subject: [PATCH] Fix generate_worker_subprocess in aerender_worker.py --- src/engines/aerender/aerender_worker.py | 69 ++++++------------------- src/engines/blender/blender_worker.py | 3 +- 2 files changed, 17 insertions(+), 55 deletions(-) diff --git a/src/engines/aerender/aerender_worker.py b/src/engines/aerender/aerender_worker.py index 76802c8..e6c4a7b 100644 --- a/src/engines/aerender/aerender_worker.py +++ b/src/engines/aerender/aerender_worker.py @@ -9,28 +9,16 @@ import time from src.engines.core.base_worker import BaseRenderWorker, timecode_to_frames from src.engines.aerender.aerender_engine import AERender - -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] +logger = logging.getLogger() class AERenderWorker(BaseRenderWorker): engine = AERender - def __init__(self, input_path, output_path, args=None, parent=None, name=None): - super(AERenderWorker, self).__init__(input_path=input_path, output_path=output_path, 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) + 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, engine_path=engine_path, + args=args, parent=parent, name=name) self.progress = 0 self.progress_history = [] @@ -38,42 +26,13 @@ class AERenderWorker(BaseRenderWorker): def generate_worker_subprocess(self): - if os.path.exists('nexrender-cli-macos'): - logging.info('nexrender found') - # { - # "template": { - # "src": String, - # "composition": String, - # - # "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 + comp = self.args.get('comp', 'Comp 1') + render_settings = self.args.get('render_settings', None) + omsettings = self.args.get('omsettings', None) + + command = [self.renderer_path, '-project', self.input_path, '-comp', comp, '-RStemplate', + render_settings, '-OMtemplate', omsettings, '-output', self.output_path] + return command def _parse_stdout(self, line): @@ -127,8 +86,10 @@ class AERenderWorker(BaseRenderWorker): if __name__ == '__main__': 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"', - '"Draft Settings"', '"ProRes"', '/Users/brett/Desktop/test_render') + r = AERenderWorker(input_path='/Users/brett/Desktop/tc_title.aep', + output_path='/Users/brett/Desktop/testing_output/tc_title.mp4', + engine_path=AERenderWorker.engine.default_renderer_path()) + r.start() while r.is_running(): time.sleep(0.1) diff --git a/src/engines/blender/blender_worker.py b/src/engines/blender/blender_worker.py index 1a5db5e..54a6e72 100644 --- a/src/engines/blender/blender_worker.py +++ b/src/engines/blender/blender_worker.py @@ -12,7 +12,8 @@ class BlenderRenderWorker(BaseRenderWorker): engine = Blender 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 self.__frame_percent_complete = 0.0