Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caribou nuke pr #5357

Merged
merged 3 commits into from
Jun 27, 2023
Merged

Conversation

lucienfostier
Copy link
Collaborator

@lucienfostier lucienfostier commented Jun 23, 2023

  • GafferImage::OpenImageIOReader: Avoid to throw when computing availableFrames plug value for missing file sequence.

Related issues

  • List any Issues this PR addresses or solves

Dependencies

  • List any other unmerged PRs that thi

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Gaffer project's prevailing coding style and conventions.

@lucienfostier
Copy link
Collaborator Author

@johnhaddon Could you take a look at this PR for CaribouNuke. This is based on a conversation we had a while ago regarding template workflow at IE.
When we dispatch to the farm, we don't have yet a valid file sequence, but CaribouNuke might pull the ImagePlug value to update it's own output image.
That caused an exception to be raised by boost when computing the availableFrames amongst other things.
You suggested to avoid having this exception and instead to set the availableFrames plug to the value of 0 and to build a switch into our pipeline reader to fallback to a Constant node.

@johnhaddon
Copy link
Member

Thanks Lucien - I've pushed a rebase to merge the related commits and hopefully fix the Windows compilation error too. I think this is good to go, but I was surprised to see that we've never actually exposed the availableFrames plug up to the ImageReader itself. Does that mean you're having to access it via the private ImageReader.__oiioReader at the moment? Maybe we should promote it too?

@lucienfostier
Copy link
Collaborator Author

That's a good point, I added a commit to promote the availableFrames plug from OpenImageIOReader to ImageReader.
Can you take another look?

…mes`

This allows a template to handle missing sequences gracefully, in the same way that missing frames might be handled.
We used to disable GafferUSD for Nuke as Nuke and Cortex had
incompatibilities regarding USD.

Since then, we have solved the incompatibilities and GafferUSD
is a useful component when used inside of a Caribou type of workflow
This plug can be used to fallback when no frames are available so it
can be useful to access it from the ImageReader directly.
@johnhaddon
Copy link
Member

I added a commit to promote the availableFrames plug from OpenImageIOReader to ImageReader. Can you take another look?

I've pushed an update that fixes the unwanted serialisation of the internal connection, adds a test for that, and reorders the plug so that it's before all the private plugs. I've also added a widget for it. Will merge when CI goes through.

@johnhaddon johnhaddon merged commit 6e4eae6 into GafferHQ:1.2_maintenance Jun 27, 2023
@lucienfostier
Copy link
Collaborator Author

thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants