Skip to content

Commit

Permalink
Release v0.16.0 changes (#1716)
Browse files Browse the repository at this point in the history
* freeze runners to their current versions according to this: https://github.com/actions/runner-images
* drop .dev1 suffix
* check the README.md for any updates
* update CONTRIBUTORS.md
* Added note to the readme about OpenTimelineio-Plugins
* c++ code formatted

---------

Signed-off-by: Eric Reinecke <reinecke.eric@gmail.com>
  • Loading branch information
reinecke authored Apr 3, 2024
1 parent abe8308 commit 2b9c3a4
Show file tree
Hide file tree
Showing 18 changed files with 126 additions and 89 deletions.
24 changes: 12 additions & 12 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name: OpenTimelineIO
# for configuring which build will be a C++ coverage build / coverage report
env:
GH_COV_PY: 3.7
GH_COV_OS: ubuntu-latest
GH_COV_OS: ubuntu-22.04
GH_DEPENDABOT: dependabot

on:
Expand All @@ -24,15 +24,15 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-22.04, windows-2022, macos-12]
# Unfortunately the CMake test target is OS dependent so we set it as
# a variable here.
include:
- os: ubuntu-latest
- os: ubuntu-22.04
OTIO_TEST_TARGET: test
- os: windows-latest
- os: windows-2022
OTIO_TEST_TARGET: RUN_TESTS
- os: macos-latest
- os: macos-12
OTIO_TEST_TARGET: test

env:
Expand Down Expand Up @@ -92,13 +92,13 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-22.04, windows-2022, macos-12]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
include:
- { os: ubuntu-latest, shell: bash }
- { os: macos-latest, shell: bash }
- { os: windows-latest, shell: pwsh }
- { os: windows-latest, shell: msys2, python-version: 'mingw64' }
- { os: ubuntu-22.04, shell: bash }
- { os: macos-12, shell: bash }
- { os: windows-2022, shell: pwsh }
- { os: windows-2022, shell: msys2, python-version: 'mingw64' }

defaults:
run:
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-22.04, windows-2022, macos-12]
python-build: ['cp37*', 'cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*']
steps:
- uses: actions/checkout@v3
Expand All @@ -184,7 +184,7 @@ jobs:

