Add kOfxParamPropColourManaged for colour-managed RGB/RGBA params (#158)#245
Open
garyo wants to merge 2 commits into
Open
Add kOfxParamPropColourManaged for colour-managed RGB/RGBA params (#158)#245garyo wants to merge 2 commits into
garyo wants to merge 2 commits into
Conversation
Add kOfxParamPropColourManaged, a boolean parameter property a plug-in can set on an RGB or RGBA parameter to declare that the parameter's values — including its default — are in the ACES2065-1 (AP0) reference colourspace rather than an unmanaged, display-referred encoding. The values are scene-linear and not constrained to [0..1], so a colour-managed host (or any host that supports wide-gamut colours) can interpret and convert them correctly. Plug-ins must check the set status: if the host does not implement the property, they should fall back to old-style colour values. It defaults to 0, so existing plug-ins are unaffected. - include/ofxParam.h: the property with its @propdef metadata (bool, dim 1), plus new ParamsRGB and ParamsRGBA property sets (the colour param types were not previously modelled in the property metadata). - Documentation/sources/Reference/ofxParameter.rst: describe the property in the Colour Parameters section. - release-notes.md: note the addition under 1.5.1. - openfx-cpp/include/openfx/*: regenerated metadata, property sets, and typed accessors (scripts/gen-props.py). Signed-off-by: Gary Oberbrunner <garyo@darkstarsystems.com>
cf241a5 to
e34971a
Compare
Contributor
|
A documentation note was host should save such parameter value(s) in project file in ACES2065-1 so as we increase interoperability between apps, this stays robust. And to be clear if this property is supported, plugin is expected to create default values in ACES2065-1. Of course hard to test right now :) |
Signed-off-by: Gary Oberbrunner <garyo@darkstarsystems.com>
Contributor
Author
|
Thanks for the note, Pierre — added that now (both header and doc). And I note that you can test the colour-conversion lib any time; that's totally standalone, usable by any host or plug-in. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Implements the agreed spec change from #158. Companion to #244 (the
contrib/colourconversion library).What
Adds
kOfxParamPropColourManaged, a boolean parameter property a plug-in can set on an RGB or RGBA parameter to declare that the parameter's values — including its default — are in the ACES2065-1 (AP0) reference colourspace rather than an unmanaged, display-referred encoding. The values are scene-linear and not constrained to[0..1], so a colour-managed host (or any host that supports wide-gamut colours) can interpret and convert them correctly.Plug-ins must check the set status: if the host does not implement the property, they should fall back to old-style colour values. It defaults to
0, so existing plug-ins are unaffected.Changes
include/ofxParam.h: the property with its@propdefmetadata (bool, dim 1), plus newParamsRGBandParamsRGBAproperty sets — the colour param types were not previously modelled in the property metadata system.Documentation/sources/Reference/ofxParameter.rst: describes the property in the Colour Parameters section.release-notes.md: noted under 1.5.1.openfx-cpp/include/openfx/*: regenerated metadata, property sets, and typed accessors viascripts/gen-props.py.Validation
scripts/gen-props.pypasses all checks (metadata present, every prop used in a set).bool/ dimension 1 / default false consistently across the generated metadata and accessors (ParamsRGB::setColourManaged(bool)etc.).Note:
introduced: "1.5.1"to match the current in-progress version; easy to bump to 1.6 if preferred.🤖 Generated with Claude Code