Skip to content

Commit 343f51b

Browse files
authored
Merge branch 'main' into fix/host-prop-type
Signed-off-by: Gary Oberbrunner <[email protected]>
2 parents 78a3b11 + f4750c7 commit 343f51b

File tree

90 files changed

+467
-428
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+467
-428
lines changed

.github/workflows/build.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ jobs:
4141
need_node20_vol: true
4242
has_cmake_presets: false
4343
buildtype: Release
44-
conan_version: 2.1.0
44+
# use old conan version for CentOS 7
45+
conan_version: 2.10.3
4546
cxx-standard: 17
4647
cxx-compiler: clang++
4748
cc-compiler: clang
@@ -58,7 +59,8 @@ jobs:
5859
need_node20_vol: true
5960
has_cmake_presets: false
6061
buildtype: Release
61-
conan_version: 2.1.0
62+
# use old conan version for CentOS 7
63+
conan_version: 2.10.3
6264
cxx-standard: 17
6365
cxx-compiler: clang++
6466
cc-compiler: clang
@@ -74,7 +76,7 @@ jobs:
7476
vfx-cy: 2023
7577
has_cmake_presets: false
7678
buildtype: Release
77-
conan_version: 2.1.0
79+
conan_version: 2.20.1
7880
cxx-standard: 17
7981
cxx-compiler: clang++
8082
cc-compiler: clang
@@ -90,7 +92,7 @@ jobs:
9092
vfx-cy: 2023
9193
has_cmake_presets: false
9294
buildtype: Release
93-
conan_version: 2.1.0
95+
conan_version: 2.20.1
9496
cxx-standard: 17
9597
cxx-compiler: clang++
9698
cc-compiler: clang
@@ -103,7 +105,7 @@ jobs:
103105
os: ubuntu-latest
104106
has_cmake_presets: true
105107
buildtype: Release
106-
conan_version: 2.1.0
108+
conan_version: 2.20.1
107109
cxx-standard: 17
108110
cxx-compiler: clang++
109111
cc-compiler: clang
@@ -116,7 +118,7 @@ jobs:
116118
os: macos-latest
117119
has_cmake_presets: true
118120
buildtype: Release
119-
conan_version: 2.1.0
121+
conan_version: 2.20.1
120122
cxx-standard: 17
121123
cxx-compiler: clang++
122124
cc-compiler: clang
@@ -129,7 +131,7 @@ jobs:
129131
os: windows-latest
130132
has_cmake_presets: true
131133
buildtype: Release
132-
conan_version: 2.1.0
134+
conan_version: 2.20.1
133135
cxx-standard: 17
134136
cxx-compiler: clang++
135137
cc-compiler: clang
@@ -142,7 +144,7 @@ jobs:
142144
os: windows-latest
143145
has_cmake_presets: true
144146
buildtype: Release
145-
conan_version: 2.0.16
147+
conan_version: 2.20.1
146148
cxx-standard: 17
147149
cxx-compiler: clang++
148150
cc-compiler: clang

CONTRIBUTING.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Committee provides general project oversight.
1818
There are several ways to connect with the OpenFX project:
1919

