Move Anim_Setup
module into Blender_Kitsu
#5
@ -6,6 +6,20 @@ from blender_kitsu import prefs
|
||||
from blender_kitsu import cache
|
||||
|
||||
|
||||
def animation_workspace_vse_area_add(self, context:bpy.types.Context):
|
||||
"""Split smallest 3D View in current workspace"""
|
||||
for workspace in [workspace for workspace in bpy.data.workspaces if workspace.name == "Animation"]:
|
||||
context.window.workspace = workspace
|
||||
context.view_layer.update()
|
||||
areas = workspace.screens[0].areas
|
||||
view_3d_areas = sorted([area for area in areas if area.ui_type =="VIEW_3D"], key=lambda x: x.width, reverse=False)
|
||||
small_view_3d = view_3d_areas[0]
|
||||
with context.temp_override(window=context.window, area=small_view_3d):
|
||||
bpy.ops.screen.area_split(direction='HORIZONTAL', factor=0.5)
|
||||
small_view_3d.ui_type = "SEQUENCE_EDITOR"
|
||||
small_view_3d.spaces[0].view_type = "PREVIEW"
|
||||
print(f"splitting viewpoert in workspace {context.workspace.name}") #USING THIS TO DEBUG
|
||||
|
||||
def animation_workspace_delete_others(self, context:bpy.types.Context):
|
||||
"""Delete any workspace that is not an animation workspace"""
|
||||
for ws in bpy.data.workspaces:
|
||||
|
@ -1,6 +1,6 @@
|
||||
import bpy
|
||||
from typing import Set
|
||||
from blender_kitsu.shot_builder.anim_setup.core import editorial_export_get_latest, animation_workspace_delete_others, split_viewport
|
||||
from blender_kitsu.shot_builder.anim_setup.core import editorial_export_get_latest, animation_workspace_delete_others, animation_workspace_vse_area_add
|
||||
|
||||
|
||||
class ANIM_SETUP_OT_setup_workspaces(bpy.types.Operator):
|
||||
@ -12,13 +12,13 @@ class ANIM_SETUP_OT_setup_workspaces(bpy.types.Operator):
|
||||
animation_workspace_delete_others(self, context)
|
||||
return {"FINISHED"}
|
||||
|
||||
class ANIM_SETUP_OT_split_viewport(bpy.types.Operator):
|
||||
bl_idname = "anim_setup.split_viewport"
|
||||
class ANIM_SETUP_OT_animation_workspace_vse_area_add(bpy.types.Operator):
|
||||
bl_idname = "anim_setup.animation_workspace_vse_area_add"
|
||||
bl_label = "Split Viewport"
|
||||
bl_description = "Split smallest 3D View in current workspace"
|
||||
|
||||
def execute(self, context: bpy.types.Context) -> Set[str]:
|
||||
split_viewport(self, context)
|
||||
animation_workspace_vse_area_add(self, context)
|
||||
return {"FINISHED"}
|
||||
|
||||
class ANIM_SETUP_OT_load_latest_edit(bpy.types.Operator):
|
||||
@ -36,7 +36,7 @@ class ANIM_SETUP_OT_load_latest_edit(bpy.types.Operator):
|
||||
classes = [
|
||||
ANIM_SETUP_OT_setup_workspaces,
|
||||
ANIM_SETUP_OT_load_latest_edit,
|
||||
ANIM_SETUP_OT_split_viewport
|
||||
ANIM_SETUP_OT_animation_workspace_vse_area_add
|
||||
]
|
||||
|
||||
|
||||
|
@ -24,7 +24,7 @@ from blender_kitsu.shot_builder.project import ensure_loaded_production, get_act
|
||||
from blender_kitsu.shot_builder.builder import ShotBuilder
|
||||
from blender_kitsu.shot_builder.task_type import TaskType
|
||||
from blender_kitsu import prefs, cache
|
||||
from blender_kitsu.shot_builder.anim_setup.core import editorial_export_get_latest, animation_workspace_delete_others
|
||||
from blender_kitsu.shot_builder.anim_setup.core import editorial_export_get_latest, animation_workspace_delete_others, animation_workspace_vse_area_add
|
||||
|
||||
_production_task_type_items: List[Tuple[str, str, str]] = []
|
||||
|
||||
@ -181,6 +181,9 @@ class SHOTBUILDER_OT_NewShotFile(bpy.types.Operator):
|
||||
context.scene.frame_start = addon_prefs.shot_builder_frame_offset
|
||||
context.scene.frame_end = shot.nb_frames + addon_prefs.shot_builder_frame_offset
|
||||
|
||||
# Show Storyboard/Animatic from VSE
|
||||
#animation_workspace_vse_area_add(self, context) # TODO FIX BECAUSE THIS DOESN"T RUN https://docs.blender.org/api/current/info_gotcha.html#no-updates-after-changing-ui-context
|
||||
|
||||
return {'FINISHED'}
|
||||
|
||||
def draw(self, context: bpy.types.Context) -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user