diff options
Diffstat (limited to 'lv2/dynmanifest/dynmanifest.meta.ttl')
-rw-r--r-- | lv2/dynmanifest/dynmanifest.meta.ttl | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/lv2/dynmanifest/dynmanifest.meta.ttl b/lv2/dynmanifest/dynmanifest.meta.ttl deleted file mode 100644 index 4e66d98..0000000 --- a/lv2/dynmanifest/dynmanifest.meta.ttl +++ /dev/null @@ -1,131 +0,0 @@ -@prefix dcs: <http://ontologi.es/doap-changeset#> . -@prefix dman: <http://lv2plug.in/ns/ext/dynmanifest#> . -@prefix doap: <http://usefulinc.com/ns/doap#> . -@prefix foaf: <http://xmlns.com/foaf/0.1/> . -@prefix lv2: <http://lv2plug.in/ns/lv2core#> . -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . - -<http://lv2plug.in/ns/ext/dynmanifest> - a doap:Project ; - doap:license <http://opensource.org/licenses/isc> ; - doap:name "LV2 Dynamic Manifest" ; - doap:homepage <http://naspro.atheme.org> ; - doap:created "2009-06-13" ; - doap:shortdesc "Support for dynamic manifest data generation." ; - doap:programming-language "C" ; - doap:developer <http://lv2plug.in/ns/meta#daste> ; - doap:release [ - doap:revision "1.6" ; - doap:created "2012-10-14" ; - doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ; - dcs:blame <http://drobilla.net/drobilla#me> ; - dcs:changeset [ - dcs:item [ - rdfs:label "Use consistent label style." - ] - ] - ] , [ - doap:revision "1.4" ; - doap:created "2012-04-17" ; - doap:file-release <http://lv2plug.in/spec/lv2-1.0.0.tar.bz2> ; - dcs:blame <http://drobilla.net/drobilla#me> ; - dcs:changeset [ - dcs:item [ - rdfs:label "Merge with unified LV2 package." - ] - ] - ] , [ - doap:revision "1.2" ; - doap:created "2011-11-21" ; - doap:file-release <http://lv2plug.in/spec/lv2-dynmanifest-1.2.tar.bz2> ; - dcs:blame <http://drobilla.net/drobilla#me> ; - dcs:changeset [ - dcs:item [ - rdfs:label "Improve documentation." - ] - ] - ] , [ - doap:revision "1.0" ; - doap:created "2010-04-10" ; - doap:file-release <http://lv2plug.in/spec/lv2-dyn-manifest-1.0.tar.gz> ; - dcs:blame <http://drobilla.net/drobilla#me> ; - dcs:changeset [ - dcs:item [ - rdfs:label "Initial release." - ] - ] - ] ; - lv2:documentation """ - -The LV2 API, on its own, cannot be used to write plugin libraries where data is -dynamically generated at runtime, since LV2 requires needed information to be -provided in one or more static data (RDF) files. This API addresses this -limitation by extending the LV2 API. - -To detect that a plugin library implements a dynamic manifest generator, the -host checks its static manifest for a description like: - - :::turtle - <http://example.org/my-dynamic-manifest> - a dman:DynManifest ; - lv2:binary <mydynmanifest.so> . - -To load the data, the host loads the library (`mydynmanifest.so` in this -example) as usual and fetches the dynamic Turtle data from it using this API. - -The host is allowed to request regeneration of the dynamic manifest multiple -times, and the plugin library is expected to provide updated data if/when -possible. All data and references provided via this API before the last -regeneration of the dynamic manifest is to be considered invalid by the host, -including plugin descriptors whose URIs were discovered using this API. - -### Accessing Data - -To access data using this API, the host must: - - 1. Call lv2_dyn_manifest_open(). - - 2. Create a `FILE` for functions to write data to (for example with `tmpfile()`). - - 3. Get a list of exposed subject URIs using lv2_dyn_manifest_get_subjects(). - - 4. Call lv2_dyn_manifest_get_data() for each URI of interest to write the - related data to the file. - - 5. Call lv2_dyn_manifest_close(). - - 6. Parse the content of the file(s). - - 7. Remove the file(s). - -Each call to the above mentioned dynamic manifest functions MUST write a -complete, valid Turtle document (including all needed prefix definitions) to -the output FILE. - -Each call to lv2_dyn_manifest_open() causes the (re)generation of the dynamic -manifest data, and invalidates all data fetched before the call. - -In case the plugin library uses this same API to access other dynamic -manifests, it MUST implement some mechanism to avoid potentially endless loops -(such as A loads B, B loads A, etc.) and, in case such a loop is detected, the -operation MUST fail. For this purpose, use of a static boolean flag is -suggested. - -### Threading Rules - -All of the functions defined by this specification belong to the Discovery -class. - - -"""^^lv2:Markdown . - -dman:DynManifest - lv2:documentation """ - -There MUST NOT be any instances of dman:DynManifest in the generated manifest. - -All relative URIs in the generated data MUST be relative to the base path that -would be used to parse a normal LV2 manifest (the bundle path). - -"""^^lv2:Markdown . - |