Skip to content

Commit e94bf96

Browse files
committed
0.18.0 release locking
1 parent 4bfa445 commit e94bf96

21 files changed

+192
-169
lines changed

.github/workflows/python-package.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: OpenTimelineIO
66
# for configuring which build will be a C++ coverage build / coverage report
77
env:
88
GH_COV_PY: "3.10"
9-
GH_COV_OS: ubuntu-latest
9+
GH_COV_OS: ubuntu-24.04
1010
GH_DEPENDABOT: dependabot
1111

1212
on:
@@ -24,15 +24,15 @@ jobs:
2424
runs-on: ${{ matrix.os }}
2525
strategy:
2626
matrix:
27-
os: [ubuntu-latest, windows-latest, macos-14, macos-latest]
27+
os: [ubuntu-24.04, windows-2025, macos-14, macos-15]
2828
# Unfortunately the CMake test target is OS dependent so we set it as
2929
# a variable here.
3030
include:
31-
- os: ubuntu-latest
31+
- os: ubuntu-24.04
3232
OTIO_TEST_TARGET: test
33-
- os: windows-latest
33+
- os: windows-2025
3434
OTIO_TEST_TARGET: RUN_TESTS
35-
- os: macos-latest
35+
- os: macos-15
3636
OTIO_TEST_TARGET: test
3737
- os: macos-14
3838
OTIO_TEST_TARGET: test
@@ -92,16 +92,16 @@ jobs:
9292
runs-on: ${{ matrix.os }}
9393
strategy:
9494
matrix:
95-
os: [ubuntu-latest, windows-latest, macos-14, macos-latest]
95+
os: [ubuntu-24.04, windows-2025, macos-14, macos-15]
9696
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
9797
include:
98-
- { os: ubuntu-latest, shell: bash }
99-
- { os: macos-latest, shell: bash }
98+
- { os: ubuntu-24.04, shell: bash }
99+
- { os: macos-15, shell: bash }
100100
- { os: macos-14, shell: bash }
101-
- { os: windows-latest, shell: pwsh }
102-
- { os: windows-latest, shell: msys2, python-version: "mingw64" }
101+
- { os: windows-2025, shell: pwsh }
102+
- { os: windows-2025, shell: msys2, python-version: "mingw64" }
103103
exclude:
104-
- { os: macos-latest, python-version: 3.9 }
104+
- { os: macos-15, python-version: 3.9 }
105105

106106
defaults:
107107
run:
@@ -173,16 +173,16 @@ jobs:
173173
matrix:
174174
os:
175175
[
176-
ubuntu-latest,
176+
ubuntu-24.04,
177177
ubuntu-24.04-arm,
178-
windows-latest,
178+
windows-2025,
179179
macos-14,
180-
macos-latest,
180+
macos-15,
181181
]
182182
python-build: ["cp39", "cp310", "cp311", "cp312", "cp313"]
183183
#exclude:
184184
# none currently
185-
# - { os: macos-latest, python-build: 'cp37' }
185+
# - { os: macos-15, python-build: 'cp37' }
186186
steps:
187187
- uses: actions/checkout@v4
188188

@@ -205,7 +205,7 @@ jobs:
205205

206206
package_sdist:
207207
needs: py_build_test
208-
runs-on: ubuntu-latest
208+
runs-on: ubuntu-24.04
209209
steps:
210210
- uses: actions/checkout@v4
211211
with:

