Skip to content

Commit 2fc82c9

Browse files
Clean up otio annotation code
Signed-off-by: Éloïse Brosseau <[email protected]>
1 parent f792dd7 commit 2fc82c9

File tree

4 files changed

+37
-33
lines changed

4 files changed

+37
-33
lines changed

src/plugins/rv-packages/otio_reader/annotation_hook.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,21 @@
1111
from rv import commands, extra_commands
1212

1313

14-
def hook_function(in_timeline, argument_map=None) -> None:
14+
def hook_function(
15+
in_timeline: otio.schemadef.Annotation.Annotation, argument_map: dict | None = None
16+
) -> None:
17+
"""A hook for the annotation schema"""
1518
for layer in in_timeline.layers:
1619
if layer.name == "Paint":
17-
if type(layer.layer_range) is otio._opentime.TimeRange:
18-
range = layer.layer_range
20+
if isinstance(layer.layer_range, otio._opentime.TimeRange):
21+
time_range = layer.layer_range
1922
else:
20-
range = otio.opentime.TimeRange(
23+
time_range = otio.opentime.TimeRange(
2124
layer.layer_range["start_time"], layer.layer_range["duration"]
2225
)
2326

24-
relative_time = range.end_time_inclusive()
25-
frame = relative_time.to_frames()
27+
relative_time = time_range.end_time_inclusive()
28+
frame = end_time.to_frames()
2629

2730
source_node = argument_map.get("source_group")
2831
paint_node = extra_commands.nodesInGroupOfType(source_node, "RVPaint")[0]
@@ -40,7 +43,7 @@ def hook_function(in_timeline, argument_map=None) -> None:
4043
effectHook.add_rv_effect_props(
4144
pen_component,
4245
{
43-
"color": [float(x) for x in layer.rgba],
46+
"color": list(map(float, layer.rgba)),
4447
"brush": layer.brush,
4548
"debug": 1,
4649
"join": 3,
@@ -70,13 +73,11 @@ def hook_function(in_timeline, argument_map=None) -> None:
7073

7174
for point in layer.points:
7275
points = commands.getFloatProperty(points_property)
73-
if (
76+
if not (
7477
len(points) > 1
7578
and points[-1] == point.y * global_scale.y
7679
and points[-2] == point.x * global_scale.x
7780
):
78-
pass
79-
else:
8081
commands.insertFloatProperty(
8182
points_property,
8283
[point.x * global_scale.x, point.y * global_scale.y],

src/plugins/rv-packages/otio_reader/annotation_schema.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ def __init__(
3737
self.layers = layers
3838

3939
_visible = otio.core.serializable_field(
40-
"visible", required_type=bool, doc=("Visible: expects either true or false")
40+
"visible", required_type=bool, doc=("visible: expects either true or false")
4141
)
4242

4343
_layers = otio.core.serializable_field(
44-
"layers", required_type=list, doc=("Layers: expects a list of annotation types")
44+
"layers", required_type=list, doc=("layers: expects a list of annotation types")
4545
)
4646

4747
@property
@@ -53,7 +53,14 @@ def layers(self, val: list):
5353
self._layers = val
5454

5555
def __str__(self) -> str:
56-
return f"Annotation({self.name}, {self.effect_name}, {self.visible}, {self.layers})"
56+
return (
57+
f"Annotation({self.name}, {self.effect_name}, {self.visible}, "
58+
f"{self.layers})"
59+
)
5760

5861
def __repr__(self) -> str:
59-
return f"otio.schema.Annotation(name={self.name!r}, effect_name={self.effect_name!r}, visible={self.visible!r}, layers={self.layers!r})"
62+
return (
63+
f"otio.schema.Annotation(name={self.name!r}, "
64+
f"effect_name={self.effect_name!r}, "
65+
f"visible={self.visible!r}, layers={self.layers!r})"
66+
)

src/plugins/rv-packages/otio_reader/paint_schema.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,61 +54,61 @@ def __init__(
5454
self.ghost = ghost
5555

5656
name = otio.core.serializable_field(
57-
"name", required_type=str, doc=("Name: expects a string")
57+
"name", required_type=str, doc=("name: expects a string")
5858
)
5959

6060
_points = otio.core.serializable_field(
61-
"points", required_type=list, doc=("Points: expects a list of point objects")
61+
"points", required_type=list, doc=("points: expects a list of point objects")
6262
)
6363

6464
@property
6565
def points(self) -> list:
6666
return self._points
6767

6868
@points.setter
69-
def points(self, val: list) -> None:
69+
def points(self, val: list):
7070
self._points = val
7171

7272
_rgba = otio.core.serializable_field(
73-
"rgba", required_type=list, doc=("RGBA: expects a list of four floats")
73+
"rgba", required_type=list, doc=("rgba: expects a list of four floats")
7474
)
7575

7676
@property
7777
def rgba(self) -> list:
7878
return self._rgba
7979

8080
@rgba.setter
81-
def rgba(self, val: list) -> list:
81+
def rgba(self, val: list) -> None:
8282
self._rgba = val
8383

8484
type = otio.core.serializable_field(
85-
"type", required_type=str, doc=("Type: expects a string")
85+
"type", required_type=str, doc=("type: expects a string")
8686
)
8787

8888
brush = otio.core.serializable_field(
89-
"brush", required_type=str, doc=("Brush: expects a string")
89+
"brush", required_type=str, doc=("brush: expects a string")
9090
)
9191

9292
_layer_range = otio.core.serializable_field(
9393
"layer_range",
9494
required_type=otio.opentime.TimeRange,
95-
doc=("Layer_range: expects a TimeRange object"),
95+
doc=("layer_range: expects a TimeRange object"),
9696
)
9797

9898
@property
9999
def layer_range(self) -> otio.opentime.TimeRange:
100100
return self._layer_range
101101

102102
@layer_range.setter
103-
def layer_range(self, val) -> otio.opentime.TimeRange:
103+
def layer_range(self, val):
104104
self._layer_range = val
105105

106106
_hold = otio.core.serializable_field(
107-
"hold", required_type=bool, doc=("Hold: expects either true or false")
107+
"hold", required_type=bool, doc=("hold: expects either true or false")
108108
)
109109

110110
_ghost = otio.core.serializable_field(
111-
"ghost", required_type=bool, doc=("Ghost: expects either true or false")
111+
"ghost", required_type=bool, doc=("ghost: expects either true or false")
112112
)
113113

114114
def __str__(self) -> str:

src/plugins/rv-packages/otio_reader/point_schema.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,15 @@ class Point(otio.core.SerializableObject):
3232
_name = "Point"
3333

3434
def __init__(
35-
self,
36-
width: float | None = None,
37-
x: float | None = None,
38-
y: float | None = None
35+
self, width: float | None = None, x: float | None = None, y: float | None = None
3936
) -> None:
4037
super().__init__()
4138
self.width = width
4239
self.x = x
4340
self.y = y
4441

4542
width = otio.core.serializable_field(
46-
"width", required_type=float, doc=("Width: expect a float")
43+
"width", required_type=float, doc=("width: expects a float")
4744
)
4845

4946
x = otio.core.serializable_field(
@@ -55,10 +52,9 @@ def __init__(
5552
)
5653

5754
def __str__(self) -> str:
58-
return f"Point{self.width}, {self.x}, {self.y}"
55+
return f"Point({self.width}, {self.x}, {self.y})"
5956

6057
def __repr__(self) -> str:
6158
return (
62-
f"otio.schema.Point(width={self.width!r}, x={self.x!r}, "
63-
f"y={self.y!r})"
59+
f"otio.schema.Point(width={self.width!r}, x={self.x!r}, " f"y={self.y!r})"
6460
)

0 commit comments

Comments
 (0)