diff --git a/Documentation/sources/Reference/ofxPropertiesReferenceGenerated.rst b/Documentation/sources/Reference/ofxPropertiesReferenceGenerated.rst index de6efd31..24bd9e45 100644 --- a/Documentation/sources/Reference/ofxPropertiesReferenceGenerated.rst +++ b/Documentation/sources/Reference/ofxPropertiesReferenceGenerated.rst @@ -462,6 +462,18 @@ Integer (Boolean) Properties - **Used in Property Sets**: :ref:`ParamDouble1D ` (plugin), :ref:`ParamsByte ` (plugin), :ref:`ParamsChoice ` (plugin), :ref:`ParamsCustom ` (plugin), :ref:`ParamsDouble2D3D ` (plugin), :ref:`ParamsInt2D3D ` (plugin), :ref:`ParamsNormalizedSpatial ` (plugin), :ref:`ParamsParametric ` (plugin), :ref:`ParamsParametric ` (plugin), :ref:`ParamsStrChoice ` (plugin), :ref:`ParamsString ` (plugin) - **Doc**: For detailed doc, see :c:macro:`kOfxParamPropEvaluateOnChange`. +.. _prop_OfxParamPropGroupIsTab: + +**OfxParamPropGroupIsTab** +^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxParamPropGroupIsTab` +- **Type**: bool +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ParamsGroup ` (plugin) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxParamPropGroupIsTab`. + .. _prop_OfxParamPropGroupOpen: **OfxParamPropGroupOpen** @@ -1650,6 +1662,30 @@ Integer Properties - **Used in Property Sets**: :ref:`ParamDouble1D ` (plugin), :ref:`ParamsByte ` (plugin), :ref:`ParamsChoice ` (plugin), :ref:`ParamsCustom ` (plugin), :ref:`ParamsDouble2D3D ` (plugin), :ref:`ParamsInt2D3D ` (plugin), :ref:`ParamsNormalizedSpatial ` (plugin), :ref:`ParamsParametric ` (plugin), :ref:`ParamsStrChoice ` (plugin), :ref:`ParamsString ` (plugin) - **Doc**: For detailed doc, see :c:macro:`kOfxParamPropInteractPreferedSize`. +.. _prop_OfxParamPropLayoutHint: + +**OfxParamPropLayoutHint** +^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxParamPropLayoutHint` +- **Type**: int +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ParamDouble1D ` (plugin), :ref:`ParamsByte ` (plugin), :ref:`ParamsChoice ` (plugin), :ref:`ParamsCustom ` (plugin), :ref:`ParamsDouble2D3D ` (plugin), :ref:`ParamsGroup ` (plugin), :ref:`ParamsInt2D3D ` (plugin), :ref:`ParamsNormalizedSpatial ` (plugin), :ref:`ParamsPage ` (plugin), :ref:`ParamsParametric ` (plugin), :ref:`ParamsStrChoice ` (plugin), :ref:`ParamsString ` (plugin) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxParamPropLayoutHint`. + +.. _prop_OfxParamPropLayoutPadWidth: + +**OfxParamPropLayoutPadWidth** +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxParamPropLayoutPadWidth` +- **Type**: int +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ParamDouble1D ` (plugin), :ref:`ParamsByte ` (plugin), :ref:`ParamsChoice ` (plugin), :ref:`ParamsCustom ` (plugin), :ref:`ParamsDouble2D3D ` (plugin), :ref:`ParamsGroup ` (plugin), :ref:`ParamsInt2D3D ` (plugin), :ref:`ParamsNormalizedSpatial ` (plugin), :ref:`ParamsPage ` (plugin), :ref:`ParamsParametric ` (plugin), :ref:`ParamsStrChoice ` (plugin), :ref:`ParamsString ` (plugin) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxParamPropLayoutPadWidth`. + .. _prop_OfxParamPropMax: **OfxParamPropMax** @@ -1694,6 +1730,30 @@ Integer Properties - **Used in Property Sets**: :ref:`ImageEffectHost ` (host) - **Doc**: For detailed doc, see :c:macro:`kOfxPropAPIVersion`. +.. _prop_OfxPropHostMajorVersion: + +**OfxPropHostMajorVersion** +^^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxPropHostMajorVersion` +- **Type**: int +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ImageEffectHost ` (host) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxPropHostMajorVersion`. + +.. _prop_OfxPropHostMinorVersion: + +**OfxPropHostMinorVersion** +^^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxPropHostMinorVersion` +- **Type**: int +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ImageEffectHost ` (host) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxPropHostMinorVersion`. + .. _prop_OfxPropVersion: **OfxPropVersion** @@ -2168,6 +2228,30 @@ String Properties - **Used in Property Sets**: :ref:`ParameterSet ` (plugin) - **Doc**: For detailed doc, see :c:macro:`kOfxPluginPropParamPageOrder`. +.. _prop_OfxPropHostBuildVersion: + +**OfxPropHostBuildVersion** +^^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxPropHostBuildVersion` +- **Type**: string +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ImageEffectHost ` (host) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxPropHostBuildVersion`. + +.. _prop_OfxPropHostProductTitle: + +**OfxPropHostProductTitle** +^^^^^^^^^^^^^^^^^^^^^^^ + +- **C #define**: :c:macro:`kOfxPropHostProductTitle` +- **Type**: string +- **Dimension**: 1 +- **Used in Property Sets**: :ref:`ImageEffectHost ` (host) +- **Introduced in**: version 1.6 +- **Doc**: For detailed doc, see :c:macro:`kOfxPropHostProductTitle`. + .. _prop_OfxPropIcon: **OfxPropIcon** diff --git a/Documentation/sources/Reference/ofxPropertySetsGenerated.rst b/Documentation/sources/Reference/ofxPropertySetsGenerated.rst index 08e50492..4da11f97 100644 --- a/Documentation/sources/Reference/ofxPropertySetsGenerated.rst +++ b/Documentation/sources/Reference/ofxPropertySetsGenerated.rst @@ -227,7 +227,11 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamHostPropSupportsStrChoiceAnimation ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamHostPropSupportsStrChoiceAnimation`) - :ref:`OfxParamHostPropSupportsStringAnimation ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamHostPropSupportsStringAnimation`) - :ref:`OfxPropAPIVersion ` - Type: int, Dimension: Variable (doc: :c:macro:`kOfxPropAPIVersion`) +- :ref:`OfxPropHostBuildVersion ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxPropHostBuildVersion`) +- :ref:`OfxPropHostMajorVersion ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxPropHostMajorVersion`) +- :ref:`OfxPropHostMinorVersion ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxPropHostMinorVersion`) - :ref:`OfxPropHostOSHandle ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxPropHostOSHandle`) +- :ref:`OfxPropHostProductTitle ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxPropHostProductTitle`) - :ref:`OfxPropLabel ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxPropLabel`) - :ref:`OfxPropName ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxPropName`) - :ref:`OfxPropType ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxPropType`) @@ -294,6 +298,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) @@ -350,6 +356,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) @@ -393,6 +401,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) - :ref:`OfxParamPropPersistant ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPersistant`) - :ref:`OfxParamPropPluginMayWrite ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPluginMayWrite`) @@ -433,6 +443,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) - :ref:`OfxParamPropPersistant ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPersistant`) - :ref:`OfxParamPropPluginMayWrite ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPluginMayWrite`) @@ -477,6 +489,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) @@ -504,8 +518,11 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropDataPtr ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropDataPtr`) - :ref:`OfxParamPropEnabled ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropEnabled`) +- :ref:`OfxParamPropGroupIsTab ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropGroupIsTab`) - :ref:`OfxParamPropGroupOpen ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropGroupOpen`) - :ref:`OfxParamPropHint ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropHint`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) - :ref:`OfxParamPropScriptName ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropScriptName`) - :ref:`OfxParamPropSecret ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropSecret`) @@ -545,6 +562,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) @@ -591,6 +610,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) @@ -619,6 +640,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropDataPtr ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropDataPtr`) - :ref:`OfxParamPropEnabled ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropEnabled`) - :ref:`OfxParamPropHint ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropHint`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropPageChild ` - Type: string, Dimension: Variable (doc: :c:macro:`kOfxParamPropPageChild`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) - :ref:`OfxParamPropScriptName ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropScriptName`) @@ -662,6 +685,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropParametricDimension ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropParametricDimension`) - :ref:`OfxParamPropParametricInteractBackground ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropParametricInteractBackground`) - :ref:`OfxParamPropParametricRange ` - Type: double, Dimension: 2 (doc: :c:macro:`kOfxParamPropParametricRange`) @@ -709,6 +734,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) - :ref:`OfxParamPropPersistant ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPersistant`) - :ref:`OfxParamPropPluginMayWrite ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropPluginMayWrite`) @@ -750,6 +777,8 @@ These property sets represent collections of properties associated with various - :ref:`OfxParamPropInteractV1 ` - Type: pointer, Dimension: 1 (doc: :c:macro:`kOfxParamPropInteractV1`) - :ref:`OfxParamPropIsAnimating ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAnimating`) - :ref:`OfxParamPropIsAutoKeying ` - Type: bool, Dimension: 1 (doc: :c:macro:`kOfxParamPropIsAutoKeying`) +- :ref:`OfxParamPropLayoutHint ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutHint`) +- :ref:`OfxParamPropLayoutPadWidth ` - Type: int, Dimension: 1 (doc: :c:macro:`kOfxParamPropLayoutPadWidth`) - :ref:`OfxParamPropMax ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMax`) - :ref:`OfxParamPropMin ` - Type: int/double, Dimension: Variable (doc: :c:macro:`kOfxParamPropMin`) - :ref:`OfxParamPropParent ` - Type: string, Dimension: 1 (doc: :c:macro:`kOfxParamPropParent`) diff --git a/include/ofxCore.h b/include/ofxCore.h index 119d4d49..7d26f587 100644 --- a/include/ofxCore.h +++ b/include/ofxCore.h @@ -876,6 +876,44 @@ Some plug-in vendor want raw OS specific handles back from the host so they can */ #define kOfxPropHostOSHandle "OfxPropHostOSHandle" +/** @brief The displayed name of the host product. + + @propdef + type: string + dimension: 1 + introduced: "1.6" +*/ +#define kOfxPropHostProductTitle "OfxPropHostProductTitle" + +/** @brief The major version of the host product. + + - Valid Values - positive integers + @propdef + type: int + dimension: 1 + introduced: "1.6" +*/ +#define kOfxPropHostMajorVersion "OfxPropHostMajorVersion" + +/** @brief The minor version of the host product. + + - Valid Values - positive integers + @propdef + type: int + dimension: 1 + introduced: "1.6" +*/ +#define kOfxPropHostMinorVersion "OfxPropHostMinorVersion" + +/** @brief The build version of the host product. + + @propdef + type: string + dimension: 1 + introduced: "1.6" +*/ +#define kOfxPropHostBuildVersion "OfxPropHostBuildVersion" + /*@}*/ /*@}*/ @@ -1050,6 +1088,19 @@ General status codes start at 1 and continue until 999 } #endif +/** @propsetdef HostCommon + - OfxPropAPIVersion + - OfxPropType + - OfxPropName + - OfxPropLabel + - OfxPropVersion + - OfxPropVersionLabel + - OfxPropHostProductTitle + - OfxPropHostMajorVersion + - OfxPropHostMinorVersion + - OfxPropHostBuildVersion +*/ + /** @mainpage OFX : Open Plug-Ins For Special Effects This page represents the automatically extracted HTML documentation of the source headers for the OFX Image Effect API. diff --git a/include/ofxImageEffect.h b/include/ofxImageEffect.h index 8f5d1ccb..e50fcb29 100644 --- a/include/ofxImageEffect.h +++ b/include/ofxImageEffect.h @@ -2059,12 +2059,7 @@ They range from 1000 until 1999 /** @propset ImageEffectHost write: host props: - - OfxPropAPIVersion - - OfxPropType - - OfxPropName - - OfxPropLabel - - OfxPropVersion - - OfxPropVersionLabel + - HostCommon_REF - OfxImageEffectHostPropIsBackground - OfxImageEffectPropSupportsOverlays - OfxImageEffectPropSupportsMultiResolution @@ -2226,4 +2221,3 @@ They range from 1000 until 1999 */ #endif - diff --git a/include/ofxParam.h b/include/ofxParam.h index b5c5ac6d..cd0f9ea0 100644 --- a/include/ofxParam.h +++ b/include/ofxParam.h @@ -182,6 +182,57 @@ See \ref ParametersInterfacesPagedLayouts for more details. */ #define kOfxParamPageSkipColumn "OfxParamPageSkipColumn" +/** @brief Layout hint for hierarchical parameter layouts. + +This property tells the host how to lay out the parameter relative to the +parameter that follows it. + + - Valid Values - one of + - ::kOfxParamPropLayoutHintNormal - begin the next parameter on a new line + - ::kOfxParamPropLayoutHintDivider - place a divider after this parameter + - ::kOfxParamPropLayoutHintNoNewLine - place the next parameter on the same line + @propdef + type: int + dimension: 1 + default: 0 + introduced: "1.6" +*/ +#define kOfxParamPropLayoutHint "OfxParamPropLayoutHint" + +/** @brief Value for ::kOfxParamPropLayoutHint indicating normal layout. */ +#define kOfxParamPropLayoutHintNormal 0 + +/** @brief Value for ::kOfxParamPropLayoutHint indicating a divider after the parameter. */ +#define kOfxParamPropLayoutHintDivider 1 + +/** @brief Value for ::kOfxParamPropLayoutHint indicating that the next parameter starts on the same line. */ +#define kOfxParamPropLayoutHintNoNewLine 2 + +/** @brief Horizontal padding after a parameter in pixels. + +This property is only used when ::kOfxParamPropLayoutHint is set to +::kOfxParamPropLayoutHintNoNewLine. It tells the host how much space to leave +between the current parameter and the next parameter. + + - Valid Values - non-negative integers + @propdef + type: int + dimension: 1 + default: 0 + introduced: "1.6" +*/ +#define kOfxParamPropLayoutPadWidth "OfxParamPropLayoutPadWidth" + +/** @brief Whether to display a group parameter as a tab. + + @propdef + type: bool + dimension: 1 + default: 0 + introduced: "1.6" +*/ +#define kOfxParamPropGroupIsTab "OfxParamPropGroupIsTab" + /** @brief Overrides the parameter's standard user interface with the given interact. If set, the parameter's normal interface is replaced completely by the interact gui. @@ -1345,6 +1396,8 @@ changes a keyframe. The keyframe indices will not change within a single action - OfxParamPropParent - OfxParamPropEnabled - OfxParamPropDataPtr + - OfxParamPropLayoutHint + - OfxParamPropLayoutPadWidth - OfxPropIcon */ @@ -1386,6 +1439,7 @@ changes a keyframe. The keyframe indices will not change within a single action write: plugin props: - OfxParamPropGroupOpen + - OfxParamPropGroupIsTab - ParamsCommon_REF */ diff --git a/openfx-cpp/include/openfx/ofxPropSetAccessors.h b/openfx-cpp/include/openfx/ofxPropSetAccessors.h index 1b75ae06..01062a68 100644 --- a/openfx-cpp/include/openfx/ofxPropSetAccessors.h +++ b/openfx-cpp/include/openfx/ofxPropSetAccessors.h @@ -1239,6 +1239,22 @@ class ImageEffectHost : public PropertySetAccessor { return props_.get(0, error_if_missing); } + const char* hostProductTitle(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int hostMajorVersion(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int hostMinorVersion(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + const char* hostBuildVersion(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + bool imageEffectHostPropIsBackground(bool error_if_missing = true) const { return props_.get(0, error_if_missing); } @@ -1772,6 +1788,16 @@ class ParamDouble1D : public PropertySetAccessor { return *this; } + ParamDouble1D& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamDouble1D& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamDouble1D& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -2093,6 +2119,16 @@ class ParamsByte : public PropertySetAccessor { return *this; } + ParamsByte& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsByte& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsByte& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -2412,6 +2448,16 @@ class ParamsChoice : public PropertySetAccessor { return *this; } + ParamsChoice& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsChoice& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsChoice& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -2604,6 +2650,16 @@ class ParamsCustom : public PropertySetAccessor { return *this; } + ParamsCustom& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsCustom& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsCustom& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -2796,6 +2852,16 @@ class ParamsDouble2D3D : public PropertySetAccessor { return *this; } + ParamsDouble2D3D& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsDouble2D3D& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsDouble2D3D& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -3035,6 +3101,11 @@ class ParamsGroup : public PropertySetAccessor { return *this; } + ParamsGroup& setGroupIsTab(bool value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsGroup& setType(const char* value, bool error_if_missing = true) { props_.set(value, 0, error_if_missing); return *this; @@ -3090,6 +3161,16 @@ class ParamsGroup : public PropertySetAccessor { return *this; } + ParamsGroup& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsGroup& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsGroup& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -3168,6 +3249,16 @@ class ParamsInt2D3D : public PropertySetAccessor { return *this; } + ParamsInt2D3D& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsInt2D3D& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsInt2D3D& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -3452,6 +3543,16 @@ class ParamsNormalizedSpatial : public PropertySetAccessor { return *this; } + ParamsNormalizedSpatial& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsNormalizedSpatial& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsNormalizedSpatial& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -3761,6 +3862,16 @@ class ParamsPage : public PropertySetAccessor { return *this; } + ParamsPage& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsPage& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsPage& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -3915,6 +4026,16 @@ class ParamsParametric : public PropertySetAccessor { return *this; } + ParamsParametric& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsParametric& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsParametric& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -4089,6 +4210,16 @@ class ParamsStrChoice : public PropertySetAccessor { return *this; } + ParamsStrChoice& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsStrChoice& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsStrChoice& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; @@ -4286,6 +4417,16 @@ class ParamsString : public PropertySetAccessor { return *this; } + ParamsString& setLayoutHint(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ParamsString& setLayoutPadWidth(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ParamsString& setIcon(const std::array& values, bool error_if_missing = true) { props_.setAll(values, error_if_missing); return *this; diff --git a/openfx-cpp/include/openfx/ofxPropSetAccessorsHost.h b/openfx-cpp/include/openfx/ofxPropSetAccessorsHost.h index a0d9f4d9..0c291d91 100644 --- a/openfx-cpp/include/openfx/ofxPropSetAccessorsHost.h +++ b/openfx-cpp/include/openfx/ofxPropSetAccessorsHost.h @@ -1406,6 +1406,26 @@ class ImageEffectHost : public PropertySetAccessor { return *this; } + ImageEffectHost& setHostProductTitle(const char* value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ImageEffectHost& setHostMajorVersion(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ImageEffectHost& setHostMinorVersion(int value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + + ImageEffectHost& setHostBuildVersion(const char* value, bool error_if_missing = true) { + props_.set(value, 0, error_if_missing); + return *this; + } + ImageEffectHost& setImageEffectHostPropIsBackground(bool value, bool error_if_missing = true) { props_.set(value, 0, error_if_missing); return *this; @@ -2268,6 +2288,14 @@ class ParamDouble1D : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -2463,6 +2491,14 @@ class ParamsByte : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -2643,6 +2679,14 @@ class ParamsChoice : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -2775,6 +2819,14 @@ class ParamsCustom : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -2907,6 +2959,14 @@ class ParamsDouble2D3D : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3047,6 +3107,10 @@ class ParamsGroup : public PropertySetAccessor { return props_.get(0, error_if_missing); } + bool groupIsTab(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + const char* type(bool error_if_missing = true) const { return props_.get(0, error_if_missing); } @@ -3091,6 +3155,14 @@ class ParamsGroup : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3150,6 +3222,14 @@ class ParamsInt2D3D : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3326,6 +3406,14 @@ class ParamsNormalizedSpatial : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3510,6 +3598,14 @@ class ParamsPage : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3613,6 +3709,14 @@ class ParamsParametric : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3715,6 +3819,14 @@ class ParamsStrChoice : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } @@ -3851,6 +3963,14 @@ class ParamsString : public PropertySetAccessor { return props_.get(0, error_if_missing); } + int layoutHint(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + + int layoutPadWidth(bool error_if_missing = true) const { + return props_.get(0, error_if_missing); + } + std::array icon() const { return props_.getAll(); } diff --git a/openfx-cpp/include/openfx/ofxPropsBySet.h b/openfx-cpp/include/openfx/ofxPropsBySet.h index bf25268e..4e2e1f69 100644 --- a/openfx-cpp/include/openfx/ofxPropsBySet.h +++ b/openfx-cpp/include/openfx/ofxPropsBySet.h @@ -152,6 +152,10 @@ static inline const std::map> prop_sets { { "OfxPropLabel", prop_defs[PropId::OfxPropLabel], true, false, false }, { "OfxPropVersion", prop_defs[PropId::OfxPropVersion], true, false, false }, { "OfxPropVersionLabel", prop_defs[PropId::OfxPropVersionLabel], true, false, false }, + { "OfxPropHostProductTitle", prop_defs[PropId::OfxPropHostProductTitle], true, false, false }, + { "OfxPropHostMajorVersion", prop_defs[PropId::OfxPropHostMajorVersion], true, false, false }, + { "OfxPropHostMinorVersion", prop_defs[PropId::OfxPropHostMinorVersion], true, false, false }, + { "OfxPropHostBuildVersion", prop_defs[PropId::OfxPropHostBuildVersion], true, false, false }, { "OfxImageEffectHostPropIsBackground", prop_defs[PropId::OfxImageEffectHostPropIsBackground], true, false, false }, { "OfxImageEffectPropSupportsOverlays", prop_defs[PropId::OfxImageEffectPropSupportsOverlays], true, false, false }, { "OfxImageEffectPropSupportsMultiResolution", prop_defs[PropId::OfxImageEffectPropSupportsMultiResolution], true, false, false }, @@ -213,6 +217,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -254,6 +260,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -291,6 +299,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -323,6 +333,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -355,6 +367,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -381,6 +395,7 @@ static inline const std::map> prop_sets { // ParamsGroup { "ParamsGroup", { { "OfxParamPropGroupOpen", prop_defs[PropId::OfxParamPropGroupOpen], false, true, false }, + { "OfxParamPropGroupIsTab", prop_defs[PropId::OfxParamPropGroupIsTab], false, true, false }, { "OfxPropType", prop_defs[PropId::OfxPropType], false, true, false }, { "OfxPropName", prop_defs[PropId::OfxPropName], false, true, false }, { "OfxPropLabel", prop_defs[PropId::OfxPropLabel], false, true, false }, @@ -393,6 +408,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false } } }, // ParamsInt2D3D { "ParamsInt2D3D", { @@ -409,6 +426,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -445,6 +464,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -483,6 +504,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false } } }, // ParamsParametric { "ParamsParametric", { @@ -510,6 +533,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -543,6 +568,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, @@ -576,6 +603,8 @@ static inline const std::map> prop_sets { { "OfxParamPropParent", prop_defs[PropId::OfxParamPropParent], false, true, false }, { "OfxParamPropEnabled", prop_defs[PropId::OfxParamPropEnabled], false, true, false }, { "OfxParamPropDataPtr", prop_defs[PropId::OfxParamPropDataPtr], false, true, false }, + { "OfxParamPropLayoutHint", prop_defs[PropId::OfxParamPropLayoutHint], false, true, false }, + { "OfxParamPropLayoutPadWidth", prop_defs[PropId::OfxParamPropLayoutPadWidth], false, true, false }, { "OfxPropIcon", prop_defs[PropId::OfxPropIcon], false, true, false }, { "OfxParamPropInteractV1", prop_defs[PropId::OfxParamPropInteractV1], false, true, false }, { "OfxParamPropInteractSize", prop_defs[PropId::OfxParamPropInteractSize], false, true, false }, diff --git a/openfx-cpp/include/openfx/ofxPropsMetadata.h b/openfx-cpp/include/openfx/ofxPropsMetadata.h index 76dddfb3..7c2d3fb2 100644 --- a/openfx-cpp/include/openfx/ofxPropsMetadata.h +++ b/openfx-cpp/include/openfx/ofxPropsMetadata.h @@ -164,58 +164,65 @@ enum class PropId { OfxParamPropDoubleType, // 129 OfxParamPropEnabled, // 130 OfxParamPropEvaluateOnChange, // 131 - OfxParamPropGroupOpen, // 132 - OfxParamPropHasHostOverlayHandle, // 133 - OfxParamPropHint, // 134 - OfxParamPropIncrement, // 135 - OfxParamPropInteractMinimumSize, // 136 - OfxParamPropInteractPreferedSize, // 137 - OfxParamPropInteractSize, // 138 - OfxParamPropInteractSizeAspect, // 139 - OfxParamPropInteractV1, // 140 - OfxParamPropInterpolationAmount, // 141 - OfxParamPropInterpolationTime, // 142 - OfxParamPropIsAnimating, // 143 - OfxParamPropIsAutoKeying, // 144 - OfxParamPropMax, // 145 - OfxParamPropMin, // 146 - OfxParamPropPageChild, // 147 - OfxParamPropParametricDimension, // 148 - OfxParamPropParametricInteractBackground, // 149 - OfxParamPropParametricRange, // 150 - OfxParamPropParametricUIColour, // 151 - OfxParamPropParent, // 152 - OfxParamPropPersistant, // 153 - OfxParamPropPluginMayWrite, // 154 - OfxParamPropScriptName, // 155 - OfxParamPropSecret, // 156 - OfxParamPropShowTimeMarker, // 157 - OfxParamPropStringFilePathExists, // 158 - OfxParamPropStringMode, // 159 - OfxParamPropType, // 160 - OfxPluginPropFilePath, // 161 - OfxPluginPropParamPageOrder, // 162 - OfxPropAPIVersion, // 163 - OfxPropChangeReason, // 164 - OfxPropEffectInstance, // 165 - OfxPropHostOSHandle, // 166 - OfxPropIcon, // 167 - OfxPropInstanceData, // 168 - OfxPropIsInteractive, // 169 - OfxPropLabel, // 170 - OfxPropLongLabel, // 171 - OfxPropName, // 172 - OfxPropParamSetNeedsSyncing, // 173 - OfxPropPluginDescription, // 174 - OfxPropShortLabel, // 175 - OfxPropTime, // 176 - OfxPropType, // 177 - OfxPropVersion, // 178 - OfxPropVersionLabel, // 179 - OfxParamPropUseHostOverlayHandle, // 180 (orig name: OfxParamPropUseHostOverlayHandle) - OfxPropKeyString, // 181 (orig name: OfxPropKeyString) - OfxPropKeySym, // 182 (orig name: OfxPropKeySym) - NProps // 183 + OfxParamPropGroupIsTab, // 132 + OfxParamPropGroupOpen, // 133 + OfxParamPropHasHostOverlayHandle, // 134 + OfxParamPropHint, // 135 + OfxParamPropIncrement, // 136 + OfxParamPropInteractMinimumSize, // 137 + OfxParamPropInteractPreferedSize, // 138 + OfxParamPropInteractSize, // 139 + OfxParamPropInteractSizeAspect, // 140 + OfxParamPropInteractV1, // 141 + OfxParamPropInterpolationAmount, // 142 + OfxParamPropInterpolationTime, // 143 + OfxParamPropIsAnimating, // 144 + OfxParamPropIsAutoKeying, // 145 + OfxParamPropLayoutHint, // 146 + OfxParamPropLayoutPadWidth, // 147 + OfxParamPropMax, // 148 + OfxParamPropMin, // 149 + OfxParamPropPageChild, // 150 + OfxParamPropParametricDimension, // 151 + OfxParamPropParametricInteractBackground, // 152 + OfxParamPropParametricRange, // 153 + OfxParamPropParametricUIColour, // 154 + OfxParamPropParent, // 155 + OfxParamPropPersistant, // 156 + OfxParamPropPluginMayWrite, // 157 + OfxParamPropScriptName, // 158 + OfxParamPropSecret, // 159 + OfxParamPropShowTimeMarker, // 160 + OfxParamPropStringFilePathExists, // 161 + OfxParamPropStringMode, // 162 + OfxParamPropType, // 163 + OfxPluginPropFilePath, // 164 + OfxPluginPropParamPageOrder, // 165 + OfxPropAPIVersion, // 166 + OfxPropChangeReason, // 167 + OfxPropEffectInstance, // 168 + OfxPropHostBuildVersion, // 169 + OfxPropHostMajorVersion, // 170 + OfxPropHostMinorVersion, // 171 + OfxPropHostOSHandle, // 172 + OfxPropHostProductTitle, // 173 + OfxPropIcon, // 174 + OfxPropInstanceData, // 175 + OfxPropIsInteractive, // 176 + OfxPropLabel, // 177 + OfxPropLongLabel, // 178 + OfxPropName, // 179 + OfxPropParamSetNeedsSyncing, // 180 + OfxPropPluginDescription, // 181 + OfxPropShortLabel, // 182 + OfxPropTime, // 183 + OfxPropType, // 184 + OfxPropVersion, // 185 + OfxPropVersionLabel, // 186 + OfxParamPropUseHostOverlayHandle, // 187 (orig name: OfxParamPropUseHostOverlayHandle) + OfxPropKeyString, // 188 (orig name: OfxPropKeyString) + OfxPropKeySym, // 189 (orig name: OfxPropKeySym) + NProps // 190 }; // PropId // Separate arrays for enum-values for enum props, to keep everything constexpr @@ -419,6 +426,7 @@ static constexpr PropType OfxParamPropDisplayMin_types[] = {PropType::Int,PropTy static constexpr PropType OfxParamPropDoubleType_types[] = {PropType::Enum}; static constexpr PropType OfxParamPropEnabled_types[] = {PropType::Bool}; static constexpr PropType OfxParamPropEvaluateOnChange_types[] = {PropType::Bool}; +static constexpr PropType OfxParamPropGroupIsTab_types[] = {PropType::Bool}; static constexpr PropType OfxParamPropGroupOpen_types[] = {PropType::Bool}; static constexpr PropType OfxParamPropHasHostOverlayHandle_types[] = {PropType::Bool}; static constexpr PropType OfxParamPropHint_types[] = {PropType::String}; @@ -432,6 +440,8 @@ static constexpr PropType OfxParamPropInterpolationAmount_types[] = {PropType::D static constexpr PropType OfxParamPropInterpolationTime_types[] = {PropType::Double}; static constexpr PropType OfxParamPropIsAnimating_types[] = {PropType::Bool}; static constexpr PropType OfxParamPropIsAutoKeying_types[] = {PropType::Bool}; +static constexpr PropType OfxParamPropLayoutHint_types[] = {PropType::Int}; +static constexpr PropType OfxParamPropLayoutPadWidth_types[] = {PropType::Int}; static constexpr PropType OfxParamPropMax_types[] = {PropType::Int,PropType::Double}; static constexpr PropType OfxParamPropMin_types[] = {PropType::Int,PropType::Double}; static constexpr PropType OfxParamPropPageChild_types[] = {PropType::String}; @@ -453,7 +463,11 @@ static constexpr PropType OfxPluginPropParamPageOrder_types[] = {PropType::Strin static constexpr PropType OfxPropAPIVersion_types[] = {PropType::Int}; static constexpr PropType OfxPropChangeReason_types[] = {PropType::Enum}; static constexpr PropType OfxPropEffectInstance_types[] = {PropType::Pointer}; +static constexpr PropType OfxPropHostBuildVersion_types[] = {PropType::String}; +static constexpr PropType OfxPropHostMajorVersion_types[] = {PropType::Int}; +static constexpr PropType OfxPropHostMinorVersion_types[] = {PropType::Int}; static constexpr PropType OfxPropHostOSHandle_types[] = {PropType::Pointer}; +static constexpr PropType OfxPropHostProductTitle_types[] = {PropType::String}; static constexpr PropType OfxPropIcon_types[] = {PropType::String}; static constexpr PropType OfxPropInstanceData_types[] = {PropType::Pointer}; static constexpr PropType OfxPropIsInteractive_types[] = {PropType::Bool}; @@ -765,6 +779,8 @@ static inline constexpr PropDefsArray prop_defs = { openfx::span(prop_type_arrays::OfxParamPropEnabled_types, 1), 1, openfx::span()}, { "OfxParamPropEvaluateOnChange", openfx::span(prop_type_arrays::OfxParamPropEvaluateOnChange_types, 1), 1, openfx::span()}, +{ "OfxParamPropGroupIsTab", + openfx::span(prop_type_arrays::OfxParamPropGroupIsTab_types, 1), 1, openfx::span()}, { "OfxParamPropGroupOpen", openfx::span(prop_type_arrays::OfxParamPropGroupOpen_types, 1), 1, openfx::span()}, { "OfxParamPropHasHostOverlayHandle", @@ -791,6 +807,10 @@ static inline constexpr PropDefsArray prop_defs = { openfx::span(prop_type_arrays::OfxParamPropIsAnimating_types, 1), 1, openfx::span()}, { "OfxParamPropIsAutoKeying", openfx::span(prop_type_arrays::OfxParamPropIsAutoKeying_types, 1), 1, openfx::span()}, +{ "OfxParamPropLayoutHint", + openfx::span(prop_type_arrays::OfxParamPropLayoutHint_types, 1), 1, openfx::span()}, +{ "OfxParamPropLayoutPadWidth", + openfx::span(prop_type_arrays::OfxParamPropLayoutPadWidth_types, 1), 1, openfx::span()}, { "OfxParamPropMax", openfx::span(prop_type_arrays::OfxParamPropMax_types, 2), 0, openfx::span()}, { "OfxParamPropMin", @@ -833,8 +853,16 @@ static inline constexpr PropDefsArray prop_defs = { openfx::span(prop_type_arrays::OfxPropChangeReason_types, 1), 1, openfx::span(prop_enum_values::OfxPropChangeReason.data(), prop_enum_values::OfxPropChangeReason.size())}, { "OfxPropEffectInstance", openfx::span(prop_type_arrays::OfxPropEffectInstance_types, 1), 1, openfx::span()}, +{ "OfxPropHostBuildVersion", + openfx::span(prop_type_arrays::OfxPropHostBuildVersion_types, 1), 1, openfx::span()}, +{ "OfxPropHostMajorVersion", + openfx::span(prop_type_arrays::OfxPropHostMajorVersion_types, 1), 1, openfx::span()}, +{ "OfxPropHostMinorVersion", + openfx::span(prop_type_arrays::OfxPropHostMinorVersion_types, 1), 1, openfx::span()}, { "OfxPropHostOSHandle", openfx::span(prop_type_arrays::OfxPropHostOSHandle_types, 1), 1, openfx::span()}, +{ "OfxPropHostProductTitle", + openfx::span(prop_type_arrays::OfxPropHostProductTitle_types, 1), 1, openfx::span()}, { "OfxPropIcon", openfx::span(prop_type_arrays::OfxPropIcon_types, 1), 2, openfx::span()}, { "OfxPropInstanceData", @@ -1018,6 +1046,7 @@ DEFINE_PROP_TRAITS(OfxParamPropDisplayMin, int, true); DEFINE_PROP_TRAITS(OfxParamPropDoubleType, const char *, false); DEFINE_PROP_TRAITS(OfxParamPropEnabled, bool, false); DEFINE_PROP_TRAITS(OfxParamPropEvaluateOnChange, bool, false); +DEFINE_PROP_TRAITS(OfxParamPropGroupIsTab, bool, false); DEFINE_PROP_TRAITS(OfxParamPropGroupOpen, bool, false); DEFINE_PROP_TRAITS(OfxParamPropHasHostOverlayHandle, bool, false); DEFINE_PROP_TRAITS(OfxParamPropHint, const char *, false); @@ -1031,6 +1060,8 @@ DEFINE_PROP_TRAITS(OfxParamPropInterpolationAmount, double, false); DEFINE_PROP_TRAITS(OfxParamPropInterpolationTime, double, false); DEFINE_PROP_TRAITS(OfxParamPropIsAnimating, bool, false); DEFINE_PROP_TRAITS(OfxParamPropIsAutoKeying, bool, false); +DEFINE_PROP_TRAITS(OfxParamPropLayoutHint, int, false); +DEFINE_PROP_TRAITS(OfxParamPropLayoutPadWidth, int, false); DEFINE_PROP_TRAITS(OfxParamPropMax, int, true); DEFINE_PROP_TRAITS(OfxParamPropMin, int, true); DEFINE_PROP_TRAITS(OfxParamPropPageChild, const char *, false); @@ -1052,7 +1083,11 @@ DEFINE_PROP_TRAITS(OfxPluginPropParamPageOrder, const char *, false); DEFINE_PROP_TRAITS(OfxPropAPIVersion, int, false); DEFINE_PROP_TRAITS(OfxPropChangeReason, const char *, false); DEFINE_PROP_TRAITS(OfxPropEffectInstance, void *, false); +DEFINE_PROP_TRAITS(OfxPropHostBuildVersion, const char *, false); +DEFINE_PROP_TRAITS(OfxPropHostMajorVersion, int, false); +DEFINE_PROP_TRAITS(OfxPropHostMinorVersion, int, false); DEFINE_PROP_TRAITS(OfxPropHostOSHandle, void *, false); +DEFINE_PROP_TRAITS(OfxPropHostProductTitle, const char *, false); DEFINE_PROP_TRAITS(OfxPropIcon, const char *, false); DEFINE_PROP_TRAITS(OfxPropInstanceData, void *, false); DEFINE_PROP_TRAITS(OfxPropIsInteractive, bool, false); @@ -1207,6 +1242,7 @@ static_assert(string_view("OfxParamPropDisplayMin") == string_view(kOfxParamProp static_assert(string_view("OfxParamPropDoubleType") == string_view(kOfxParamPropDoubleType)); static_assert(string_view("OfxParamPropEnabled") == string_view(kOfxParamPropEnabled)); static_assert(string_view("OfxParamPropEvaluateOnChange") == string_view(kOfxParamPropEvaluateOnChange)); +static_assert(string_view("OfxParamPropGroupIsTab") == string_view(kOfxParamPropGroupIsTab)); static_assert(string_view("OfxParamPropGroupOpen") == string_view(kOfxParamPropGroupOpen)); static_assert(string_view("OfxParamPropHasHostOverlayHandle") == string_view(kOfxParamPropHasHostOverlayHandle)); static_assert(string_view("OfxParamPropHint") == string_view(kOfxParamPropHint)); @@ -1220,6 +1256,8 @@ static_assert(string_view("OfxParamPropInterpolationAmount") == string_view(kOfx static_assert(string_view("OfxParamPropInterpolationTime") == string_view(kOfxParamPropInterpolationTime)); static_assert(string_view("OfxParamPropIsAnimating") == string_view(kOfxParamPropIsAnimating)); static_assert(string_view("OfxParamPropIsAutoKeying") == string_view(kOfxParamPropIsAutoKeying)); +static_assert(string_view("OfxParamPropLayoutHint") == string_view(kOfxParamPropLayoutHint)); +static_assert(string_view("OfxParamPropLayoutPadWidth") == string_view(kOfxParamPropLayoutPadWidth)); static_assert(string_view("OfxParamPropMax") == string_view(kOfxParamPropMax)); static_assert(string_view("OfxParamPropMin") == string_view(kOfxParamPropMin)); static_assert(string_view("OfxParamPropPageChild") == string_view(kOfxParamPropPageChild)); @@ -1241,7 +1279,11 @@ static_assert(string_view("OfxPluginPropParamPageOrder") == string_view(kOfxPlug static_assert(string_view("OfxPropAPIVersion") == string_view(kOfxPropAPIVersion)); static_assert(string_view("OfxPropChangeReason") == string_view(kOfxPropChangeReason)); static_assert(string_view("OfxPropEffectInstance") == string_view(kOfxPropEffectInstance)); +static_assert(string_view("OfxPropHostBuildVersion") == string_view(kOfxPropHostBuildVersion)); +static_assert(string_view("OfxPropHostMajorVersion") == string_view(kOfxPropHostMajorVersion)); +static_assert(string_view("OfxPropHostMinorVersion") == string_view(kOfxPropHostMinorVersion)); static_assert(string_view("OfxPropHostOSHandle") == string_view(kOfxPropHostOSHandle)); +static_assert(string_view("OfxPropHostProductTitle") == string_view(kOfxPropHostProductTitle)); static_assert(string_view("OfxPropIcon") == string_view(kOfxPropIcon)); static_assert(string_view("OfxPropInstanceData") == string_view(kOfxPropInstanceData)); static_assert(string_view("OfxPropIsInteractive") == string_view(kOfxPropIsInteractive)); diff --git a/release-notes-next.md b/release-notes-next.md index 3f3b33ea..c47117f9 100644 --- a/release-notes-next.md +++ b/release-notes-next.md @@ -15,6 +15,7 @@ This is version NEXT of the OpenFX API. - **Obsolete plugins**: Added `kOfxImageEffectPluginPropObsolete` so a plugin bundle can mark a plugin as obsolete: available for use in old projects but not offered to users for new use (issue #221). - **Windows ARM64 packaging**: Defined plugin install locations for Windows on ARM, including the new normative `Win-arm64ec` folder for Arm64EC/Arm64X plug-ins, with most-specific-first DLL search order (issue #160). - **Project-load semantics**: Hosts are now required to send the `instanceChanged` action with `kOfxPropChangeReason` = `kOfxChangePluginEdited` when a clip or parameter was changed while loading a project (issue #184). +- **Host identity and parameter layout**: Added host product/version properties and parameter layout hints for dividers, same-line controls, padding, and tabbed groups. ## Fixes in OpenFX Version NEXT: @@ -31,4 +32,3 @@ This is version NEXT of the OpenFX API. - Conan packaging: restructured the recipe to the standard Conan Center Index layout (headers under `include/`, libs and CMake module under `lib/`, licenses under `licenses/`) (issues #238, #246), and example-only dependencies (OpenGL, CImg, spdlog, OpenCL) are no longer imposed on consumers — they're gated behind a new `build_examples` option (#253). - Added `SECURITY.md` and fixed stale repository URLs (#242). - CI: hardened workflows (actions pinned to SHAs, untrusted inputs via env) (#235); updated Conan and pre-authorized future compiler versions so new Xcode/compiler releases don't break builds (#252); pinned the Windows CUDA job to VS2022. - diff --git a/scripts/gen-props.py b/scripts/gen-props.py index 1696119c..297c6379 100644 --- a/scripts/gen-props.py +++ b/scripts/gen-props.py @@ -53,6 +53,11 @@ def getPropertiesFromFile(path): continue if splits[0] != "#define": continue + # Property definitions have string values. Constants whose names + # contain "Prop" (for example layout-hint values) are not + # properties themselves. + if not splits[2].startswith('"'): + continue # ignore these nonProperties = ( "kOfxPropertySuite",