Been poking at this for a couple days and figured I'd post it to the ML before I spent too much time on it.
Registration (non-automagic) works like operators, menus and KeyingSetInfo (which I didn't even know existed). There's some simple logic and an optional poll function to determine if execute() should be called in response to an event. A simple test case that prints to the console on a frame change event: --------------------------------------------------------------------------------------------------- import bpy class foo(bpy.types.Listener): bl_idname = "foo" bl_label = "foo" bl_description = "foo goodness" bl_category = "SCENE" bl_data = "FRAME" def poll(self, context, note): if note.data == "SCENE": return True return False def execute(self, context, note): print('Frame:', context.scene.frame_current) if __name__ == "__main__": bpy.types.register(foo) --------------------------------------------------------------------------------------------------- The notifiers still need some cleaning up and probably a means to fire them from scripts. The WIP patch -- http://www.pasteall.org/16578/diff Dan _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers