-
Notifications
You must be signed in to change notification settings - Fork 8
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
Support new flipbook node for reviews #167
base: develop
Are you sure you want to change the base?
Support new flipbook node for reviews #167
Conversation
Should this PR adds support for publishing reviews from LOPs? |
I'd say that yes, we should fix that... but it doesn't need to be part of this PR. Instead I see that irrelevant to this because it's already relevant to the OpenGL ROP too. I thought we had an issue for that, but I can't find it 🤦 |
We have this one #23 |
…t-new-flipbook-node-for-reviews
Let's see if we can get this one #148 merged first - so that this PR is slightly simplified and works with the changes made there. |
I slightly tested on the PR and find out that it's not working for the elder version of Houdini. Shall we introduce the condition so that users would know it only supports for Houdini 20.5? Or we can do it with some scripts in elder version? |
We could enforce the
No please. That flipbook would just be the |
…t-new-flipbook-node-for-reviews
default_factory=list, | ||
) | ||
node_type: str = SettingsField( | ||
Title="Default Node Type", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the capital T
;)
Title="Default Node Type", | |
title="Default Node Type", |
self.node_type = pre_create_data.get("node_type") | ||
hou_version = hou.applicationVersionString() | ||
if self.node_type == "flipbook" and not hou_version.startswith("20.5"): | ||
self.log.debug("The Flipbook node type isn't supported in Houdini versions below 20.5." | ||
" Switching to the OpenGL node type instead.") | ||
self.node_type = "opengl" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's remove this here - and just keep the flipbook
entry out of the Enum
? if houdini < 20.5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we should not be updating the self.node_type
value - it makes no sense to change the class attribute from here.
node_type_enum = [ | ||
"opengl", "flipbook" | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
node_type_enum = [ | |
"opengl", "flipbook" | |
] | |
node_type_enum = ["opengl"] | |
if hou.applicationVersion() >= (20, 5, 0): | |
node_type_enum.append("flipbook") |
|
||
order = pyblish.api.ExtractorOrder - 0.01 | ||
label = "Extract OpenGL" | ||
label = "Extract Review (OpenGL & Flipbook)" | ||
families = ["rop.opengl"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too sure about both these node types going through rop.opengl
family - they should each get their own family so that we could potentially still target just one of the two if we get to any specific validations down the line. Not critical for this PR - but worth a low prio backlog issue.
"is not an OpenGl node.".format(rop_node.path())) | ||
return | ||
|
||
super(ExtractOpenGLAndFlipbook, self).process(instance) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
super(ExtractOpenGLAndFlipbook, self).process(instance) | |
super().process(instance) |
# This plugin is triggered when marking render as reviewable. | ||
# Therefore, this plugin will run on over wrong instances. | ||
# TODO: Don't run this plugin on wrong instances. | ||
# This plugin should run only on review product type | ||
# with instance node of opengl type. | ||
if rop_node.type().name() not in {"opengl", "flipbook"}: | ||
self.log.debug("Skipping Validation. Rop node {} " | ||
"is not an `opengl` or `flipbook` node.".format(rop_node.path())) | ||
return |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this needed? This is not the case anymore right? Now it triggers on rop.opengl
family?
Changelog Description
resolve #85
This PR enhances the current review plugins to add support for the new flipbook node.
Additional Info
Flipbook node behaves a lot similar to opengl node.
one interesting change is the
Color Correction
setting which can choose (color space
) or (display
andview
).which may change a bit the color space validation and collection to properly support the flipbook node.
Testing notes:
Review
creator