playblast dest
2.0.0 - added: possibility to change playblast destination in preferences - changed: playblast default is `playblast` folder instead of `images` - changed: completely disable experimental precise erasergpv2
parent
bf60370ab0
commit
5574c75769
|
@ -3,6 +3,9 @@
|
|||
2.0.0
|
||||
|
||||
- fix: error using playblast (api changes of Blender 3.0+)
|
||||
- added: possibility to change playblast destination in preferences
|
||||
- changed: playblast default is `playblast` folder instead of `images`
|
||||
- changed: completely disable experimental precise eraser
|
||||
|
||||
1.9.9
|
||||
|
||||
|
|
|
@ -126,6 +126,7 @@ class render_with_restore:
|
|||
def playblast(viewport = False, stamping = True):
|
||||
scn = bpy.context.scene
|
||||
res_factor = scn.gptoolprops.resolution_percentage
|
||||
playblast_path = get_addon_prefs().playblast_path
|
||||
rd = scn.render
|
||||
ff = rd.ffmpeg
|
||||
with render_with_restore():
|
||||
|
@ -157,7 +158,12 @@ def playblast(viewport = False, stamping = True):
|
|||
# mode incermental or just use fulldate (cannot create conflict and filter OK but long name)
|
||||
blend = Path(bpy.data.filepath)
|
||||
date_format = "%Y-%m-%d_%H-%M-%S"
|
||||
fp = join(blend.parent, "playblast", f'playblast_{blend.stem}_{strftime(date_format)}.mp4')
|
||||
|
||||
## old direct place
|
||||
# fp = join(blend.parent, "playblast", f'playblast_{blend.stem}_{strftime(date_format)}.mp4')
|
||||
|
||||
fp = Path(bpy.path.abspath(playblast_path)).resolve() / f'playblast_{blend.stem}_{strftime(date_format)}.mp4'
|
||||
fp = str(fp)
|
||||
|
||||
#may need a properties for choosing location : bpy.types.Scene.qrd_savepath = bpy.props.StringProperty(subtype='DIR_PATH', description="Export location, if not specify, create a 'quick_render' directory aside blend location")#(change defaut name in user_prefernece)
|
||||
rd.filepath = fp
|
||||
|
|
|
@ -309,6 +309,7 @@ def playblast(context, viewport = False, stamping = True):
|
|||
rd = scn.render
|
||||
ff = rd.ffmpeg
|
||||
|
||||
playblast_path = get_addon_prefs().playblast_path
|
||||
prefix = 'tempblast_'
|
||||
|
||||
# delete old playblast and blend files
|
||||
|
@ -351,11 +352,15 @@ def playblast(context, viewport = False, stamping = True):
|
|||
# rd.is_movie_format# check if its movie mode
|
||||
|
||||
## set filepath
|
||||
# mode incermental or just use fulldate (cannot create conflict and filter OK but long name)
|
||||
blend = Path(bpy.data.filepath)
|
||||
# mode incremental or just use fulldate (cannot create conflict and filter OK but long name)
|
||||
date_format = "%Y-%m-%d_%H-%M-%S"
|
||||
fp = join(blend.parent, "playblast", f'{prefix}{blend.stem}_{strftime(date_format)}.mp4')
|
||||
## old
|
||||
blend = Path(bpy.data.filepath)
|
||||
# fp = blend.parent / "playblast" / f'{prefix}{blend.stem}_{strftime(date_format)}.mp4'
|
||||
|
||||
## with path variable
|
||||
fp = Path(bpy.path.abspath(playblast_path)).resolve() / f'{prefix}{blend.stem}_{strftime(date_format)}.mp4'
|
||||
fp = str(fp)
|
||||
#may need a properties for choosing location : bpy.types.Scene.qrd_savepath = bpy.props.StringProperty(subtype='DIR_PATH', description="Export location, if not specify, create a 'quick_render' directory aside blend location")#(change defaut name in user_prefernece)
|
||||
rd.filepath = fp
|
||||
rd.use_stamp = stamping# toolsetting.use_stamp# True for playblast
|
||||
|
|
37
__init__.py
37
__init__.py
|
@ -43,8 +43,8 @@ from . import OP_layer_picker
|
|||
from . import OP_layer_nav
|
||||
from . import OP_material_picker
|
||||
from . import OP_git_update
|
||||
from . import OP_eraser_brush
|
||||
from . import TOOL_eraser_brush
|
||||
# from . import OP_eraser_brush
|
||||
# from . import TOOL_eraser_brush
|
||||
from . import handler_draw_cam
|
||||
from . import keymaps
|
||||
|
||||
|
@ -97,22 +97,21 @@ def remap_on_save_update(self, context):
|
|||
bpy.app.handlers.save_pre.remove(remap_relative)
|
||||
|
||||
|
||||
|
||||
def update_use_precise_eraser(self, context):
|
||||
|
||||
km, kmi = TOOL_eraser_brush.addon_keymaps[0]
|
||||
|
||||
kmi.active = self.use_precise_eraser
|
||||
## precise eraser
|
||||
# def update_use_precise_eraser(self, context):
|
||||
# km, kmi = TOOL_eraser_brush.addon_keymaps[0]
|
||||
# kmi.active = self.use_precise_eraser
|
||||
|
||||
|
||||
class GPTB_prefs(bpy.types.AddonPreferences):
|
||||
bl_idname = __name__
|
||||
|
||||
use_precise_eraser : BoolProperty(
|
||||
name='Precise Eraser',
|
||||
default=False,
|
||||
update=update_use_precise_eraser
|
||||
)
|
||||
## precise eraser
|
||||
# use_precise_eraser : BoolProperty(
|
||||
# name='Precise Eraser',
|
||||
# default=False,
|
||||
# update=update_use_precise_eraser)
|
||||
|
||||
## tabs
|
||||
|
||||
pref_tabs : EnumProperty(
|
||||
|
@ -166,6 +165,11 @@ class GPTB_prefs(bpy.types.AddonPreferences):
|
|||
description="Path relative to blend to place render",
|
||||
default="//render", maxlen=0, subtype='DIR_PATH')
|
||||
|
||||
playblast_path : StringProperty(
|
||||
name="Playblast Path",
|
||||
description="Path to folder for playblasts output",
|
||||
default="//playblast", maxlen=0, subtype='DIR_PATH')
|
||||
|
||||
use_env_palettes : BoolProperty(
|
||||
name="Use Project Palettes",
|
||||
description="Load the palette path in environnement at startup (key 'PALETTES')",
|
||||
|
@ -409,6 +413,7 @@ class GPTB_prefs(bpy.types.AddonPreferences):
|
|||
box.label(text='Playblast options:')
|
||||
box.prop(self, 'playblast_auto_play')
|
||||
box.prop(self, 'playblast_auto_open_folder')
|
||||
box.prop(self, 'playblast_path')
|
||||
|
||||
# box.separator()## Keyframe jumper
|
||||
|
||||
|
@ -464,7 +469,7 @@ class GPTB_prefs(bpy.types.AddonPreferences):
|
|||
row.prop(self, 'nav_fade_in_time', text='Fade Back Time')
|
||||
# row.prop(self, 'nav_interval') # Do not expose refresh rate for now, not usefull to user...
|
||||
|
||||
box.prop(self, 'use_precise_eraser')
|
||||
# box.prop(self, 'use_precise_eraser') # precise eraser
|
||||
|
||||
if self.is_git_repo:
|
||||
box = layout.box()
|
||||
|
@ -698,12 +703,12 @@ addon_modules = (
|
|||
OP_depth_move,
|
||||
OP_key_duplicate_send,
|
||||
OP_layer_manager,
|
||||
OP_eraser_brush,
|
||||
OP_material_picker,
|
||||
OP_git_update,
|
||||
OP_layer_picker,
|
||||
OP_layer_nav,
|
||||
TOOL_eraser_brush,
|
||||
# OP_eraser_brush,
|
||||
# TOOL_eraser_brush, # experimental eraser brush
|
||||
handler_draw_cam,
|
||||
UI_tools,
|
||||
keymaps,
|
||||
|
|
Loading…
Reference in New Issue