aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/worker
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/worker')
-rw-r--r--lv2/lv2plug.in/ns/ext/worker/worker.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/lv2/lv2plug.in/ns/ext/worker/worker.h b/lv2/lv2plug.in/ns/ext/worker/worker.h
index 6c9386b..c14397d 100644
--- a/lv2/lv2plug.in/ns/ext/worker/worker.h
+++ b/lv2/lv2plug.in/ns/ext/worker/worker.h
@@ -15,8 +15,12 @@
*/
/**
- @file worker.h C header for the LV2 Worker extension
- <http://lv2plug.in/ns/ext/worker>.
+ @defgroup worker Worker
+
+ Support for non-realtime plugin operations, see
+ <http://lv2plug.in/ns/ext/worker> for details.
+
+ @{
*/
#ifndef LV2_WORKER_H
@@ -37,7 +41,7 @@ extern "C" {
#endif
/**
- A status code for worker functions.
+ Status code for worker functions.
*/
typedef enum {
LV2_WORKER_SUCCESS = 0, /**< Completed successfully. */
@@ -45,6 +49,7 @@ typedef enum {
LV2_WORKER_ERR_NO_SPACE = 2 /**< Failed due to lack of space. */
} LV2_Worker_Status;
+/** Opaque handle for LV2_Worker_Interface::work(). */
typedef void* LV2_Worker_Respond_Handle;
/**
@@ -60,7 +65,7 @@ typedef LV2_Worker_Status (*LV2_Worker_Respond_Function)(
const void* data);
/**
- LV2 Plugin Worker Interface.
+ Plugin Worker Interface.
This is the interface provided by the plugin to implement a worker method.
The plugin's extension_data() method should return an LV2_Worker_Interface
@@ -112,8 +117,15 @@ typedef struct _LV2_Worker_Interface {
LV2_Worker_Status (*end_run)(LV2_Handle instance);
} LV2_Worker_Interface;
+/** Opaque handle for LV2_Worker_Schedule. */
typedef void* LV2_Worker_Schedule_Handle;
+/**
+ Schedule Worker Host Feature.
+
+ The host passes this feature to provide a schedule_work() function, which
+ the plugin can use to schedule a worker call from run().
+*/
typedef struct _LV2_Worker_Schedule {
/**
Opaque host data.
@@ -156,3 +168,7 @@ typedef struct _LV2_Worker_Schedule {
#endif
#endif /* LV2_WORKER_H */
+
+/**
+ @}
+*/