53 lines
2.3 KiB
Turtle
53 lines
2.3 KiB
Turtle
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
|
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
|
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
|
|
<http://lv2plug.in/ns/ext/worker>
|
|
a owl:Ontology ;
|
|
rdfs:seeAlso <worker.h> ,
|
|
<lv2-worker.doap.ttl> ;
|
|
lv2:documentation """
|
|
<p>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.</p>
|
|
|
|
<p>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
|
|
<q>scheduled</q> 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.</p>
|
|
""" .
|
|
|
|
work:interface
|
|
a lv2:ExtensionData ;
|
|
lv2:documentation """
|
|
<p>The work interface provided by a plugin, LV2_Worker_Interface.</p>
|
|
<pre class="turtle-code">
|
|
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
|
|
|
|
<plugin>
|
|
a lv2:Plugin ;
|
|
lv2:extensionData work:interface .
|
|
</pre>
|
|
""" .
|
|
|
|
work:schedule
|
|
a lv2:Feature ;
|
|
lv2:documentation """
|
|
<p>The work scheduling feature provided by a host, LV2_Worker_Schedule.</p>
|
|
|
|
<p>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.</p> """ .
|