From a141adb3bc0330eec00e862b324634f0d9cf137f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 26 Mar 2012 22:03:20 +0000 Subject: Write description for worker extension. --- lv2/lv2plug.in/ns/ext/worker/worker.ttl | 25 +++++++++++++++++++++---- 1 file 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 """ +

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.

+ +

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.

+ +

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.

""" . work:Interface a rdfs:Class ; rdfs:subClassOf lv2:ExtensionData ; lv2:documentation """ -

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.

+

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.

The plugin data file should describe this like so:

-- 
cgit v1.2.1