From 18e69e387e5af8fc8ac4978cc35d2c3fb57a24cf Mon Sep 17 00:00:00 2001 From: Gary Oberbrunner Date: Wed, 23 Jul 2025 09:25:13 -0400 Subject: [PATCH 1/2] Remove stray references to old OFX Association AKA the Open Effects Association. Signed-off-by: Gary Oberbrunner --- Support/include/ofxsProcessing.h | 32 ++------------------------------ include/DocSrc/footer.html | 4 ---- release-notes.md | 2 +- 3 files changed, 3 insertions(+), 35 deletions(-) diff --git a/Support/include/ofxsProcessing.h b/Support/include/ofxsProcessing.h index 1e56f9f82..68b400a68 100644 --- a/Support/include/ofxsProcessing.h +++ b/Support/include/ofxsProcessing.h @@ -3,37 +3,9 @@ /* OFX Support Library, a library that skins the OFX plug-in API with C++ classes. - Copyright (C) 2005 The Open Effects Association Ltd + Copyright OpenFX and contributors to the OpenFX project. + SPDX-License-Identifier: BSD-3-Clause Author Bruno Nicoletti bruno@thefoundry.co.uk - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name The Open Effects Association Ltd, nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The Open Effects Association Ltd -1 Wardour St -London W1D 6PA -England - */ #include diff --git a/include/DocSrc/footer.html b/include/DocSrc/footer.html index 06385dfc0..9fecd63b2 100644 --- a/include/DocSrc/footer.html +++ b/include/DocSrc/footer.html @@ -8,10 +8,6 @@
  1. Redistributions of the document must retain the above copyright notice and this list of conditions.
  2. -
  3. Neither the name of The Open Effects Association Ltd nor names of its - contributors may be used to - endorse or promote products derived from this software without specific - prior written permission.
