diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-11-22 00:39:20 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-11-22 00:39:20 +0300 |
commit | 5e7debcecf9abfd3ac441d5e5fd8cfca69c5dc34 (patch) | |
tree | 05e109594f9a6b95c33fc3257d070914a78bf5c0 /release/scripts/op | |
parent | d875f4927e430e1dfdee40ba66465efd3286b013 (diff) |
render presets, select from a directory, button to add own presets
Diffstat (limited to 'release/scripts/op')
-rw-r--r-- | release/scripts/op/render.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/release/scripts/op/render.py b/release/scripts/op/render.py new file mode 100644 index 00000000000..5a63e3e8c8b --- /dev/null +++ b/release/scripts/op/render.py @@ -0,0 +1,66 @@ +# ##### BEGIN GPL LICENSE BLOCK ##### +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ##### END GPL LICENSE BLOCK ##### + +import bpy +import os + +class AddPreset(bpy.types.Operator): + '''Add a torus mesh.''' + bl_idname = "render.preset_add" + bl_label = "Add Render Preset" + + name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen= 64, default= "New Preset") + + _preset_values = [ + "bpy.context.scene.render_data.resolution_x", + "bpy.context.scene.render_data.resolution_y", + "bpy.context.scene.render_data.pixel_aspect_x", + "bpy.context.scene.render_data.pixel_aspect_x", + "bpy.context.scene.render_data.fps", + "bpy.context.scene.render_data.fps_base", + "bpy.context.scene.render_data.resolution_percentage", + ] + + _last_preset = "" # hack to avoid remaking + + def _as_filename(self, name): # could reuse for other presets + for char in " !@#$%^&*(){}:\";'[]<>,./?": + name = name.replace('.', '_') + return name.lower() + + def execute(self, context): + + filename = self._as_filename(self.properties.name) + ".py" + + target_path = os.path.join(os.path.dirname(__file__), os.path.pardir, "presets", "render", filename) + print(target_path) + file_preset = open(target_path, 'w') + + for rna_path in self._preset_values: + file_preset.write("%s = %s\n" % (rna_path, eval(rna_path))) + + file_preset.close() + + return ('FINISHED',) + + def invoke(self, context, event): + wm = context.manager + wm.invoke_props_popup(self, event) + return ('RUNNING_MODAL',) + +bpy.ops.add(AddPreset) |