Advertisement
Guest User

sequencer_script_runner.py

a guest
Mar 5th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement