diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2022-05-31 11:22:43 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2022-06-03 10:45:08 +0300 |
commit | 16d329da284c20e9dcfc0a60dcfc9b6e213ad3e0 (patch) | |
tree | 345994f9f33c4da03ab0520e473e635b6cdd62e8 /source/blender/python | |
parent | 9babe39de92ea9c5bd16f2ae2f5e5895271799c9 (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.c | 4 |
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 |