Adsk Contrib - Add the ability to serialize temporary displays #2181
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a new display is instantiated from a virtual display (for ICC profile support), the display is marked "temporary" so that it is not written if the config is serialized. This is because displays from ICC profiles are typically specific to a given workstation at a particular point in time and should not be made available for use by others.
However, now that OpenFX has OCIO support, a host application may need to serialize a config to share it with a plug-in and in this specialized situation it does make sense to serialize displays from ICC profiles.
To do this, pass "false" to the new setDisplayTemporary function on the Config class and the display, and its associated display color space, will be serialized.
The new function requires the integer index for the display. If this is not known, you may either iterate over the displays calling Config::isDisplayTemporary, or search for the index for a display name using:
int idx = config->getDisplayAllByName(displayName);