Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions Documentation/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion Documentation/genPropertiesReference.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause

import os,sys, getopt,re
import os,sys,getopt

badlyNamedProperties = ["kOfxImageEffectFrameVarying", "kOfxImageEffectPluginRenderThreadSafety"]

Expand Down
14 changes: 3 additions & 11 deletions Documentation/sources/Reference/ofxPropertiesReference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,7 @@ Properties Reference

.. doxygendefine:: kOfxImageEffectPropColourManagementAvailableConfigs

.. doxygendefine:: kOfxImageEffectColourManagementBasic

.. doxygendefine:: kOfxImageEffectColourManagementConfig

.. doxygendefine:: kOfxImageEffectColourManagementCore

.. doxygendefine:: kOfxImageEffectColourManagementFull

.. doxygendefine:: kOfxImageEffectColourManagementNone

.. doxygendefine:: kOfxImageEffectColourManagementOCIO
.. doxygendefine:: kOfxImageEffectPropColourManagementConfig

.. doxygendefine:: kOfxImageEffectPropColourManagementStyle

Expand Down Expand Up @@ -93,6 +83,8 @@ Properties Reference

.. doxygendefine:: kOfxImageEffectPropMetalRenderSupported

.. doxygendefine:: kOfxImageEffectPropNoSpatialAwareness

.. doxygendefine:: kOfxImageEffectPropOCIOConfig

.. doxygendefine:: kOfxImageEffectPropOCIODisplay
Expand Down
5 changes: 3 additions & 2 deletions Documentation/sources/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 ---------------------------------------------------
Expand Down
32 changes: 2 additions & 30 deletions Support/include/ofxsProcessing.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be simplified to....

'Copyright contributors to the OpenFX project'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could, but the language I used is approved by ASWF I believe, and used throughout the project (e.g. LICENSE, GOVERNANCE, CODE_OF_CONDUCT etc.) so I prefer to keep it consistent.

Copy link

@jmertic jmertic Jul 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ASWF guidance is what I referenced... https://tac.aswf.io/process/contributing.html#copyright-notice-format.

The key here is that all contributors own the code they contribute, so there really isn't a concept of OpenFX owning a copyright.

SPDX-License-Identifier: BSD-3-Clause
Author Bruno Nicoletti [email protected]
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 <cassert>
Expand Down
17 changes: 0 additions & 17 deletions include/DocSrc/footer.html

This file was deleted.

1 change: 1 addition & 0 deletions include/DocSrc/ofx_footer.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<!-- HTML footer for doxygen 1.8.6-->
<!-- NOTE: this is not used in OpenFX. Final docs are generated via sphinx. -->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
Expand Down
1 change: 1 addition & 0 deletions include/DocSrc/ofx_header.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<!-- HTML header for doxygen 1.8.6-->
<!-- NOTE: this is not used in OpenFX. Final docs are generated via sphinx. -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Expand Down
4 changes: 2 additions & 2 deletions include/ofx.doxy
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = "OFX"
PROJECT_NAME = "OpenFX"

# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "1.4+"
PROJECT_NUMBER = "1.5+"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading