diff options
Diffstat (limited to 'lv2/data-access')
-rw-r--r-- | lv2/data-access/data-access.h | 68 | ||||
-rw-r--r-- | lv2/data-access/data-access.ttl | 23 | ||||
-rw-r--r-- | lv2/data-access/lv2-data-access.doap.ttl | 58 | ||||
-rw-r--r-- | lv2/data-access/manifest.ttl | 9 |
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> . + |