Skip to content

Commit 0d348bb

Browse files
committed
Changed Json interface that updates the Tracker effect
1 parent 525ee64 commit 0d348bb

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/windows/video_widget.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -1018,12 +1018,13 @@ def updateEffectProperty(self, effect_id, frame_number, property_key, new_value,
10181018
found_point = False
10191019
effect_updated = False
10201020

1021+
raw_properties = json.loads(self.transforming_effect_object.Json(frame_number))
10211022
c = Effect.get(id=effect_id)
10221023
if not c:
10231024
# No clip found
10241025
return
10251026

1026-
for point in c.data[property_key]["Points"]:
1027+
for point in raw_properties[property_key]["Points"]:
10271028
log.info("looping points: co.X = %s" % point["co"]["X"])
10281029

10291030
if point["co"]["X"] == frame_number:
@@ -1035,16 +1036,18 @@ def updateEffectProperty(self, effect_id, frame_number, property_key, new_value,
10351036
if not found_point and new_value != None:
10361037
effect_updated = True
10371038
log.info("Created new point at X=%s" % frame_number)
1038-
c.data[property_key]["Points"].append({'co': {'X': frame_number, 'Y': new_value}, 'interpolation': openshot.BEZIER})
1039+
raw_properties[property_key]["Points"].append({'co': {'X': frame_number, 'Y': new_value}, 'interpolation': openshot.BEZIER})
10391040

10401041
# Reduce # of clip properties we are saving (performance boost)
1041-
c.data = {property_key: c.data.get(property_key)}
1042+
# raw_properties = {property_key: raw_properties.get(property_key)}
1043+
raw_properties_string = json.dumps(raw_properties)
1044+
1045+
self.transforming_effect_object.SetJson(frame_number, raw_properties_string)
10421046

1043-
if effect_updated:
1047+
if refresh:
10441048
c.save()
10451049
# Update the preview
1046-
if refresh:
1047-
get_app().window.refreshFrameSignal.emit()
1050+
get_app().window.refreshFrameSignal.emit()
10481051

10491052
def refreshTriggered(self):
10501053
"""Signal to refresh viewport (i.e. a property might have changed that effects the preview)"""
@@ -1263,3 +1266,4 @@ def __init__(self, *args):
12631266
self.win.KeyFrameTransformSignal.connect(self.keyFrameTransformTriggered)
12641267
self.win.SelectRegionSignal.connect(self.regionTriggered)
12651268
self.win.refreshFrameSignal.connect(self.refreshTriggered)
1269+

0 commit comments

Comments
 (0)