From 4db67120efca2d4c200d2e1ba5cf3d7b97cab97e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 22 Sep 2018 20:38:01 +0200 Subject: Install standard headers to simpler include paths --- lv2/worker/worker.ttl | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 lv2/worker/worker.ttl (limited to 'lv2/worker/worker.ttl') diff --git a/lv2/worker/worker.ttl b/lv2/worker/worker.ttl new file mode 100644 index 0000000..6b32742 --- /dev/null +++ b/lv2/worker/worker.ttl @@ -0,0 +1,53 @@ +@prefix lv2: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix work: . +@prefix xsd: . + + + a owl:Ontology ; + rdfs:seeAlso , + ; + lv2:documentation """ +

This extension allows plugins to schedule work that must be performed in +another thread. Plugins can use this interface to safely perform work that is +not real-time safe, and receive the result in the run context. The details of +threading are managed by the host, allowing plugins to be simple and portable +while using resources more efficiently.

+ +

This interface is designed to gracefully support single-threaded synchronous +execution, which allows the same code to work with sample accuracy for offline +rendering. For example, a sampler plugin may schedule a sample to be loaded +from disk in another thread. During live execution, the host will call the +plugin's work method from another thread, and deliver the result to the audio +thread when it is finished. However, during offline export, the +scheduled load would be executed immediately in the same thread. This +enables reproducible offline rendering, where any changes affect the output +immediately regardless of how long the work takes to execute.

+""" . + +work:interface + a lv2:ExtensionData ; + lv2:documentation """ +

The work interface provided by a plugin, LV2_Worker_Interface.

+
+@prefix work: <http://lv2plug.in/ns/ext/worker#> .
+
+<plugin>
+    a lv2:Plugin ;
+    lv2:extensionData work:interface .
+
+""" . + +work:schedule + a lv2:Feature ; + lv2:documentation """ +

The work scheduling feature provided by a host, LV2_Worker_Schedule.

+ +

If the host passes this feature to LV2_Descriptor::instantiate, the plugin +MAY use it to schedule work in the audio thread, and MUST NOT call it in any +other context. Hosts MAY pass this feature to other functions as well, in +which case the plugin MAY use it to schedule work in the calling context. The +plugin MUST NOT assume any relationship between different schedule +features.

""" . -- cgit v1.2.1