aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext/worker
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-26 22:03:20 +0000
committerDavid Robillard <d@drobilla.net>2012-03-26 22:03:20 +0000
commita141adb3bc0330eec00e862b324634f0d9cf137f (patch)
tree7ff74a44d12ece68691eff453765b192574aefb6 /lv2/lv2plug.in/ns/ext/worker
parentfeb2c02da801d473709d6527cef248f4edd8ea00 (diff)
downloadlv2-a141adb3bc0330eec00e862b324634f0d9cf137f.tar.xz
Write description for worker extension.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext/worker')
-rw-r--r--lv2/lv2plug.in/ns/ext/worker/worker.ttl25
1 files changed, 21 insertions, 4 deletions
diff --git a/lv2/lv2plug.in/ns/ext/worker/worker.ttl b/lv2/lv2plug.in/ns/ext/worker/worker.ttl
index ae6d81b..517aabb 100644
--- a/lv2/lv2plug.in/ns/ext/worker/worker.ttl
+++ b/lv2/lv2plug.in/ns/ext/worker/worker.ttl
@@ -30,16 +30,33 @@
doap:name "LV2 Worker" ;
doap:shortdesc "Support for a non-realtime plugin worker method." ;
lv2:documentation """
+<p>This extension allows plugins to have a non-realtime worker method, with
+thread sychronisation and communication issues handled by the host. This
+allows plugins to perform non-realtime actions (such as loading files) using a
+simple and portable API without having to worry about the complexities of
+multi-threading.</p>
+
+<p>Because the worker thread is implemented by the host, many plugins can share
+the same thread and communication buffers, which reduces bloat and fixed
+per-plugin buffer size limitations. The host has the power to implement
+threads in a suitable way, while plugins are simpler and thus less
+error-prone.</p>
+
+<p>This interface is designed to gracefully handle single-threaded synchronous
+execution, in which case the host may simply run all work immediately. This
+makes it possible for the same plugin code to work with sample accuracy for
+offline rendering, or in real-time with non-real-time work taking place in a
+separate thread.</p>
""" .
work:Interface
a rdfs:Class ;
rdfs:subClassOf lv2:ExtensionData ;
lv2:documentation """
-<p>A structure (LV2_Worker_Interface) which contains the worker method to be
-called by the host. In order to support this extension, the plugin must return
-a valid LV2_Worker_Interface from LV2_Descriptor::extension_data() when it is
-called with URI LV2_WORKER__Interface.</p>
+<p>The interface provided by the plugin to implement a worker. To implement
+this extension, the plugin must return a valid LV2_Worker_Interface from
+LV2_Descriptor::extension_data() when it is called with URI
+LV2_WORKER__Interface.</p>
<p>The plugin data file should describe this like so:</p>
<pre class="turtle-code">