Skip to content

Commit 57b7396

Browse files
committed
Fix color deserialization, add schema
Signed-off-by: Spencer Magnusson <[email protected]>
1 parent f662359 commit 57b7396

File tree

4 files changed

+9
-3
lines changed

4 files changed

+9
-3
lines changed

src/opentimelineio/deserialization.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -590,13 +590,13 @@ SerializableObject::Reader::_decode(_Resolver& resolver)
590590
}
591591
else if (schema_name_and_version == "Color.1")
592592
{
593-
float r, g, b, a;
593+
double r, g, b, a;
594594
std::string name;
595-
return _fetch("r", &r)
595+
return _fetch("name", &name)
596+
&& _fetch("r", &r)
596597
&& _fetch("g", &g)
597598
&& _fetch("b", &b)
598599
&& _fetch("a", &a)
599-
&& _fetch("name", &name)
600600
? std::any(Color(r, g, b, a, name))
601601
: std::any();
602602
}

src/py-opentimelineio/opentimelineio/console/autogen_serialized_datamodel.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ def _generate_model_for_module(mod, classes, modules):
159159
otio.opentime.RationalTime,
160160
otio.opentime.TimeRange,
161161
otio.opentime.TimeTransform,
162+
otio.core.Color
162163
)
163164
)
164165
]

src/py-opentimelineio/opentimelineio/core/_core_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"opentime.RationalTime",
2727
"opentime.TimeRange",
2828
"opentime.TimeTransform",
29+
"opentimelineio.core.Color",
2930
"opentimelineio.core.SerializableObject"
3031
)
3132

tests/test_json_backend.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ def test_timetransform(self):
4747
tt = otio.opentime.TimeTransform()
4848
self.check_against_baseline(tt, "empty_timetransform")
4949

50+
def test_color(self):
51+
tt = otio.core.Color()
52+
self.check_against_baseline(tt, "empty_color")
53+
5054
def test_track(self):
5155
st = otio.schema.Track(
5256
name="test_track",

0 commit comments

Comments
 (0)