diff options
Diffstat (limited to 'io_shape_mdd/__init__.py')
-rw-r--r-- | io_shape_mdd/__init__.py | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/io_shape_mdd/__init__.py b/io_shape_mdd/__init__.py index b36bebc0..8a6450b1 100644 --- a/io_shape_mdd/__init__.py +++ b/io_shape_mdd/__init__.py @@ -40,7 +40,7 @@ if "bpy" in locals(): import bpy -from bpy.props import StringProperty, IntProperty +from bpy.props import StringProperty, IntProperty, FloatProperty from bpy_extras.io_utils import ExportHelper, ImportHelper @@ -70,16 +70,16 @@ class ImportMDD(bpy.types.Operator, ImportHelper): @classmethod def poll(cls, context): - ob = context.active_object - return (ob and ob.type == 'MESH') - - def execute(self, context): + obj = context.active_object + return (obj and obj.type == 'MESH') - # initialize from scene if unset + def invoke(self, context, event): scene = context.scene - if not self.frame_start: - self.frame_start = scene.frame_current + self.frame_start = scene.frame_start + + return super().invoke(context, event) + def execute(self, context): keywords = self.as_keywords(ignore=("filter_glob",)) from . import import_mdd @@ -98,16 +98,16 @@ class ExportMDD(bpy.types.Operator, ExportHelper): minframe = 1 maxframe = 300000 - minfps = 1 - maxfps = 120 + minfps = 1.0 + maxfps = 120.0 # List of operator properties, the attributes will be assigned # to the class instance from the operator settings before calling. - fps = IntProperty( + fps = FloatProperty( name="Frames Per Second", description="Number of frames/second", min=minfps, max=maxfps, - default=25, + default=25.0, ) frame_start = IntProperty( name="Start Frame", @@ -127,16 +127,15 @@ class ExportMDD(bpy.types.Operator, ExportHelper): obj = context.active_object return (obj and obj.type == 'MESH') - def execute(self, context): - # initialize from scene if unset + def invoke(self, context, event): scene = context.scene - if not self.frame_start: - self.frame_start = scene.frame_start - if not self.frame_end: - self.frame_end = scene.frame_end - if not self.fps: - self.fps = scene.render.fps + self.frame_start = scene.frame_start + self.frame_end = scene.frame_end + self.fps = scene.render.fps / scene.render.fps_base + return super().invoke(context, event) + + def execute(self, context): keywords = self.as_keywords(ignore=("check_existing", "filter_glob")) from . import export_mdd |