Automatic documentation generated by Doxygen.
diff --git a/release-notes.md b/release-notes.md index c9f592437..d6a2de843 100644 --- a/release-notes.md +++ b/release-notes.md @@ -4,7 +4,7 @@ This is the latest release of OFX, the Open Effects image-processing plug-in sta Documentation and more info can be found at: -* [The OFX Association website](http://openeffects.org) +* [The OpenFX website](http://openeffects.org) * [OFX Programming Guide By Example](https://github.com/ofxa/openfx/tree/master/Guide) * [OFX API v. 1.4 Reference](http://openeffects.org/documentation/api_doc) * [OFX API Programming Guide](http://openeffects.org/documentation/guide) From b23da7f4a41a480aaab60f0f1bc8fdccc6a4d640 Mon Sep 17 00:00:00 2001 From: Gary Oberbrunner Date: Fri, 25 Jul 2025 15:33:46 -0400 Subject: [PATCH 2/2] Update doc footer per #205 Also update the doc build script to use `uv` if present. That's nicer because you don't have to manually create a python venv or install depencies. Removed old unused footer, and marked ofx-header and ofx-footer as unused. Signed-off-by: Gary Oberbrunner --- Documentation/build.sh | 29 ++++++++++++------- Documentation/genPropertiesReference.py | 2 +- .../Reference/ofxPropertiesReference.rst | 14 ++------- Documentation/sources/conf.py | 5 ++-- include/DocSrc/footer.html | 13 --------- include/DocSrc/ofx_footer.html | 1 + include/DocSrc/ofx_header.html | 1 + include/ofx.doxy | 4 +-- 8 files changed, 29 insertions(+), 40 deletions(-) delete mode 100644 include/DocSrc/footer.html diff --git a/Documentation/build.sh b/Documentation/build.sh index 9c05d3711..087406928 100755 --- a/Documentation/build.sh +++ b/Documentation/build.sh @@ -22,37 +22,44 @@ if [ ! -f genPropertiesReference.py ] ; then exit 1 fi -if ! command -v sphinx-build > /dev/null 2>&1 ; then - echo "Python can't import required modules; did you set up the prereqs?" - echo "Check the README.md." - exit 1 +if command -v uvx > /dev/null 2>&1; then + USE_UV=1 + SPHINX_BUILD="uv run --with-requirements pipreq.txt sphinx-build" + UV_RUN="uv run" +else + USE_UV= + SPHINX_BUILD="sphinx-build" + UV_RUN="" fi rm -rf build # Generate references EXPECTED_ERRS="unable to resolve reference|explicit link request|found in multiple" -python genPropertiesReference.py \ +$UV_RUN python genPropertiesReference.py \ -i ../include -o sources/Reference/ofxPropertiesReference.rst -r \ > /tmp/ofx-doc-build.out 2>&1 -egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true +grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true # Build the Doxygen docs EXPECTED_ERRS="malformed hyperlink target|Duplicate explicit|Definition list ends|unable to resolve|could not be resolved" cd ../include doxygen ofx.doxy > /tmp/ofx-doc-build.out 2>&1 -egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true +grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true cd - # Use breathe.apidoc to collect the Doxygen API docs rm -rf sources/Reference/api -python -m breathe.apidoc -p 'ofx_reference' -m --force -g class,interface,struct,union,file,namespace,group -o sources/Reference/api doxygen_build/xml - +if [[ $USE_UV ]]; then + $UV_RUN --with breathe python -m breathe.apidoc -p 'ofx_reference' -m --force -g class,interface,struct,union,file,namespace,group -o sources/Reference/api doxygen_build/xml +else + python -m breathe.apidoc -p 'ofx_reference' -m --force -g class,interface,struct,union,file,namespace,group -o sources/Reference/api doxygen_build/xml +fi # Build the Sphinx docs EXPECTED_ERRS='Explicit markup ends without|Duplicate C.*declaration|Declaration is|cpp:func targets a member|undefined label' -sphinx-build -b html sources build > /tmp/ofx-doc-build.out 2>&1 -egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true +$SPHINX_BUILD -b html sources build > /tmp/ofx-doc-build.out 2>&1 +grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true echo "Documentation build complete." echo "Open file:///$PWD/build/index.html in your browser" diff --git a/Documentation/genPropertiesReference.py b/Documentation/genPropertiesReference.py index 01075e10d..7c1dce055 100755 --- a/Documentation/genPropertiesReference.py +++ b/Documentation/genPropertiesReference.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause -import os,sys, getopt,re +import os,sys,getopt badlyNamedProperties = ["kOfxImageEffectFrameVarying", "kOfxImageEffectPluginRenderThreadSafety"] diff --git a/Documentation/sources/Reference/ofxPropertiesReference.rst b/Documentation/sources/Reference/ofxPropertiesReference.rst index c3ce86cdb..cbd93af1e 100644 --- a/Documentation/sources/Reference/ofxPropertiesReference.rst +++ b/Documentation/sources/Reference/ofxPropertiesReference.rst @@ -47,17 +47,7 @@ Properties Reference .. doxygendefine:: kOfxImageEffectPropColourManagementAvailableConfigs -.. doxygendefine:: kOfxImageEffectColourManagementBasic - -.. doxygendefine:: kOfxImageEffectColourManagementConfig - -.. doxygendefine:: kOfxImageEffectColourManagementCore - -.. doxygendefine:: kOfxImageEffectColourManagementFull - -.. doxygendefine:: kOfxImageEffectColourManagementNone - -.. doxygendefine:: kOfxImageEffectColourManagementOCIO +.. doxygendefine:: kOfxImageEffectPropColourManagementConfig .. doxygendefine:: kOfxImageEffectPropColourManagementStyle @@ -93,6 +83,8 @@ Properties Reference .. doxygendefine:: kOfxImageEffectPropMetalRenderSupported +.. doxygendefine:: kOfxImageEffectPropNoSpatialAwareness + .. doxygendefine:: kOfxImageEffectPropOCIOConfig .. doxygendefine:: kOfxImageEffectPropOCIODisplay diff --git a/Documentation/sources/conf.py b/Documentation/sources/conf.py index d37a40048..93cce72c5 100755 --- a/Documentation/sources/conf.py +++ b/Documentation/sources/conf.py @@ -11,9 +11,10 @@ import subprocess, os, shutil project = 'OpenFX' -copyright = '2024, Contributors to the OpenFX Project' +copyright = '''2025, OpenFX a Series of LF Projects, LLC. +For web site terms of use, trademark policy and other project policies please see https://lfprojects.org/''' author = 'Contributors to the OpenFX Project' -release = '1.4' +release = '1.5' read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True' # -- General configuration --------------------------------------------------- diff --git a/include/DocSrc/footer.html b/include/DocSrc/footer.html deleted file mode 100644 index 9fecd63b2..000000000 --- a/include/DocSrc/footer.html +++ /dev/null @@ -1,13 +0,0 @@ -
- -Copyright OpenFX and contributors to the OpenFX project. -SPDX-License-Identifier: BSD-3-Clause - -Copying and redistribution with or without -modification, is permitted provided that the following conditions are met: -
    -
  1. Redistributions of the document must retain the above copyright notice - and this list of conditions.
  2. -
-Automatic documentation generated by Doxygen.
-
diff --git a/include/DocSrc/ofx_footer.html b/include/DocSrc/ofx_footer.html index f86524fac..b1ef766f4 100644 --- a/include/DocSrc/ofx_footer.html +++ b/include/DocSrc/ofx_footer.html @@ -1,4 +1,5 @@ +