2020
* The [openfx-discussion](https://lists.aswf.io/g/openfx-discussion)
21-
mail list: This is our primary mailing list, intended for techical
21+
mail list: This is our primary mailing list, intended for technical
2222
discussion and help implementing and using OpenFX.
2323

2424
* [GitHub Issues](https://github.com/ofxa/openfx/issues): GitHub
@@ -273,9 +273,19 @@ All new source files should begin with a copyright and license stating:
273273

274274
//
275275
// SPDX-License-Identifier: BSD-3-Clause
276-
// Copyright (c) Contributors to the OpenFX Project.
276+
// Copyright (c) OpenFX and contributors to the OpenFX Project.
277277
//
278278

279+
Prior to becoming an ASWF project, OpenFX was controlled by The Open Effects
280+
Association, a legal entity which had been assigned copyright in the original
281+
contributions by a variety of companies and individuals. When the project
282+
transferred to ASWF, these copyrights were assigned to a new legal entity,
283+
OpenFX a Series of LF Projects, LLC (abbreviated to "OpenFX" in the notice).
284+
In line with ASWF principles, new contributions do not require a copyright
285+
assignment, but our copyright notice reflects this mixed history, and is
286+
applied consistently across the project to avoid confusion when code is moved
287+
between old and new files.
288+
279289
#### Third-party libraries
280290

281291
The standard itself should not depend on any third-party library or

Documentation/build.sh

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,37 +22,44 @@ if [ ! -f genPropertiesReference.py ] ; then
2222
exit 1
2323
fi
2424

25-
if ! command -v sphinx-build > /dev/null 2>&1 ; then
26-
echo "Python can't import required modules; did you set up the prereqs?"
27-
echo "Check the README.md."
28-
exit 1
25+
if command -v uvx > /dev/null 2>&1; then
26+
USE_UV=1
27+
SPHINX_BUILD="uv run --with-requirements pipreq.txt sphinx-build"
28+
UV_RUN="uv run"
29+
else
30+
USE_UV=
31+
SPHINX_BUILD="sphinx-build"
32+
UV_RUN=""
2933
fi
3034

3135
rm -rf build
3236

3337
# Generate references
3438
EXPECTED_ERRS="unable to resolve reference|explicit link request|found in multiple"
35-
python genPropertiesReference.py \
39+
$UV_RUN python genPropertiesReference.py \
3640
-i ../include -o sources/Reference/ofxPropertiesReference.rst -r \
3741
> /tmp/ofx-doc-build.out 2>&1
38-
egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
42+
grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
3943

4044
# Build the Doxygen docs
4145
EXPECTED_ERRS="malformed hyperlink target|Duplicate explicit|Definition list ends|unable to resolve|could not be resolved"
4246
cd ../include
4347
doxygen ofx.doxy > /tmp/ofx-doc-build.out 2>&1
44-
egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
48+
grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
4549
cd -
4650

4751
# Use breathe.apidoc to collect the Doxygen API docs
4852
rm -rf sources/Reference/api
49-
python -m breathe.apidoc -p 'ofx_reference' -m --force -g class,interface,struct,union,file,namespace,group -o sources/Reference/api doxygen_build/xml
50-
53+
if [[ $USE_UV ]]; then
54+
$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
55+
else
56+
python -m breathe.apidoc -p 'ofx_reference' -m --force -g class,interface,struct,union,file,namespace,group -o sources/Reference/api doxygen_build/xml
57+
fi
5158

5259
# Build the Sphinx docs
5360
EXPECTED_ERRS='Explicit markup ends without|Duplicate C.*declaration|Declaration is|cpp:func targets a member|undefined label'
54-
sphinx-build -b html sources build > /tmp/ofx-doc-build.out 2>&1
55-
egrep -v "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
61+
$SPHINX_BUILD -b html sources build > /tmp/ofx-doc-build.out 2>&1
62+
grep -v -E "$EXPECTED_ERRS" /tmp/ofx-doc-build.out || true
5663

5764
echo "Documentation build complete."
5865
echo "Open file:///$PWD/build/index.html in your browser"

Documentation/genPropertiesReference.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: BSD-3-Clause
22

3-
import os,sys, getopt,re
3+
import os,sys,getopt
44

55
badlyNamedProperties = ["kOfxImageEffectFrameVarying", "kOfxImageEffectPluginRenderThreadSafety"]
66

Documentation/sourceforge/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ <h3>Programming Reference </h3>
3333

3434
<h3>Doxygen Documentation </h3>
3535
<para>
36-
The doxygen documentation extracted from the header files is a useful adjunct to the programmming reference. It is available in two forms...
36+
The doxygen documentation extracted from the header files is a useful adjunct to the programming reference. It is available in two forms...
3737
<ul>
3838
<li><a href="Doxygen/index.html">A set of HTML files, one per section,</a></li>
3939
<li><a href="ofxDoxygenDocs_1.3.tgz">A tarball of the set of HTML files (229K).</a></li>

Documentation/sources/Guide/Code/Example1/basics.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ namespace {
8686
int gNumInstancesLiving = 0;
8787

8888
////////////////////////////////////////////////////////////////////////////////
89-
// The first _action_ called after the binary is loaded (three boot strapper functions will be howeever)
89+
// The first _action_ called after the binary is loaded (three boot strapper functions will be however)
9090
OfxStatus LoadAction(void)
9191
{
9292
ERROR_ABORT_IF(gHost == NULL, "The OfxHost pointer has not been set, it should have been set in 'setHostFunc' before any action is called.");
@@ -152,7 +152,7 @@ namespace {
152152
char *context;
153153
gPropertySuite->propGetString(inArgs, kOfxImageEffectPropContext, 0, &context);
154154

155-
ERROR_IF(strcmp(context, kOfxImageEffectContextFilter) != 0, "DescribeInContextAction called on unsupported contex %s", context);
155+
ERROR_IF(strcmp(context, kOfxImageEffectContextFilter) != 0, "DescribeInContextAction called on unsupported context %s", context);
156156

157157
OfxPropertySetHandle props;
158158
// define the mandated single output clip
@@ -300,7 +300,7 @@ namespace {
300300
static OfxPlugin effectPluginStruct =
301301
{
302302
kOfxImageEffectPluginApi, // The API this plugin satisfies.
303-
1, // The version of the API it satisifes.
303+
1, // The version of the API it satisfies.
304304
"org.openeffects:BasicsExamplePlugin", // The unique ID of this plugin.
305305
1, // The major version number of this plugin.
306306
0, // The minor version number of this plugin.

Documentation/sources/Guide/Code/Example2/invert.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ namespace {
7373
OfxImageEffectSuiteV1 *gImageEffectSuite = 0;
7474

7575
////////////////////////////////////////////////////////////////////////////////
76-
// The first _action_ called after the binary is loaded (three boot strapper functions will be howeever)
76+
// The first _action_ called after the binary is loaded (three boot strapper functions will be however)
7777
OfxStatus LoadAction(void)
7878
{
7979
/// now fetch a suite out of the host via it's fetch suite function.
@@ -426,7 +426,7 @@ namespace {
426426
static OfxPlugin effectPluginStruct =
427427
{
428428
kOfxImageEffectPluginApi, // The API this plugin satisfies.
429-
1, // The version of the API it satisifes.
429+
1, // The version of the API it satisfies.
430430
"org.openeffects:InvertExamplePlugin", // The unique ID of this plugin.
431431
1, // The major version number of this plugin.
432432
0, // The minor version number of this plugin.

Documentation/sources/Guide/Code/Example3/gain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ namespace {
131131
}
132132

133133
////////////////////////////////////////////////////////////////////////////////
134-
// The first _action_ called after the binary is loaded (three boot strapper functions will be howeever)
134+
// The first _action_ called after the binary is loaded (three boot strapper functions will be however)
135135
OfxStatus LoadAction(void)
136136
{
137137
// fetch our three suites
@@ -648,7 +648,7 @@ namespace {
648648
static OfxPlugin effectPluginStruct =
649649
{
650650
kOfxImageEffectPluginApi, // The API this plugin satisfies.
651-
1, // The version of the API it satisifes.
651+
1, // The version of the API it satisfies.
652652
"org.openeffects:GainExamplePlugin", // The unique ID of this plugin.
653653
1, // The major version number of this plugin.
654654
0, // The minor version number of this plugin.

Documentation/sources/Guide/Code/Example4/saturation.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ namespace {
287287
}
288288

289289
////////////////////////////////////////////////////////////////////////////////
290-
// The first _action_ called after the binary is loaded (three boot strapper functions will be howeever)
290+
// The first _action_ called after the binary is loaded (three boot strapper functions will be however)
291291
OfxStatus LoadAction(void)
292292
{
293293
// fetch our three suites
@@ -779,7 +779,7 @@ namespace {
779779
static OfxPlugin effectPluginStruct =
780780
{
781781
kOfxImageEffectPluginApi, // The API this plugin satisfies.
782-
1, // The version of the API it satisifes.
782+
1, // The version of the API it satisfies.
783783
"org.openeffects:SaturationExamplePlugin", // The unique ID of this plugin.
784784
1, // The major version number of this plugin.
785785
0, // The minor version number of this plugin.

Documentation/sources/Guide/Code/Example5/circle.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ namespace {
318318
}
319319

320320
////////////////////////////////////////////////////////////////////////////////
321-
// The first _action_ called after the binary is loaded (three boot strapper functions will be howeever)
321+
// The first _action_ called after the binary is loaded (three boot strapper functions will be however)
322322
OfxStatus LoadAction(void)
323323
{
324324
// fetch our three suites
@@ -978,7 +978,7 @@ namespace {
978978
static OfxPlugin effectPluginStruct =
979979
{
980980
kOfxImageEffectPluginApi, // The API this plugin satisfies.
981-
1, // The version of the API it satisifes.
981+
1, // The version of the API it satisfies.
982982
"org.openeffects:CircleExamplePlugin", // The unique ID of this plugin.
983983
1, // The major version number of this plugin.
984984
0, // The minor version number of this plugin.

0 commit comments

Comments
 (0)