-
Notifications
You must be signed in to change notification settings - Fork 2
OCIO generator improvements #46
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
base: develop
Are you sure you want to change the base?
Conversation
Updates the OCIO config generator to support multiple displays and improve target view space handling. Introduces dedicated methods for managing displays, enhancing flexibility. Modifies how target view spaces are configured to handle both OCIO v1 and v2 configurations. Ensures proper display list and active display settings are set. Updates default data and working space.
Removes the `test` command from the available options displayed in the default function. This command is no longer needed or relevant.
Simplifies the assignment of display views within the OCIO configuration generator. It clarifies the logic for adding display views, removing redundant conditional checks based on OCIO config versions. The `addDisplayView` method arguments are now passed as named arguments.
| """ | ||
| for arg in args: | ||
| if isinstance(arg, list): | ||
| self.append_displays(*arg) |
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 not just?
| self.append_displays(*arg) | |
| self._displays.extend(*arg) |
| "--colorconfig", | ||
| self._dest_path, | ||
| (f'--ociolook:from="{self.working_space}"' f':to="{self.working_space}"'), | ||
| (f'--ociolook:from="{self.working_space}"' f':to="{self.data_space}"'), |
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.
| (f'--ociolook:from="{self.working_space}"' f':to="{self.data_space}"'), | |
| f'--ociolook:from="{self.working_space}"' f':to="{self.data_space}"', |
| self.data_space = data_space or "lin_ap0" | ||
| self.working_space = working_space or "lin_ap1" | ||
|
|
||
| if all([target_view, target_display]): |
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.
| if all([target_view, target_display]): | |
| if target_view and target_display: |
|
just chiming in to say that the CI test here fail because our source for |
Changelog Description
Enhanced OCIO (OpenColorIO) configuration generator with improved color space management and display/view control. This update introduces separate data and working color space handling, adds granular display/view configuration options, and modernizes Python type annotations. The changes enable more precise color management workflows for VFX pipelines by separating linear AP0 data space from linear AP1 working space and providing better control over target displays and views.
Additional info
Key Technical Improvements:
data_space(default: lin_ap0) andworking_space(default: lin_ap1) for better ACES compliancetarget_displayandtarget_viewparameters allow precise control over OCIO display configurationstarget_colorspaceparameterset_displays(),append_displays(), andclear_displays()methods for programmatic display controlOptional[type]totype | NonePython 3.10+ syntaxThe refactoring maintains backward compatibility while providing more granular control over color pipeline configuration, essential for modern VFX workflows requiring ACES-compliant color management.
Testing notes:
target_displayandtarget_viewparameterstarget_colorspacefallback when display/view pairs are not specifiedset_displays,append_displays) for programmatic control