package_sdist:
needs: py_build_test
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
Expand Down
4 changes: 4 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ If you know of anyone missing from this list, please contact us: https://lists.a
* Eric ([eric-with-a-c](https://github.com/eric-with-a-c))
* Eric Desruisseaux ([desruie](https://github.com/desruie))
* Eric Reinecke ([reinecke](https://github.com/reinecke))
* Evan Blaudy ([EvanBldy](https://github.com/EvanBldy))
* Flavian Liger ([flavienliger](https://github.com/flavienliger))
* Fredrik Brännbacka ([smaragden](https://github.com/smaragden))
* Freeson Wang ([freesonluxo](https://github.com/freesonluxo))
* Félix Bourbonnais ([BadSingleton](https://github.com/BadSingleton))
* Félix David ([Tilix4](https://github.com/Tilix4))
* Gonzalo Garramuño ([ggarra13](https://github.com/ggarra13))
* Henry Wilkes ([hwilkes-igalia](https://github.com/hwilkes-igalia))
* Jean-Christophe Morin ([JeanChristopheMorinPerso](https://github.com/JeanChristopheMorinPerso))
* Jeff Horrocks ([jhorrocks-tl](https://github.com/jhorrocks-tl))
Expand All @@ -38,6 +40,7 @@ If you know of anyone missing from this list, please contact us: https://lists.a
* Joshua Minor ([jminor](https://github.com/jminor))
* Julian Yu-Chung Chen ([jchen9](https://github.com/jchen9))
* Karthik Ramesh Iyer ([KarthikRIyer](https://github.com/KarthikRIyer))
* Konstantin Maslyuk ([kalemas](https://github.com/kalemas))
* Laura Savidge ([lsavidge](https://github.com/lsavidge))
* Mark Final ([foundry-markf](https://github.com/foundry-markf))
* Mark Reid ([markreidvfx](https://github.com/markreidvfx))
Expand All @@ -47,6 +50,7 @@ If you know of anyone missing from this list, please contact us: https://lists.a
* Michael Jefferies ([michaeljefferies](https://github.com/michaeljefferies))
* Mike Koetter ([mikekoetter](https://github.com/mikekoetter))
* Mike Mahony ([mikemahony](https://github.com/mikemahony))
* Nicholas Bui LeTourneau ([nickblt](https://github.com/nickblt))
* Nick Porcino ([meshula](https://github.com/meshula))
* Pedro Labonia ([pedrolabonia](https://github.com/pedrolabonia))
* Peter Targett ([peter-targett](https://github.com/peter-targett))
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ To provide interoperability with other file formats or applications lacking a
native integration, the opentimelineio community has built a number of python
adapter plugins. This includes Final Cut Pro XML, AAF, CMX 3600 EDL, and more.

**Note: for releases after v0.16, the [OpenTimelineIO PyPI package](https://pypi.org/project/OpenTimelineIO/) will only include the core libraries and file formats. Users that need the full set of adapter plugins should use the [OpenTimelineIO-Plugins PyPI Package](https://pypi.org/project/OpenTimelineIO-Plugins/). Each OpenTimelineIO release will have a matching OpenTimelineIO-Plugins release.**

For more information: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1386

For more information about this, including supported formats, see: https://opentimelineio.readthedocs.io/en/latest/tutorials/adapters.html

Other Plugins
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ def cmake_install(self):

# Metadata that gets stamped into the __init__ files during the build phase.
PROJECT_METADATA = {
"version": "0.16.0.dev1",
"version": "0.16.0",
"author": 'Contributors to the OpenTimelineIO project',
"author_email": 'otio-discussion@lists.aswf.io',
"license": 'Apache 2.0 License',
Expand Down
2 changes: 1 addition & 1 deletion src/opentimelineio/CORE_VERSION_MAP.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const label_to_schema_version_map CORE_VERSION_MAP{
{ "Transition", 1 },
{ "UnknownSchema", 1 },
} },
{ "0.16.0.dev1",
{ "0.16.0",
{
{ "Adapter", 1 },
{ "Clip", 2 },
Expand Down
10 changes: 5 additions & 5 deletions src/opentimelineio/clip.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ class Clip : public Item
using Parent = Item;

Clip(
std::string const& name = std::string(),
MediaReference* media_reference = nullptr,
std::optional<TimeRange> const& source_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::string const& active_media_reference_key = default_media_key);
std::string const& name = std::string(),
MediaReference* media_reference = nullptr,
std::optional<TimeRange> const& source_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::string const& active_media_reference_key = default_media_key);

void set_media_reference(MediaReference* media_reference);
MediaReference* media_reference() const noexcept;
Expand Down
6 changes: 3 additions & 3 deletions src/opentimelineio/composition.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -342,9 +342,9 @@ Composition::range_of_child(Composable const* child, ErrorStatus* error_status)
}

return (reference_space != this) ? transformed_time_range(
*result_range,
reference_space,
error_status)
*result_range,
reference_space,
error_status)
: *result_range;
}

Expand Down
12 changes: 6 additions & 6 deletions src/opentimelineio/composition.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ class Composition : public Item
int64_t _bisect_right(
RationalTime const& tgt,
std::function<RationalTime(Composable*)> const& key_func,
ErrorStatus* error_status = nullptr,
std::optional<int64_t> lower_search_bound = std::optional<int64_t>(0),
std::optional<int64_t> upper_search_bound = std::nullopt) const;
ErrorStatus* error_status = nullptr,
std::optional<int64_t> lower_search_bound = std::optional<int64_t>(0),
std::optional<int64_t> upper_search_bound = std::nullopt) const;

// Return the index of the last item in seq such that all e in seq[:index]
// have key_func(e) < tgt, and all e in seq[index:] have key_func(e) >= tgt.
Expand All @@ -159,9 +159,9 @@ class Composition : public Item
int64_t _bisect_left(
RationalTime const& tgt,
std::function<RationalTime(Composable*)> const& key_func,
ErrorStatus* error_status = nullptr,
std::optional<int64_t> lower_search_bound = std::optional<int64_t>(0),
std::optional<int64_t> upper_search_bound = std::nullopt) const;
ErrorStatus* error_status = nullptr,
std::optional<int64_t> lower_search_bound = std::optional<int64_t>(0),
std::optional<int64_t> upper_search_bound = std::nullopt) const;

std::vector<Retainer<Composable>> _children;

Expand Down
11 changes: 8 additions & 3 deletions src/opentimelineio/deserialization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,8 @@ SerializableObject::Reader::_decode(_Resolver& resolver)
{
IMATH_NAMESPACE::V2d min, max;
return _fetch("min", &min) && _fetch("max", &max)
? std::any(IMATH_NAMESPACE::Box2d(std::move(min), std::move(max)))
? std::any(
IMATH_NAMESPACE::Box2d(std::move(min), std::move(max)))
: std::any();
}
else
Expand Down Expand Up @@ -776,13 +777,17 @@ SerializableObject::Reader::_read_optional(
return true;
}
bool
SerializableObject::Reader::read(std::string const& key, std::optional<bool>* value)
SerializableObject::Reader::read(
std::string const& key,
std::optional<bool>* value)
{
return _read_optional(key, value);
}

bool
SerializableObject::Reader::read(std::string const& key, std::optional<int>* value)
SerializableObject::Reader::read(
std::string const& key,
std::optional<int>* value)
{
return _read_optional(key, value);
}
Expand Down
9 changes: 5 additions & 4 deletions src/opentimelineio/externalReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ class ExternalReference final : public MediaReference
using Parent = MediaReference;

ExternalReference(
std::string const& target_url = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds = std::nullopt);
std::string const& target_url = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds =
std::nullopt);

std::string target_url() const noexcept { return _target_url; }

Expand Down
10 changes: 5 additions & 5 deletions src/opentimelineio/gap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ Gap::Gap(
std::vector<Marker*> const& markers,
AnyDictionary const& metadata)
: Parent(
name,
TimeRange(RationalTime(0, duration.rate()), duration),
metadata,
effects,
markers)
name,
TimeRange(RationalTime(0, duration.rate()), duration),
metadata,
effects,
markers)
{}

Gap::~Gap()
Expand Down
13 changes: 7 additions & 6 deletions src/opentimelineio/generatorReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ class GeneratorReference final : public MediaReference
using Parent = MediaReference;

GeneratorReference(
std::string const& name = std::string(),
std::string const& generator_kind = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& parameters = AnyDictionary(),
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds = std::nullopt);
std::string const& name = std::string(),
std::string const& generator_kind = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& parameters = AnyDictionary(),
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds =
std::nullopt);

std::string generator_kind() const noexcept { return _generator_kind; }

Expand Down
24 changes: 13 additions & 11 deletions src/opentimelineio/imageSequenceReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,19 @@ class ImageSequenceReference final : public MediaReference
using Parent = MediaReference;

ImageSequenceReference(
std::string const& target_url_base = std::string(),
std::string const& name_prefix = std::string(),
std::string const& name_suffix = std::string(),
int start_frame = 1,
int frame_step = 1,
double rate = 1,
int frame_zero_padding = 0,
MissingFramePolicy const missing_frame_policy = MissingFramePolicy::error,
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds = std::nullopt);
std::string const& target_url_base = std::string(),
std::string const& name_prefix = std::string(),
std::string const& name_suffix = std::string(),
int start_frame = 1,
int frame_step = 1,
double rate = 1,
int frame_zero_padding = 0,
MissingFramePolicy const missing_frame_policy =
MissingFramePolicy::error,
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds =
std::nullopt);

std::string target_url_base() const noexcept { return _target_url_base; }

Expand Down
5 changes: 4 additions & 1 deletion src/opentimelineio/item.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@ class Item : public Composable

void set_enabled(bool enabled) { _enabled = enabled; }

std::optional<TimeRange> source_range() const noexcept { return _source_range; }
std::optional<TimeRange> source_range() const noexcept
{
return _source_range;
}

void set_source_range(std::optional<TimeRange> const& source_range)
{
Expand Down
9 changes: 5 additions & 4 deletions src/opentimelineio/mediaReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ class MediaReference : public SerializableObjectWithMetadata
using Parent = SerializableObjectWithMetadata;

MediaReference(
std::string const& name = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds = std::nullopt);
std::string const& name = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds =
std::nullopt);

std::optional<TimeRange> available_range() const noexcept
{
Expand Down
9 changes: 5 additions & 4 deletions src/opentimelineio/missingReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ class MissingReference final : public MediaReference
using Parent = MediaReference;

MissingReference(
std::string const& name = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds = std::nullopt);
std::string const& name = std::string(),
std::optional<TimeRange> const& available_range = std::nullopt,
AnyDictionary const& metadata = AnyDictionary(),
std::optional<IMATH_NAMESPACE::Box2d> const& available_image_bounds =
std::nullopt);

bool is_missing_reference() const override;

Expand Down
Loading

0 comments on commit 2b9c3a4

Please sign in to comment.