SHOW:
|
|
- or go back to the newest paste.
1 | import bpy | |
2 | ||
3 | bl_info = { | |
4 | # modified version of zeffiis quick script runner, see https://gist.github.com/zeffii/2b488961226ee1ecefcf | |
5 | "name": "Sequencer Script Runner", | |
6 | "author": "Samoth", | |
7 | "version": (0, 1, 0), | |
8 | "blender": (2, 7, 6), | |
9 | "location": "Sequencer, Properties Panel (right)", | |
10 | "category": "Sequencer" | |
11 | } | |
12 | ||
13 | ||
14 | class GlobalScriptRunner(bpy.types.Operator): | |
15 | bl_idname = "sequencer.script_runner" | |
16 | bl_label = "Sequencer Script Runner" | |
17 | ||
18 | def execute(self, context): | |
19 | # or put own script here... | |
20 | textblock_name = context.scene.global_script_to_run | |
21 | textblock = bpy.data.texts.get(textblock_name) | |
22 | if textblock: | |
23 | textblock_as_string = textblock.as_string() | |
24 | exec(textblock_as_string) | |
25 | return {'FINISHED'} | |
26 | else: | |
27 | return {'CANCELLED'} | |
28 | ||
29 | ||
30 | class ScriptRunnerPanel(bpy.types.Panel): | |
31 | """Creates a Panel in the Sequencer Properties Panel""" | |
32 | bl_label = "Script Runner" | |
33 | bl_idname = "SCENE_PT_script_runner" | |
34 | bl_space_type = 'SEQUENCE_EDITOR' | |
35 | bl_region_type = 'UI' | |
36 | ||
37 | def draw(self, context): | |
38 | layout = self.layout | |
39 | layout.label('Script to run from Shortcut') | |
40 | layout.prop_search(context.scene, "global_script_to_run", bpy.data, "texts") | |
41 | ||
42 | ||
43 | def register(): | |
44 | bpy.types.Scene.global_script_to_run = bpy.props.StringProperty() | |
45 | bpy.utils.register_class(GlobalScriptRunner) | |
46 | bpy.utils.register_class(ScriptRunnerPanel) | |
47 | ||
48 | ||
49 | def unregister(): | |
50 | bpy.utils.unregister_class(GlobalScriptRunner) | |
51 | bpy.utils.unregister_class(ScriptRunnerPanel) | |
52 | del bpy.types.Scene.global_script_to_run |