mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Make configurable to set resolution and start/end frames at startup
This commit is contained in:
parent
7ee43eef70
commit
27d3edb89a
3 changed files with 58 additions and 18 deletions
|
|
@ -113,22 +113,21 @@ def message_window(title, message):
|
|||
_process_app_events()
|
||||
|
||||
|
||||
def set_start_end_frames():
|
||||
def _get_asset_data():
|
||||
project_name = get_current_project_name()
|
||||
asset_name = get_current_asset_name()
|
||||
asset_doc = get_asset_by_name(project_name, asset_name)
|
||||
|
||||
return asset_doc.get("data")
|
||||
|
||||
|
||||
def set_start_end_frames(data):
|
||||
scene = bpy.context.scene
|
||||
|
||||
# Default scene settings
|
||||
frameStart = scene.frame_start
|
||||
frameEnd = scene.frame_end
|
||||
fps = scene.render.fps / scene.render.fps_base
|
||||
resolution_x = scene.render.resolution_x
|
||||
resolution_y = scene.render.resolution_y
|
||||
|
||||
# Check if settings are set
|
||||
data = asset_doc.get("data")
|
||||
|
||||
if not data:
|
||||
return
|
||||
|
|
@ -139,26 +138,47 @@ def set_start_end_frames():
|
|||
frameEnd = data.get("frameEnd")
|
||||
if data.get("fps"):
|
||||
fps = data.get("fps")
|
||||
if data.get("resolutionWidth"):
|
||||
resolution_x = data.get("resolutionWidth")
|
||||
if data.get("resolutionHeight"):
|
||||
resolution_y = data.get("resolutionHeight")
|
||||
|
||||
scene.frame_start = frameStart
|
||||
scene.frame_end = frameEnd
|
||||
scene.render.fps = round(fps)
|
||||
scene.render.fps_base = round(fps) / fps
|
||||
|
||||
|
||||
def set_resolution(data):
|
||||
scene = bpy.context.scene
|
||||
|
||||
# Default scene settings
|
||||
resolution_x = scene.render.resolution_x
|
||||
resolution_y = scene.render.resolution_y
|
||||
|
||||
if not data:
|
||||
return
|
||||
|
||||
if data.get("resolutionWidth"):
|
||||
resolution_x = data.get("resolutionWidth")
|
||||
if data.get("resolutionHeight"):
|
||||
resolution_y = data.get("resolutionHeight")
|
||||
|
||||
scene.render.resolution_x = resolution_x
|
||||
scene.render.resolution_y = resolution_y
|
||||
|
||||
|
||||
def on_new():
|
||||
set_start_end_frames()
|
||||
|
||||
project = os.environ.get("AVALON_PROJECT")
|
||||
settings = get_project_settings(project)
|
||||
settings = get_project_settings(project).get("blender")
|
||||
|
||||
unit_scale_settings = settings.get("blender").get("unit_scale_settings")
|
||||
set_resolution_startup = settings.get("set_resolution_startup")
|
||||
set_frames_startup = settings.get("set_frames_startup")
|
||||
|
||||
data = _get_asset_data()
|
||||
|
||||
if set_resolution_startup:
|
||||
set_resolution(data)
|
||||
if set_frames_startup:
|
||||
set_start_end_frames(data)
|
||||
|
||||
unit_scale_settings = settings.get("unit_scale_settings")
|
||||
unit_scale_enabled = unit_scale_settings.get("enabled")
|
||||
if unit_scale_enabled:
|
||||
unit_scale = unit_scale_settings.get("base_file_unit_scale")
|
||||
|
|
@ -166,12 +186,20 @@ def on_new():
|
|||
|
||||
|
||||
def on_open():
|
||||
set_start_end_frames()
|
||||
|
||||
project = os.environ.get("AVALON_PROJECT")
|
||||
settings = get_project_settings(project)
|
||||
settings = get_project_settings(project).get("blender")
|
||||
|
||||
unit_scale_settings = settings.get("blender").get("unit_scale_settings")
|
||||
set_resolution_startup = settings.get("set_resolution_startup")
|
||||
set_frames_startup = settings.get("set_frames_startup")
|
||||
|
||||
data = _get_asset_data()
|
||||
|
||||
if set_resolution_startup:
|
||||
set_resolution(data)
|
||||
if set_frames_startup:
|
||||
set_start_end_frames(data)
|
||||
|
||||
unit_scale_settings = settings.get("unit_scale_settings")
|
||||
unit_scale_enabled = unit_scale_settings.get("enabled")
|
||||
apply_on_opening = unit_scale_settings.get("apply_on_opening")
|
||||
if unit_scale_enabled and apply_on_opening:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
"apply_on_opening": false,
|
||||
"base_file_unit_scale": 0.01
|
||||
},
|
||||
"set_resolution_startup": true,
|
||||
"set_frames_startup": true,
|
||||
"imageio": {
|
||||
"activate_host_color_management": true,
|
||||
"ocio_config": {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,16 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "set_resolution_startup",
|
||||
"type": "boolean",
|
||||
"label": "Set Resolution on Startup"
|
||||
},
|
||||
{
|
||||
"key": "set_frames_startup",
|
||||
"type": "boolean",
|
||||
"label": "Set Start/End Frames and FPS on Startup"
|
||||
},
|
||||
{
|
||||
"key": "imageio",
|
||||
"type": "dict",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue