Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.16.0 changes #1716

Merged
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
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": '[email protected]',
"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
Loading