Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2022-05-31 11:22:43 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2022-06-03 10:45:08 +0300
commit16d329da284c20e9dcfc0a60dcfc9b6e213ad3e0 (patch)
tree345994f9f33c4da03ab0520e473e635b6cdd62e8 /source/blender/python
parent9babe39de92ea9c5bd16f2ae2f5e5895271799c9 (diff)
Compositor: add pre/post/cancel handlers and background job info
Main motivation is from T54314 where there was no way to read from a Viewer image datablock after the compositor has run. The only solution there was to do a full rerender (which obviously takes much longer). Adding a handler avoids having to rerender. This uses new syntax from rBf4456a4d3c97 and also adds "COMPOSITE" as a job type that can be queried by `bpy.app.is_job_running`. NOTE: there is another issue when multiple viewers are used and these get active via RNA (compo execution is not triggered there yet -- unlike when a viewer is selected in the Editor -- this is an issue of `ED_node_set_active` vs. only `nodeSetActive`, but this will be tackled separately) Maniphest Tasks: T54314 Differential Revision: https://developer.blender.org/D15078
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/intern/bpy_app_handlers.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c
index 40f4b8af1cc..641727927ec 100644
--- a/source/blender/python/intern/bpy_app_handlers.c
+++ b/source/blender/python/intern/bpy_app_handlers.c
@@ -66,10 +66,12 @@ static PyStructSequence_Field app_cb_info_fields[] = {
{"xr_session_start_pre", "on starting an xr session (before)"},
{"annotation_pre", "on drawing an annotation (before)"},
{"annotation_post", "on drawing an annotation (after)"},
-
{"object_bake_pre", "before starting a bake job"},
{"object_bake_complete", "on completing a bake job; will be called in the main thread"},
{"object_bake_cancel", "on canceling a bake job; will be called in the main thread"},
+ {"composite_pre", "on a compositing background job (before)"},
+ {"composite_post", "on a compositing background job (after)"},
+ {"composite_cancel", "on a compositing background job (cancel)"},
/* sets the permanent tag */
#define APP_CB_OTHER_FIELDS 1