Just a quick question concerning QT Generation when a file sequence is not finished and is still rendering.
In the Max submission script you can tell DL to go and make a QT after the job is finished, and it works really well. I have noticed a bit of a different behavior when I am in the DL Monitor and assign a QT job, either via QT or Fusion QT scripts.
The issue is when you set a dependency on a job that is rendering, and has not yet finished the first frame, either due to length of render or because the first task failed on the first try (timeout issue with Fusion). The issue is that you can't use the submission script to render the QT because it gives an error that frame_XXX does not exist.
This seems odd, as in the Max script it places the dependant job in the queue without squawking that the first frame is not done yet.
Is there something wrong with my procedure or is this a bug? Also, are there any plans to have the Fusion comp submission script have the ability to automatically set up the dependant QT render like the Max script does?
The two QT submission methods are really unrelated.
The Max Submission (SMTD) MAXScript submits a Max job and since it knows the output path set in the Render Scene Dialog, it prepares the control files for the QT job and submits it to deadline as dependent to the first one.
The QT Submission in the Monitor is a VB script tool that is meant to turn an existing file sequence into a Quicktime without any knowledge of where the frames came from. Obviously, it expects that the frames exist and attempts to figure out both the MOV filename and the frame range based on the picked frames.
It would be potentially possible to add an option to the Monitor QT Script to pick an existing dependency job AND scan its properties for an output path and frame range. But you should remember the script was written to be a general QT converter for any frames from any application, EVEN if the frames have been rendered outside of Deadline.
I think we could look into adding such an alternative frame picking method to the Monitor submission script, but since I am not responsible for VB scripting, I cannot tell how easy it would be. But I know I could write a MAXScript to pick an existing Max job on Deadline, extract its properties and submit a “companion” QT Job from within Max if it would be of any help to you.
Thanks for the explanation of the maths and logic, that is helpful. I am still a bit fuzzy on the issue though. What I have been doing is selecting a job in the Monitor and then running the QT script. The script does pull the Name, Image Input, Output Name, and Frame Range from the job in the list when run. It also has the Job Dependencies browse option. It just fails if the frames are not yet processed, as you said, it is designed to be sent a group of existing frames from anywhere and by software, manually. The thing is, it does 99% of what it needs to do to work on running job in the Monitor, it just fails at the check for source frame. It seems to me that the dependency option would never be needed in this script, since it expects the frames to be finished, making that option moot (in my case of first frames not yet rendered).
Thanks for the offer on the Maxscript. I don't think I need that, though it would be nice. Since the Max Sub script gives that option at render time we're set there. So a new script would just help for running jobs I forgot to flag for QT generation. If the VBS wizards make any additions to the existing QT Sub scripts, then It would have been a waste of your valuable time to write the Maxscript.
I took a closer look at the VB scripts in question.
The right-click script for running on existing jobs simply calls the general Quicktime submission script found in the Submit menu, but sets a flag ‘isJobScript = True’ to tell it to grab the frame range and the filename from the job.
But the general submission code has a test for the existence of the input images and it performs it regardless of whether the script was run from the Submit menu or from the job’s right-click menu. This is there to prevent the submission of a job with a hand-typed path that does not exist, but does not make sense if the path was entered automatically anyway.
The obvious fix is to add a test to not perform the input filename check when run as Job Script. I will talk to the developers on Monday and see if it there is any reason not to change it that way… I made the change at home by just changing the last line in the function
’ Submits the job to Deadline.
Function SubmitDeadlineJob()
cancel = False
’ Check if input file exist.
sceneFile = dialog.GetValue( “SceneFile” )
If Not FileUtils.FileExists( sceneFile ) Then
to
’ Submits the job to Deadline.
Function SubmitDeadlineJob()
cancel = False
’ Check if input file exist.
sceneFile = dialog.GetValue( “SceneFile” )
If Not isJobScript And Not FileUtils.FileExists( sceneFile ) Then
which skips the scenefile test (which is the input files test) if run as Job Script.