diff --git a/src/engines/aerender/aerender_engine.py b/src/engines/aerender/aerender_engine.py
index b16f100..24f330c 100644
--- a/src/engines/aerender/aerender_engine.py
+++ b/src/engines/aerender/aerender_engine.py
@@ -59,6 +59,15 @@ class AERender(BaseRenderEngine):
# todo: create implementation
return []
+ def ui_options(self, project_info):
+ from src.engines.aerender.aerender_ui import AERenderUI
+ return AERenderUI.get_options(self, project_info)
+
+ @classmethod
+ def worker_class(cls):
+ from src.engines.aerender.aerender_worker import AERenderWorker
+ return AERenderWorker
+
if __name__ == "__main__":
x = AERender().get_project_info('/Users/brett/ae_testing/project.aepx')
diff --git a/src/engines/aerender/aerender_ui.py b/src/engines/aerender/aerender_ui.py
new file mode 100644
index 0000000..efc7dce
--- /dev/null
+++ b/src/engines/aerender/aerender_ui.py
@@ -0,0 +1,8 @@
+
+class AERenderUI:
+ @staticmethod
+ def get_options(instance, project_info):
+ options = [
+ {'name': 'comp', 'options': project_info.get('comp_names', [])}
+ ]
+ return options
\ No newline at end of file
diff --git a/src/engines/aerender/aerender_worker.py b/src/engines/aerender/aerender_worker.py
index 784c5a6..7797ab8 100644
--- a/src/engines/aerender/aerender_worker.py
+++ b/src/engines/aerender/aerender_worker.py
@@ -71,7 +71,7 @@ class AERenderWorker(BaseRenderWorker):
self.total_frames = timecode_to_frames(duration_string.split('Duration:')[-1], float(frame_rate))
match = re.match(r'PROGRESS:.*\((?P\d+)\): (?P