Skip to content

Commit 9e33ec2

Browse files
committed
Add enabled flag to Item
- Adds the enabled flag as well as get and set methods. - Adds Python bindings. - Add .otio read and write code.
1 parent ab0fa5c commit 9e33ec2

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

src/opentimelineio/item.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Item::Item(
1717
, _source_range(source_range)
1818
, _effects(effects.begin(), effects.end())
1919
, _markers(markers.begin(), markers.end())
20+
, _enabled(true)
2021
{}
2122

2223
Item::~Item()
@@ -165,6 +166,7 @@ Item::read_from(Reader& reader)
165166
return reader.read_if_present("source_range", &_source_range) &&
166167
reader.read_if_present("effects", &_effects) &&
167168
reader.read_if_present("markers", &_markers) &&
169+
reader.read_if_present("enabled", &_enabled) &&
168170
Parent::read_from(reader);
169171
}
170172

@@ -175,6 +177,7 @@ Item::write_to(Writer& writer) const
175177
writer.write("source_range", _source_range);
176178
writer.write("effects", _effects);
177179
writer.write("markers", _markers);
180+
writer.write("enabled", _enabled);
178181
}
179182

180183
}} // namespace opentimelineio::OPENTIMELINEIO_VERSION

src/opentimelineio/item.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ class Item : public Composable
3131

3232
virtual bool visible() const;
3333
virtual bool overlapping() const;
34+
35+
bool enabled() const { return _enabled; };
36+
37+
void set_enabled(bool enabled)
38+
{
39+
_enabled = enabled;
40+
}
3441

3542
optional<TimeRange> source_range() const noexcept { return _source_range; }
3643

@@ -90,6 +97,7 @@ class Item : public Composable
9097
optional<TimeRange> _source_range;
9198
std::vector<Retainer<Effect>> _effects;
9299
std::vector<Retainer<Marker>> _markers;
100+
bool _enabled;
93101
};
94102

95103
}} // namespace opentimelineio::OPENTIMELINEIO_VERSION

src/py-opentimelineio/opentimelineio-bindings/otio_serializableObjects.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ static void define_items_and_compositions(py::module m) {
305305
"effects"_a = py::none(),
306306
"markers"_a = py::none(),
307307
py::arg_v("metadata"_a = py::none()))
308+
.def_property("enabled", &Item::enabled, &Item::set_enabled)
308309
.def_property("source_range", &Item::source_range, &Item::set_source_range)
309310
.def("available_range", [](Item* item) {
310311
return item->available_range(ErrorStatusHandler());

0 commit comments

Comments
 (0)