AWS Thinkbox Discussion Forums

Shotgun event plugin and frame padding

Hi,

as suggested by Dwight i’m continuing this issue/discussion in the beta forums now. It’s coming from this thread:

http://forums.thinkboxsoftware.com/viewtopic.php?f=11&t=13467

It’s about the newly-introduced notation for the frame padding in the shotgun plugin - namely the ‘%0#d’ variant.
What’s wrong with the current implementation (7.2.0.10) in my opinion is that it doesn’t allow for enough flexibility.

E.g. when using ‘%04d’ as the string for the frame padding character it will always use exactly this no matter if the sequence is actually using 5 digits or 4 or 7. So when rendering a frame sequence with 6 digits padding the ‘path to frames’ in shotgun would be ‘/path/to/frames.%04d.jpg’ instead of ‘/path/to/frames.%06d.jpg’ and thus other applications won’t find the files when reading the path from shotgun. It would be great if Deadline checks for the actual padding used and then write the string into shogun’s ‘path to frames’ accordingly.
If i’m not completely mistaken this already works when using the ‘#’ character in the shotgun event config. When we create version from the 3dsMax submitter they’re path reads ‘/path/to/frames.####.exr’ and when submitting from Nuke it reads /path/to/frames.#######.dpx’.
As an additional note: i was originally confused about how exactly to enter the string in the config and tried entering ‘%0#d’ first as i assumed this would then replace the # with the appropriate number of digits. Instead, it entered a path like this: ‘/path/to/frames.%0#d%0#d%0#d%0#d%0#d.jpg’.

Let me know if you have any further questions.

Cheers,
Holger

Hey Holger.

We ran into this problem early on so I actually set up a custom Job script that would actually convert to an RV friendly path and open RV through the command line. Here’s the guts of how it worked:

[code]outputFilename = JobUtils.GetOutputFilename( 0, 0 )

FramesList = JobUtils.GetCurrentJobValue( 0, “FramesList” )
index = FramesList.find(’-’)
startFrame = int(FramesList[:index])
endFrame = int(FramesList[index + 1:])

fileType = outputFilename[outputFilename.rfind(’.’):]
if fileType == “.jpg”:
fileType = fileType.upper()
#RV needs jpg to be capitals.

outputFilename = outputFilename[:outputFilename.rfind(’’)] + "" + str(startFrame) + “-” + str(endFrame) + “@@@@@” + fileType

subprocess.Popen([“rv”, outputFilename])[/code]

It was a little specific to our use. For instance the 5 character padding was hard coded to always be after the last underscore in the path, because that’s how our naming convention works. But that can be changed to something more flexible I’m sure.

It also reads the frame range from the Deadline job to make an RV path, so if you have extra frames (from a previous render) RV will know to ignore them when it opens. Also I don’t know if this is a universal problem but RV wouldn’t open our frames if ‘jpg’ was lower case so we included that fix as part of the script.

Here’s a sample of what the path might look like after translation:

“C:/Path/to/frames/FrameName_12-151@@@@@.JPG”

Hope this helps!

Hi Gary,

thanks for the script. I was thinking of doing something similar.
But to work around this current limitation is actually something i’d like to avoid. Specifically the hard-coded number of digits is what makes it not work the way it is right now. If i were sure that we always have a padding of 5 digits it’d be possible to enter ‘%05d’ in the Deadline config. But i’d like Deadline to recognize the amount of digits used and then enter the path as ‘%04d’, ‘%06d’ or whatever accordingly and fully automatic.
I’m still hoping there will be an ‘official’ solution for this.

Cheers,
Holger

P.S.:

this can’t be serious. really?! i’m speechless… :wink:

Yeah an inbuilt solution is always better. We’ll likely have to transition the script to a more open solution when we add another production to the system. Just thought this may have been helpful in the mean time.

And yes! We had RV flat out rejecting file paths we fed it. I changed to using JPG on a whim, and it worked. We’ve had no problem since, but that may be confirmation bias since we haven’t tried to test lowercase since February.

Hi Holger,
What your requesting seems reasonable. I will test out some solutions and see if we can make it work for you. Thanks for the suggestion. And thanks Gary for the sample code. I’ll follow up shortly.

Hi Conrad,

thanks for taking care of it. Looking forward to the solution!

Cheers,
Holger

Thanks again for the suggestion. We will be adding this functionality (using %0#d) shortly.

Hi Conrad,

thanks! It seems this is implemented in the 7.2.0.14 beta. I’ll try this out.
Unfortunately, it seems there’s something broken with this build in regards to the shotgun submission. At the moment there are no versions being submitted to shotgun neither from our Nuke nor from the 3ds Max submissions. I have no idea why this is (not) happening, we haven’t changed anything in our workflow here. Is it possible this broke accidentally in 7.2.0.14?

Cheers,
Holger

Privacy | Site terms | Cookie preferences