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:
+11
-7
@@ -139,7 +139,7 @@ class VSETB_PT_strip(Panel):
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
strip = context.active_sequence_strip
|
||||
strip = context.active_strip
|
||||
return strip and get_channel_name(strip) == 'Shots'
|
||||
|
||||
def draw(self, context):
|
||||
@@ -174,7 +174,7 @@ class VSETB_PT_sequencer(VSETB_main, Panel):
|
||||
settings = get_scene_settings()
|
||||
project = settings.active_project
|
||||
|
||||
strip = context.active_sequence_strip
|
||||
strip = context.active_strip
|
||||
channel = get_channel_name(strip)
|
||||
|
||||
col = layout.column()
|
||||
@@ -224,6 +224,7 @@ class VSETB_PT_imports(VSETB_main, Panel):
|
||||
#col.operator('vse_toolbox.import_files', text='Import', icon='IMPORT')
|
||||
col.operator('vse_toolbox.import_spreadsheet', text='Import Spreadsheet', icon='SPREADSHEET')
|
||||
col.operator("vse_toolbox.import_shots", text='Import Shots', icon="FILE_MOVIE")
|
||||
col.operator("vse_toolbox.import_stb_xml", text='Import STB XML', icon="FILE_TEXT")
|
||||
|
||||
|
||||
class VSETB_PT_presets(PresetPanel, Panel):
|
||||
@@ -264,10 +265,10 @@ class VSETB_PT_tracker(VSETB_main, Panel):
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return context.active_sequence_strip
|
||||
return context.active_strip
|
||||
|
||||
def draw_header_preset(self, context):
|
||||
active_strip = context.active_sequence_strip
|
||||
active_strip = context.active_strip
|
||||
self.layout.label(text=active_strip.name)
|
||||
|
||||
def draw(self, context):
|
||||
@@ -280,7 +281,7 @@ class VSETB_PT_casting(VSETB_main, Panel):
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
strip = context.active_sequence_strip
|
||||
strip = context.active_strip
|
||||
return strip and get_channel_name(strip) == 'Shots'
|
||||
|
||||
def draw(self, context):
|
||||
@@ -315,6 +316,8 @@ class VSETB_PT_casting(VSETB_main, Panel):
|
||||
col_tool.separator()
|
||||
|
||||
col_tool.operator('vse_toolbox.casting_replace', icon='ZOOM_ALL', text="")
|
||||
col_tool.separator()
|
||||
col_tool.operator('vse_toolbox.casting_create_asset', icon='PLUS', text="")
|
||||
|
||||
if strip_settings.casting:
|
||||
casting_item = strip_settings.casting[strip_settings.casting_index]
|
||||
@@ -336,7 +339,7 @@ class VSETB_PT_metadata(VSETB_main, Panel):
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return context.active_sequence_strip and get_scene_settings().active_project
|
||||
return context.active_strip and get_scene_settings().active_project
|
||||
|
||||
def draw(self, context):
|
||||
|
||||
@@ -383,7 +386,7 @@ class VSETB_PT_comments(VSETB_main, Panel):
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return context.active_sequence_strip and get_scene_settings().active_project
|
||||
return context.active_strip and get_scene_settings().active_project
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
@@ -455,6 +458,7 @@ class VSETB_MT_main_menu(Menu):
|
||||
layout.operator('vse_toolbox.remove_channel', text='Remove Channel', icon='TRIA_DOWN_BAR')
|
||||
layout.separator()
|
||||
layout.operator('vse_toolbox.merge_shot_strips', text='Merge Shots')
|
||||
layout.operator('vse_toolbox.create_sequence_strip', text='Create Sequence')
|
||||
layout.operator('vse_toolbox.scene_cut_detection', text='Scene Cut Detection', icon='SCULPTMODE_HLT')
|
||||
|
||||
def draw_vse_toolbox_menu(self, context):
|
||||
|
||||
Reference in New Issue
Block a user