CONTRIBUTORS.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ If you know of anyone missing from this list, please contact us: https://lists.a
1616
* Darwyn Peachey ([peachey](https://github.com/peachey))
1717
* David Baraff ([davidbaraff](https://github.com/davidbaraff))
1818
* dgw ([dgw](https://github.com/dgw))
19+
* Dimitris Apostolou ([rex4539](https://github.com/rex4539))
1920
* Doug Halley ([douglascomet](https://github.com/douglascomet))
2021
* Ed Caspersen ([repsac](https://github.com/repsac))
2122
* Emile Labrosse ([elabrosseRodeofx](https://github.com/elabrosseRodeofx))
@@ -24,8 +25,10 @@ If you know of anyone missing from this list, please contact us: https://lists.a
2425
* Eric Reinecke ([reinecke](https://github.com/reinecke))
2526
* Evan Blaudy ([EvanBldy](https://github.com/EvanBldy))
2627
* Flavian Liger ([flavienliger](https://github.com/flavienliger))
28+
* Florian Schleich ([fschleich](https://github.com/fschleich))
2729
* Fredrik Brännbacka ([smaragden](https://github.com/smaragden))
2830
* Freeson Wang ([freesonluxo](https://github.com/freesonluxo))
31+
* furby™ ([furby-tm](https://github.com/furby-tm))
2932
* Félix Bourbonnais ([BadSingleton](https://github.com/BadSingleton))
3033
* Félix David ([Tilix4](https://github.com/Tilix4))
3134
* Gonzalo Garramuño ([ggarra13](https://github.com/ggarra13))
@@ -63,16 +66,19 @@ If you know of anyone missing from this list, please contact us: https://lists.a
6366
* Sergio Rojas ([hisergiorojas](https://github.com/hisergiorojas))
6467
* Shahbaz Khan ([shahbazk8194](https://github.com/shahbazk8194))
6568
* Simran Spiller ([Simran-B](https://github.com/Simran-B))
69+
* Spencer Magnusson ([semagnum](https://github.com/semagnum))
6670
* Stefan Schulze ([stefanschulze](https://github.com/stefanschulze))
6771
* Stephan Steinbach ([ssteinbach](https://github.com/ssteinbach))
6872
* Stéphane Deverly ([gplsteph](https://github.com/gplsteph))
6973
* Thibault Saunier ([thiblahute](https://github.com/thiblahute))
7074
* Thierry Dervieux-Lecocq ([tdervieux](https://github.com/tdervieux))
7175
* ThomasWilshaw ([ThomasWilshaw](https://github.com/ThomasWilshaw))
7276
* Tim Lehr ([timlehr](https://github.com/timlehr))
77+
* Tom V ([tomviner](https://github.com/tomviner))
7378
* Troy James Sobotka ([sobotka](https://github.com/sobotka))
7479
* Tuan Truong ([tuan-huy-truong](https://github.com/tuan-huy-truong))
7580
* Utsab Saha ([utsab](https://github.com/utsab))
7681
* Valerio Viperino ([vvzen](https://github.com/vvzen))
7782
* Vincent Pinon ([vpinon](https://github.com/vpinon))
78-
* Visaj Nirav Shah ([visajshah](https://github.com/visajshah))
83+
* Visaj Nirav Shah ([visajshah](https://github.com/visajshah))
84+
* Yingjie Wang ([cato-o](https://github.com/cato-o))

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def cmake_install(self):
218218

219219
# Metadata that gets stamped into the __init__ files during the build phase.
220220
PROJECT_METADATA = {
221-
"version": "0.18.0.dev1",
221+
"version": "0.18.0",
222222
"author": 'Contributors to the OpenTimelineIO project',
223223
"author_email": '[email protected]',
224224
"license": 'Apache 2.0 License',

src/opentime/export.h

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,61 +6,63 @@
66
// For an explanation of how these export defines work, see:
77
// https://github.com/PixarAnimationStudios/OpenUSD/blob/dev/pxr/base/arch/export.h
88
#if defined(_WINDOWS)
9-
# if defined(__GNUC__) && __GNUC__ >= 4 || defined(__clang__)
10-
# define OPENTIMELINEIO_EXPORT __attribute__((dllexport))
11-
# define OPENTIMELINEIO_IMPORT __attribute__((dllimport))
12-
# define OPENTIMELINEIO_HIDDEN
13-
# define OPENTIMELINEIO_EXPORT_TYPE
14-
# define OPENTIMELINEIO_IMPORT_TYPE
15-
# else
16-
# define OPENTIMELINEIO_EXPORT __declspec(dllexport)
17-
# define OPENTIMELINEIO_IMPORT __declspec(dllimport)
18-
# define OPENTIMELINEIO_HIDDEN
19-
# define OPENTIMELINEIO_EXPORT_TYPE
20-
# define OPENTIMELINEIO_IMPORT_TYPE
21-
# endif
9+
# if defined(__GNUC__) && __GNUC__ >= 4 || defined(__clang__)
10+
# define OPENTIMELINEIO_EXPORT __attribute__((dllexport))
11+
# define OPENTIMELINEIO_IMPORT __attribute__((dllimport))
12+
# define OPENTIMELINEIO_HIDDEN
13+
# define OPENTIMELINEIO_EXPORT_TYPE
14+
# define OPENTIMELINEIO_IMPORT_TYPE
15+
# else
16+
# define OPENTIMELINEIO_EXPORT __declspec(dllexport)
17+
# define OPENTIMELINEIO_IMPORT __declspec(dllimport)
18+
# define OPENTIMELINEIO_HIDDEN
19+
# define OPENTIMELINEIO_EXPORT_TYPE
20+
# define OPENTIMELINEIO_IMPORT_TYPE
21+
# endif
2222
#elif defined(__GNUC__) && __GNUC__ >= 4 || defined(__clang__)
23-
# define OPENTIMELINEIO_EXPORT __attribute__((visibility("default")))
24-
# define OPENTIMELINEIO_IMPORT
25-
# define OPENTIMELINEIO_HIDDEN __attribute__((visibility("hidden")))
26-
# if defined(__clang__)
27-
# define OPENTIMELINEIO_EXPORT_TYPE __attribute__((type_visibility("default")))
28-
# else
29-
# define OPENTIMELINEIO_EXPORT_TYPE __attribute__((visibility("default")))
30-
# endif
31-
# define OPENTIMELINEIO_IMPORT_TYPE
23+
# define OPENTIMELINEIO_EXPORT __attribute__((visibility("default")))
24+
# define OPENTIMELINEIO_IMPORT
25+
# define OPENTIMELINEIO_HIDDEN __attribute__((visibility("hidden")))
26+
# if defined(__clang__)
27+
# define OPENTIMELINEIO_EXPORT_TYPE \
28+
__attribute__((type_visibility("default")))
29+
# else
30+
# define OPENTIMELINEIO_EXPORT_TYPE \
31+
__attribute__((visibility("default")))
32+
# endif
33+
# define OPENTIMELINEIO_IMPORT_TYPE
3234
#else
33-
# define OPENTIMELINEIO_EXPORT
34-
# define OPENTIMELINEIO_IMPORT
35-
# define OPENTIMELINEIO_HIDDEN
36-
# define OPENTIMELINEIO_EXPORT_TYPE
37-
# define OPENTIMELINEIO_IMPORT_TYPE
35+
# define OPENTIMELINEIO_EXPORT
36+
# define OPENTIMELINEIO_IMPORT
37+
# define OPENTIMELINEIO_HIDDEN
38+
# define OPENTIMELINEIO_EXPORT_TYPE
39+
# define OPENTIMELINEIO_IMPORT_TYPE
3840
#endif
3941
#define OPENTIMELINEIO_EXPORT_TEMPLATE(type, ...)
40-
#define OPENTIMELINEIO_IMPORT_TEMPLATE(type, ...) \
42+
#define OPENTIMELINEIO_IMPORT_TEMPLATE(type, ...) \
4143
extern template type OPENTIMELINEIO_IMPORT __VA_ARGS__
4244

4345
#if defined(OPENTIME_STATIC)
44-
# define OPENTIME_API
45-
# define OPENTIME_API_TYPE
46-
# define OPENTIME_API_TEMPLATE_CLASS(...)
47-
# define OPENTIME_API_TEMPLATE_STRUCT(...)
48-
# define OPENTIME_LOCAL
46+
# define OPENTIME_API
47+
# define OPENTIME_API_TYPE
48+
# define OPENTIME_API_TEMPLATE_CLASS(...)
49+
# define OPENTIME_API_TEMPLATE_STRUCT(...)
50+
# define OPENTIME_LOCAL
4951
#else
50-
# if defined(OPENTIME_EXPORTS)
51-
# define OPENTIME_API OPENTIMELINEIO_EXPORT
52-
# define OPENTIME_API_TYPE OPENTIMELINEIO_EXPORT_TYPE
53-
# define OPENTIME_API_TEMPLATE_CLASS(...) \
52+
# if defined(OPENTIME_EXPORTS)
53+
# define OPENTIME_API OPENTIMELINEIO_EXPORT
54+
# define OPENTIME_API_TYPE OPENTIMELINEIO_EXPORT_TYPE
55+
# define OPENTIME_API_TEMPLATE_CLASS(...) \
5456
OPENTIMELINEIO_EXPORT_TEMPLATE(class, __VA_ARGS__)
55-
# define OPENTIME_API_TEMPLATE_STRUCT(...) \
57+
# define OPENTIME_API_TEMPLATE_STRUCT(...) \
5658
OPENTIMELINEIO_EXPORT_TEMPLATE(struct, __VA_ARGS__)
57-
# else
58-
# define OPENTIME_API OPENTIMELINEIO_IMPORT
59-
# define OPENTIME_API_TYPE OPENTIMELINEIO_IMPORT_TYPE
60-
# define OPENTIME_API_TEMPLATE_CLASS(...) \
59+
# else
60+
# define OPENTIME_API OPENTIMELINEIO_IMPORT
61+
# define OPENTIME_API_TYPE OPENTIMELINEIO_IMPORT_TYPE
62+
# define OPENTIME_API_TEMPLATE_CLASS(...) \
6163
OPENTIMELINEIO_IMPORT_TEMPLATE(class, __VA_ARGS__)
62-
# define OPENTIME_API_TEMPLATE_STRUCT(...) \
64+
# define OPENTIME_API_TEMPLATE_STRUCT(...) \
6365
OPENTIMELINEIO_IMPORT_TEMPLATE(struct, __VA_ARGS__)
64-
# endif
65-
# define OPENTIME_LOCAL OPENTIMELINEIO_HIDDEN
66+
# endif
67+
# define OPENTIME_LOCAL OPENTIMELINEIO_HIDDEN
6668
#endif

src/opentime/rationalTime.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ static constexpr std::array<double, 11> smpte_timecode_rates{
3232
48.0,
3333
50.0,
3434
60000.0 / 1001.0,
35-
60.0
36-
}
35+
60.0 }
3736
};
3837

3938
// deprecated in favor of `is_smpte_timecode_rate`

src/opentime/timeRange.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ class OPENTIME_API_TYPE TimeRange
4343
{}
4444

4545
/// @brief Construct a new time range with the given start time and duration.
46-
constexpr TimeRange(
47-
RationalTime start_time,
48-
RationalTime duration) noexcept
46+
constexpr TimeRange(RationalTime start_time, RationalTime duration) noexcept
4947
: _start_time{ start_time }
5048
, _duration{ duration }
5149
{}
@@ -65,7 +63,8 @@ class OPENTIME_API_TYPE TimeRange
6563
/// duration is invalid, or if the duration is less than zero.
6664
bool is_invalid_range() const noexcept
6765
{
68-
return _start_time.is_invalid_time() || _duration.is_invalid_time() || _duration.value() < 0.0;
66+
return _start_time.is_invalid_time() || _duration.is_invalid_time()
67+
|| _duration.value() < 0.0;
6968
}
7069

7170
/// @brief Returns true if the time range is valid.
@@ -75,7 +74,8 @@ class OPENTIME_API_TYPE TimeRange
7574
/// zero.
7675
bool is_valid_range() const noexcept
7776
{
78-
return _start_time.is_valid_time() && _duration.is_valid_time() && _duration.value() >= 0.0;
77+
return _start_time.is_valid_time() && _duration.is_valid_time()
78+
&& _duration.value() >= 0.0;
7979
}
8080

8181
/// @brief Returns the start time.

src/opentimelineio/CORE_VERSION_MAP.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ const label_to_schema_version_map CORE_VERSION_MAP{
142142
{ "Transition", 1 },
143143
{ "UnknownSchema", 1 },
144144
} },
145-
{ "0.18.0.dev1",
145+
{ "0.18.0",
146146
{
147147
{ "Adapter", 1 },
148148
{ "Clip", 2 },

src/opentimelineio/clip.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ Clip::Clip(
1717
std::vector<Marker*> const& markers,
1818
std::string const& active_media_reference_key,
1919
std::optional<Color> const& color)
20-
: Parent{ name, source_range, metadata, effects, markers, /*enabled*/ true, color }
20+
: Parent{ name, source_range, metadata, effects,
21+
markers, /*enabled*/ true, color }
2122
, _active_media_reference_key(active_media_reference_key)
2223
{
2324
set_media_reference(media_reference);
@@ -191,12 +192,12 @@ std::optional<IMATH_NAMESPACE::Box2d>
191192
Clip::available_image_bounds(ErrorStatus* error_status) const
192193
{
193194
auto active_media = media_reference();
194-
195+
195196
//this code path most likely never runs since a null or empty media_reference gets
196197
//replaced with a placeholder value when instantiated
197198
if (!active_media)
198199
{
199-
if(error_status)
200+
if (error_status)
200201
{
201202
*error_status = ErrorStatus(
202203
ErrorStatus::CANNOT_COMPUTE_BOUNDS,
@@ -209,7 +210,7 @@ Clip::available_image_bounds(ErrorStatus* error_status) const
209210

210211
if (!active_media->available_image_bounds())
211212
{
212-
if(error_status)
213+
if (error_status)
213214
{
214215
*error_status = ErrorStatus(
215216
ErrorStatus::CANNOT_COMPUTE_BOUNDS,

src/opentimelineio/clip.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ class OTIO_API_TYPE Clip : public Item
4444
MediaReference* media_reference = nullptr,
4545
std::optional<TimeRange> const& source_range = std::nullopt,
4646
AnyDictionary const& metadata = AnyDictionary(),
47-
std::vector<Effect*> const& effects = std::vector<Effect*>(),
48-
std::vector<Marker*> const& markers = std::vector<Marker*>(),
49-
std::string const& active_media_reference_key = default_media_key,
50-
std::optional<Color> const& color = std::nullopt);
47+
std::vector<Effect*> const& effects = std::vector<Effect*>(),
48+
std::vector<Marker*> const& markers = std::vector<Marker*>(),
49+
std::string const& active_media_reference_key = default_media_key,
50+
std::optional<Color> const& color = std::nullopt);
5151

5252
/// @name Media References
5353
///@{

0 commit comments

Comments
 (0)