From 178c2c32f2b39e8d797ca4e4fed3fb9283e3e210 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 11 Mar 2012 17:24:03 +0000 Subject: [#30503] Callback for render job completion from Jason van Gumster (thefallenweeble) adds render_complete and render_cancel callbacks to bpy.app.handlers --- source/blender/blenlib/BLI_callbacks.h | 2 ++ source/blender/python/intern/bpy_app_handlers.c | 2 ++ source/blender/render/intern/source/pipeline.c | 4 ++++ 3 files changed, 8 insertions(+) (limited to 'source') diff --git a/source/blender/blenlib/BLI_callbacks.h b/source/blender/blenlib/BLI_callbacks.h index f4f92a0cbee..b32a1e272c8 100644 --- a/source/blender/blenlib/BLI_callbacks.h +++ b/source/blender/blenlib/BLI_callbacks.h @@ -42,6 +42,8 @@ typedef enum { BLI_CB_EVT_RENDER_PRE, BLI_CB_EVT_RENDER_POST, BLI_CB_EVT_RENDER_STATS, + BLI_CB_EVT_RENDER_COMPLETE, + BLI_CB_EVT_RENDER_CANCEL, BLI_CB_EVT_LOAD_PRE, BLI_CB_EVT_LOAD_POST, BLI_CB_EVT_SAVE_PRE, diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c index f4962cd39b6..daa842f0629 100644 --- a/source/blender/python/intern/bpy_app_handlers.c +++ b/source/blender/python/intern/bpy_app_handlers.c @@ -47,6 +47,8 @@ static PyStructSequence_Field app_cb_info_fields[] = { {(char *)"render_pre", (char *)"Callback list - on render (before)"}, {(char *)"render_post", (char *)"Callback list - on render (after)"}, {(char *)"render_stats", (char *)"Callback list - on printing render statistics"}, + {(char *)"render_complete", (char *)"Callback list - on completion of render job"}, + {(char *)"render_cancel", (char *)"Callback list - on cancelling a render job"}, {(char *)"load_pre", (char *)"Callback list - on loading a new blend file (before)"}, {(char *)"load_post", (char *)"Callback list - on loading a new blend file (after)"}, {(char *)"save_pre", (char *)"Callback list - on saving a blend file (before)"}, diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 73305755fc5..87d55795924 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2022,6 +2022,8 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */ } + BLI_exec_cb(re->main, (ID *)scene, G.afbreek ? BLI_CB_EVT_RENDER_CANCEL : BLI_CB_EVT_RENDER_COMPLETE); + /* UGLY WARNING */ G.rendering= 0; } @@ -2239,6 +2241,8 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri re->flag &= ~R_ANIMATION; + BLI_exec_cb(re->main, (ID *)scene, G.afbreek ? BLI_CB_EVT_RENDER_CANCEL : BLI_CB_EVT_RENDER_COMPLETE); + /* UGLY WARNING */ G.rendering= 0; } -- cgit v1.2.3