Blender 5.0 compat + STB XML import + sequence/stamps improvements
- Fix Blender 5.0 API: active_sequence_strip → active_strip, bracket property access on AddonPreferences, _RestrictContext during register() - Fix new_effect() frame_end → length for Blender 5.0 - Fix OTIO adapter kwargs (rate/ignore_timecode_mismatch only for cmx_3600) - Fix OTIO global_start_time RationalTime → int conversion - Add Import STB XML operator with movie strip import and XML patching for Storyboard Pro transitions missing <alignment> - Add Create Sequence Strip operator (select shots → create sequence) - Improve Set Stamps: channel at top, no conflict with existing strips, use raw strip names in templates - TVSHOW episode fixes: sequence loading, episode creation - Kitsu: new_asset, new_episode, admin_connect fix, gazu version pin - Fix escape warnings in file_utils regex patterns - Guard handler registration against duplicates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-6
@@ -36,28 +36,34 @@ import bpy
|
||||
|
||||
|
||||
def register():
|
||||
bpy.app.handlers.frame_change_post.append(update_text_strips)
|
||||
bpy.app.handlers.render_pre.append(update_text_strips)
|
||||
if update_text_strips not in bpy.app.handlers.frame_change_post:
|
||||
bpy.app.handlers.frame_change_post.append(update_text_strips)
|
||||
if update_text_strips not in bpy.app.handlers.render_pre:
|
||||
bpy.app.handlers.render_pre.append(update_text_strips)
|
||||
|
||||
for module in modules:
|
||||
module.register()
|
||||
|
||||
bpy.app.handlers.frame_change_post.append(set_active_strip)
|
||||
if set_active_strip not in bpy.app.handlers.frame_change_post:
|
||||
bpy.app.handlers.frame_change_post.append(set_active_strip)
|
||||
|
||||
prefs = get_addon_prefs()
|
||||
#print('\n\n-------------------', prefs.config_path)
|
||||
|
||||
|
||||
def unregister():
|
||||
bpy.app.handlers.frame_change_post.remove(update_text_strips)
|
||||
bpy.app.handlers.render_pre.remove(update_text_strips)
|
||||
if update_text_strips in bpy.app.handlers.frame_change_post:
|
||||
bpy.app.handlers.frame_change_post.remove(update_text_strips)
|
||||
if update_text_strips in bpy.app.handlers.render_pre:
|
||||
bpy.app.handlers.render_pre.remove(update_text_strips)
|
||||
|
||||
try:
|
||||
bpy.utils.previews.remove(ASSET_PREVIEWS)
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
bpy.app.handlers.frame_change_post.remove(set_active_strip)
|
||||
if set_active_strip in bpy.app.handlers.frame_change_post:
|
||||
bpy.app.handlers.frame_change_post.remove(set_active_strip)
|
||||
for module in reversed(modules):
|
||||
module.unregister()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user