aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/data-access
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-09-22 20:38:01 +0200
committerDavid Robillard <d@drobilla.net>2018-09-22 20:38:58 +0200
commit4db67120efca2d4c200d2e1ba5cf3d7b97cab97e (patch)
tree793630dd2a17b78d805dc4bc5cd50fbdd0ace3bd /lv2/data-access
parent160ecb9601c9687a1093e124e936dcbd78aef43c (diff)
downloadlv2-4db67120efca2d4c200d2e1ba5cf3d7b97cab97e.tar.xz
Install standard headers to simpler include paths
Diffstat (limited to 'lv2/data-access')
-rw-r--r--lv2/data-access/data-access.h68
-rw-r--r--lv2/data-access/data-access.ttl23
-rw-r--r--lv2/data-access/lv2-data-access.doap.ttl58
-rw-r--r--lv2/data-access/manifest.ttl9
4 files changed, 158 insertions, 0 deletions
diff --git a/lv2/data-access/data-access.h b/lv2/data-access/data-access.h
new file mode 100644
index 0000000..2f4fd28
--- /dev/null
+++ b/lv2/data-access/data-access.h
@@ -0,0 +1,68 @@
+/*
+ LV2 Data Access Extension
+ Copyright 2008-2016 David Robillard <http://drobilla.net>
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+/**
+ @defgroup data-access Data Access
+
+ Access to plugin extension_data() for UIs, see
+ <http://lv2plug.in/ns/ext/data-acess> for details.
+
+ @{
+*/
+
+#ifndef LV2_DATA_ACCESS_H
+#define LV2_DATA_ACCESS_H
+
+#define LV2_DATA_ACCESS_URI "http://lv2plug.in/ns/ext/data-access" ///< http://lv2plug.in/ns/ext/data-access
+#define LV2_DATA_ACCESS_PREFIX LV2_DATA_ACCESS_URI "#" ///< http://lv2plug.in/ns/ext/data-access#
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ The data field of the LV2_Feature for this extension.
+
+ To support this feature the host must pass an LV2_Feature struct to the
+ instantiate method with URI "http://lv2plug.in/ns/ext/data-access"
+ and data pointed to an instance of this struct.
+*/
+typedef struct {
+ /**
+ A pointer to a method the UI can call to get data (of a type specified
+ by some other extension) from the plugin.
+
+ This call never is never guaranteed to return anything, UIs should
+ degrade gracefully if direct access to the plugin data is not possible
+ (in which case this function will return NULL).
+
+ This is for access to large data that can only possibly work if the UI
+ and plugin are running in the same process. For all other things, use
+ the normal LV2 UI communication system.
+ */
+ const void* (*data_access)(const char* uri);
+} LV2_Extension_Data_Feature;
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* LV2_DATA_ACCESS_H */
+
+/**
+ @}
+*/
diff --git a/lv2/data-access/data-access.ttl b/lv2/data-access/data-access.ttl
new file mode 100644
index 0000000..654b714
--- /dev/null
+++ b/lv2/data-access/data-access.ttl
@@ -0,0 +1,23 @@
+@prefix da: <http://lv2plug.in/ns/ext/data-access#> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/data-access>
+ a lv2:Feature ;
+ rdfs:seeAlso <data-access.h> ,
+ <lv2-data-access.doap.ttl> ;
+ lv2:documentation """
+<p>This extension defines a feature, LV2_Extension_Data_Feature, which provides
+access to LV2_Descriptor::extension_data() for plugin UIs or other potentially
+remote users of a plugin.</p>
+
+<p>Note that the use of this extension by UIs violates the important principle
+of UI/plugin separation, and is potentially a source of many problems.
+Accordingly, <strong>use of this extension is highly discouraged</strong>, and
+plugins should not expect hosts to support it, since it is often impossible to
+do so.</p>
+
+<p>To support this feature the host must pass an LV2_Feature struct to the
+instantiate method with URI LV2_DATA_ACCESS_URI and data pointed to an instance
+of LV2_Extension_Data_Feature.</p>
+""" .
diff --git a/lv2/data-access/lv2-data-access.doap.ttl b/lv2/data-access/lv2-data-access.doap.ttl
new file mode 100644
index 0000000..d577e63
--- /dev/null
+++ b/lv2/data-access/lv2-data-access.doap.ttl
@@ -0,0 +1,58 @@
+@prefix dcs: <http://ontologi.es/doap-changeset#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/data-access>
+ a doap:Project ;
+ rdfs:seeAlso <data-access.h> ;
+ doap:license <http://opensource.org/licenses/isc> ;
+ doap:name "LV2 Data Access" ;
+ doap:shortdesc "Provides access to LV2_Descriptor::extension_data()." ;
+ doap:created "2008-00-00" ;
+ doap:developer <http://drobilla.net/drobilla#me> ;
+ doap:release [
+ doap:revision "1.6" ;
+ 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.4" ;
+ doap:created "2011-11-21" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-data-access-1.4.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Update packaging."
+ ] , [
+ rdfs:label "Improve documentation."
+ ]
+ ]
+ ] , [
+ doap:revision "1.2" ;
+ doap:created "2011-05-26" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-data-access-1.2.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Add build system for installation."
+ ] , [
+ rdfs:label "Switch to ISC license."
+ ]
+ ]
+ ] , [
+ doap:revision "1.0" ;
+ doap:created "2010-10-04" ;
+ doap:file-release <http://lv2plug.in/spec/lv2-data-access-1.0.tar.gz> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Initial release."
+ ]
+ ]
+ ] .
diff --git a/lv2/data-access/manifest.ttl b/lv2/data-access/manifest.ttl
new file mode 100644
index 0000000..85e50fc
--- /dev/null
+++ b/lv2/data-access/manifest.ttl
@@ -0,0 +1,9 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/data-access>
+ a lv2:Specification ;
+ lv2:minorVersion 1 ;
+ lv2:microVersion 6 ;
+ rdfs:seeAlso <data-access.ttl> .
+