path: root/lv2/lv2plug.in/ns/ext/worker
diff options
authorDavid Robillard <d@drobilla.net>2012-03-27 00:17:35 +0000
committerDavid Robillard <d@drobilla.net>2012-03-27 00:17:35 +0000
commit4f93a2176809dab5792eca26f59f908ee1aac793 (patch)
tree474a28263eae5d01d6e623daee1cc458f9db5acb /lv2/lv2plug.in/ns/ext/worker
parent882cb0ae306d8a26699a1c9224640cc8cf8971a3 (diff)
Add end_run hook to worker interface.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/worker')
1 files changed, 12 insertions, 0 deletions
diff --git a/lv2/lv2plug.in/ns/ext/worker/worker.h b/lv2/lv2plug.in/ns/ext/worker/worker.h
index 6b1e261..b0d87ec 100644
--- a/lv2/lv2plug.in/ns/ext/worker/worker.h
+++ b/lv2/lv2plug.in/ns/ext/worker/worker.h
@@ -94,6 +94,18 @@ typedef struct _LV2_Worker_Interface {
LV2_Worker_Status (*work_response)(LV2_Handle instance,
uint32_t size,
const void* body);
+ /**
+ Called when all responses for this cycle have been delivered.
+ Since work_response() may be called after run() finished, this provides
+ a hook for code that must run after the cycle is completed.
+ This field may be NULL if the plugin has no use for it. Otherwise, the
+ host MUST call it after every run(), regardless of whether or not any
+ responses were sent that cycle.
+ */
+ LV2_Worker_Status (*end_run)(LV2_Handle instance);
} LV2_Worker_Interface;
typedef void* LV2_Worker_Schedule_Handle;