option to render pause, outro from after effects

This commit is contained in:
derchris 2018-05-06 04:52:27 +02:00
parent 95d29ecb03
commit a97e4272b6

View file

@ -40,6 +40,14 @@ parser.add_argument('--id', dest='ids', nargs='+', action="store", type=int, hel
Usage: ./make-adobe-after-effects.py yourproject/ --id 4711 0815 4223 1337
''')
parser.add_argument('--pause', action="store_true", default=False, help='''
Render a pause loop from the pause.aep file in the project folder.
''')
parser.add_argument('--outro', action="store_true", default=False, help='''
Render outro from the outro.aep file in the project folder.
''')
args = parser.parse_args()
def headline(str):
@ -56,8 +64,8 @@ def error(str):
if not args.project:
error("The Path to your project with After Effect Files is a required argument")
if not args.debug and not args.schedule:
error("Either specify --debug or supply a schedule")
if not args.debug and not args.pause and not args.outro and not args.schedule:
error("Either specify --debug, --pause, --outro or supply a schedule")
if args.debug:
persons = ['watz']
@ -70,6 +78,18 @@ if args.debug:
'room': 'Heisenberg 1',
}]
elif args.pause:
events = [{
'id': 'pause',
'title': 'Pause Loop',
}]
elif args.outro:
events = [{
'id': 'outro',
'title': 'Outro',
}]
else:
events = list(renderlib.events(args.schedule))
@ -108,6 +128,13 @@ def enqueue_job(event):
ascript_doc = os.path.join(tempdir.name, event_id+'.scpt')
intermediate_clip = os.path.join(tempdir.name, event_id+'.mov')
if event_id == 'pause' or event_id =='outro':
copyfile(args.project+event_id+'.aep',work_doc)
run('/Applications/Adobe\ After\ Effects\ CC\ 2018/aerender -project {jobpath} -comp {comp} -output {locationpath}',
jobpath=work_doc,
comp=event_id,
locationpath=intermediate_clip)
else:
with open(args.project+'intro.jsx', 'r') as fp:
scriptstr = fp.read()
@ -141,13 +168,23 @@ def finalize_job(job_id, event):
input=intermediate_clip,
output=final_clip)
if event_id == 'pause' or event_id == 'outro':
event_print(event, "finalized "+str(event_id)+" to "+final_clip)
else:
event_print(event, "finalized intro to "+final_clip)
if args.ids:
if len(args.ids) == 1:
print("enqueuing {} job into aerender".format(len(args.ids)))
else:
print("enqueuing {} jobs into aerender".format(len(args.ids)))
else:
if len(events) == 1:
print("enqueuing {} job into aerender".format(len(events)))
else:
print("enqueuing {} jobs into aerender".format(len(events)))
for event in events:
if args.ids and event['id'] not in args.ids:
continue