@@ -1238,22 +1238,37 @@ def getTimelineObjectPositions(obj):
1238
1238
fps = get_app ().project .get ("fps" )
1239
1239
fps_float = float (fps ["num" ]) / float (fps ["den" ])
1240
1240
1241
- clip_start_time = obj .data ["position" ]
1242
- clip_stop_time = obj .data ["position" ] + (obj .data ["end" ] - obj .data ["start" ])
1241
+ clip_start_time = obj .data ["position" ]
1242
+ clip_orig_time = clip_start_time - obj .data ["start" ]
1243
+ clip_stop_time = clip_orig_time + obj .data ["end" ]
1243
1244
1244
1245
# add clip boundaries
1245
- all_marker_positions .append (clip_start_time )
1246
- all_marker_positions .append (clip_stop_time )
1246
+ positions .append (clip_start_time )
1247
+ positions .append (clip_stop_time )
1247
1248
1248
1249
# add all keyframes
1249
1250
for property in obj .data :
1250
1251
try :
1251
1252
for point in obj .data [property ]["Points" ] :
1252
- keyframe_time = (point ["co" ]["X" ]- 1 )/ fps_float - obj .data ["start" ] + obj .data ["position" ]
1253
+ keyframe_time = (point ["co" ]["X" ]- 1 )/ fps_float - obj .data ["start" ] + obj .data ["position" ]
1253
1254
if keyframe_time > clip_start_time and keyframe_time < clip_stop_time :
1254
1255
positions .append (keyframe_time )
1255
1256
except (TypeError , KeyError ):
1256
1257
pass
1258
+
1259
+
1260
+ # Add all Effect keyframes
1261
+ if "effects" in obj .data :
1262
+ for effect_data in obj .data ["effects" ]:
1263
+ for property in effect_data :
1264
+ try :
1265
+ for point in effect_data [property ]["Points" ]:
1266
+ keyframe_time = (point ["co" ]["X" ]- 1 )/ fps_float + clip_orig_time
1267
+ if keyframe_time > clip_start_time and keyframe_time < clip_stop_time :
1268
+ positions .append (keyframe_time )
1269
+ except (TypeError , KeyError ):
1270
+ pass
1271
+
1257
1272
return positions
1258
1273
1259
1274
all_marker_positions = []
0 commit comments