Skip to content
Snippets Groups Projects
Commit b192f64f authored by Jacques Lucke's avatar Jacques Lucke
Browse files

Demo Mode: port Demo Mode addon to Blender 2.8

Not sure if I fixed everything.. At least it runs again.
Might have to do more tests, never used this addon before.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D3729
parent ff7ded09
No related branches found
No related tags found
No related merge requests found
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
bl_info = { bl_info = {
"name": "Demo Mode", "name": "Demo Mode",
"author": "Campbell Barton", "author": "Campbell Barton",
"blender": (2, 57, 0), "blender": (2, 80, 0),
"location": "Demo Menu", "location": "Demo Menu",
"description": "Demo mode lets you select multiple blend files and loop over them.", "description": "Demo mode lets you select multiple blend files and loop over them.",
"warning": "", "warning": "",
...@@ -39,12 +39,12 @@ if "bpy" in locals(): ...@@ -39,12 +39,12 @@ if "bpy" in locals():
import bpy import bpy
from bpy.props import ( from bpy.props import (
StringProperty, StringProperty,
BoolProperty, BoolProperty,
IntProperty, IntProperty,
FloatProperty, FloatProperty,
EnumProperty, EnumProperty,
) )
class DemoModeSetup(bpy.types.Operator): class DemoModeSetup(bpy.types.Operator):
...@@ -57,85 +57,84 @@ class DemoModeSetup(bpy.types.Operator): ...@@ -57,85 +57,84 @@ class DemoModeSetup(bpy.types.Operator):
# to the class instance from the operator settings before calling. # to the class instance from the operator settings before calling.
# these are used to create the file list. # these are used to create the file list.
directory = StringProperty( directory: StringProperty(
name="Search Path", name="Search Path",
description="Directory used for importing the file", description="Directory used for importing the file",
maxlen=1024, maxlen=1024,
subtype='DIR_PATH', subtype='DIR_PATH',
) )
random_order = BoolProperty( random_order: BoolProperty(
name="Random Order", name="Random Order",
description="Select files randomly", description="Select files randomly",
default=False, default=False,
) )
mode = EnumProperty( mode: EnumProperty(
name="Method", name="Method",
items=(('AUTO', "Auto", ""), items=(('AUTO', "Auto", ""),
('PLAY', "Play", ""), ('PLAY', "Play", ""),
('RENDER', "Render", ""), ('RENDER', "Render", ""))
), )
)
run: BoolProperty(
run = BoolProperty( name="Run Immediately!",
name="Run Immediately!", description="Run demo immediately",
description="Run demo immediately", default=True,
default=True, )
) exit: BoolProperty(
exit = BoolProperty( name="Exit",
name="Exit", description="Run once and exit",
description="Run once and exit", default=False,
default=False, )
)
# these are mapped directly to the config! # these are mapped directly to the config!
# #
# anim # anim
# ==== # ====
anim_cycles = IntProperty( anim_cycles: IntProperty(
name="Cycles", name="Cycles",
description="Number of times to play the animation", description="Number of times to play the animation",
min=1, max=1000, min=1, max=1000,
default=2, default=2,
) )
anim_time_min = FloatProperty( anim_time_min: FloatProperty(
name="Time Min", name="Time Min",
description="Minimum number of seconds to show the animation for " description="Minimum number of seconds to show the animation for "
"(for small loops)", "(for small loops)",
min=0.0, max=1000.0, min=0.0, max=1000.0,
soft_min=1.0, soft_max=1000.0, soft_min=1.0, soft_max=1000.0,
default=4.0, default=4.0,
) )
anim_time_max = FloatProperty( anim_time_max: FloatProperty(
name="Time Max", name="Time Max",
description="Maximum number of seconds to show the animation for " description="Maximum number of seconds to show the animation for "
"(in case the end frame is very high for no reason)", "(in case the end frame is very high for no reason)",
min=0.0, max=100000000.0, min=0.0, max=100000000.0,
soft_min=1.0, soft_max=100000000.0, soft_min=1.0, soft_max=100000000.0,
default=8.0, default=8.0,
) )
anim_screen_switch = FloatProperty( anim_screen_switch: FloatProperty(
name="Screen Switch", name="Screen Switch",
description="Time between switching screens (in seconds) " description="Time between switching screens (in seconds) "
"or 0 to disable", "or 0 to disable",
min=0.0, max=100000000.0, min=0.0, max=100000000.0,
soft_min=1.0, soft_max=60.0, soft_min=1.0, soft_max=60.0,
default=0.0, default=0.0,
) )
# #
# render # render
# ====== # ======
display_render = FloatProperty( display_render: FloatProperty(
name="Render Delay", name="Render Delay",
description="Time to display the rendered image before moving on " description="Time to display the rendered image before moving on "
"(in seconds)", "(in seconds)",
min=0.0, max=60.0, min=0.0, max=60.0,
default=4.0, default=4.0,
) )
anim_render = BoolProperty( anim_render: BoolProperty(
name="Render Anim", name="Render Anim",
description="Render entire animation (render mode only)", description="Render entire animation (render mode only)",
default=False, default=False,
) )
def execute(self, context): def execute(self, context):
from . import config from . import config
...@@ -168,13 +167,13 @@ class DemoModeSetup(bpy.types.Operator): ...@@ -168,13 +167,13 @@ class DemoModeSetup(bpy.types.Operator):
layout = self.layout layout = self.layout
box = layout.box() box = layout.box()
box.label("Search *.blend recursively") box.label(text="Search *.blend recursively")
box.label("Writes: demo.py config text") box.label(text="Writes: demo.py config text")
layout.prop(self, "run") layout.prop(self, "run")
layout.prop(self, "exit") layout.prop(self, "exit")
layout.label("Generate Settings:") layout.label(text="Generate Settings:")
row = layout.row() row = layout.row()
row.prop(self, "mode", expand=True) row.prop(self, "mode", expand=True)
layout.prop(self, "random_order") layout.prop(self, "random_order")
...@@ -184,7 +183,7 @@ class DemoModeSetup(bpy.types.Operator): ...@@ -184,7 +183,7 @@ class DemoModeSetup(bpy.types.Operator):
layout.separator() layout.separator()
sub = layout.column() sub = layout.column()
sub.active = (mode in {'AUTO', 'PLAY'}) sub.active = (mode in {'AUTO', 'PLAY'})
sub.label("Animate Settings:") sub.label(text="Animate Settings:")
sub.prop(self, "anim_cycles") sub.prop(self, "anim_cycles")
sub.prop(self, "anim_time_min") sub.prop(self, "anim_time_min")
sub.prop(self, "anim_time_max") sub.prop(self, "anim_time_max")
...@@ -193,7 +192,7 @@ class DemoModeSetup(bpy.types.Operator): ...@@ -193,7 +192,7 @@ class DemoModeSetup(bpy.types.Operator):
layout.separator() layout.separator()
sub = layout.column() sub = layout.column()
sub.active = (mode in {'AUTO', 'RENDER'}) sub.active = (mode in {'AUTO', 'RENDER'})
sub.label("Render Settings:") sub.label(text="Render Settings:")
sub.prop(self, "display_render") sub.prop(self, "display_render")
......
...@@ -154,7 +154,7 @@ def demo_mode_next_file(step=1): ...@@ -154,7 +154,7 @@ def demo_mode_next_file(step=1):
def demo_mode_timer_add(): def demo_mode_timer_add():
global_state["timer"] = bpy.context.window_manager.event_timer_add(0.8, bpy.context.window) global_state["timer"] = bpy.context.window_manager.event_timer_add(0.8, window=bpy.context.window)
def demo_mode_timer_remove(): def demo_mode_timer_remove():
...@@ -418,12 +418,12 @@ class DemoModeControl(bpy.types.Operator): ...@@ -418,12 +418,12 @@ class DemoModeControl(bpy.types.Operator):
bl_idname = "wm.demo_mode_control" bl_idname = "wm.demo_mode_control"
bl_label = "Control" bl_label = "Control"
mode = bpy.props.EnumProperty(items=( mode: bpy.props.EnumProperty(
('PREV', "Prev", ""), items=(('PREV', "Prev", ""),
('PAUSE', "Pause", ""), ('PAUSE', "Pause", ""),
('NEXT', "Next", ""), ('NEXT', "Next", "")),
), name="Mode"
name="Mode") )
def execute(self, context): def execute(self, context):
mode = self.mode mode = self.mode
...@@ -441,7 +441,7 @@ def menu_func(self, context): ...@@ -441,7 +441,7 @@ def menu_func(self, context):
layout = self.layout layout = self.layout
layout.operator_context = 'EXEC_DEFAULT' layout.operator_context = 'EXEC_DEFAULT'
row = layout.row(align=True) row = layout.row(align=True)
row.label("Demo Mode:") row.label(text="Demo Mode:")
if not DemoMode.enabled: if not DemoMode.enabled:
row.operator("wm.demo_mode", icon='PLAY', text="") row.operator("wm.demo_mode", icon='PLAY', text="")
else: else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment