@@ -0,0 +1,25 @@ | |||
@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://kxstudio.sf.net/ns/lv2ext/external-ui> | |||
a doap:Project ; | |||
rdfs:seeAlso <../kx-meta/meta.ttl> ; | |||
doap:license <http://opensource.org/licenses/isc> ; | |||
doap:name "External UI" ; | |||
doap:homepage <http://kxstudio.sf.net/ns/lv2ext/external-ui> ; | |||
doap:created "2015-07-03" ; | |||
doap:shortdesc "LV2 extension for implementing external UIs." ; | |||
doap:developer <http://falktx.com/myself.html> ; | |||
doap:maintainer <http://falktx.com/myself.html> ; | |||
doap:release [ | |||
doap:revision "1.0" ; | |||
doap:created "2015-07-03" ; | |||
doap:file-release <http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2> ; | |||
dcs:changeset [ | |||
dcs:item [ | |||
rdfs:label "First stable release." | |||
] | |||
] | |||
] . |
@@ -0,0 +1,109 @@ | |||
/* | |||
LV2 External UI extension | |||
This work is in public domain. | |||
This file is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |||
If you have questions, contact Filipe Coelho (aka falkTX) <falktx@falktx.com> | |||
or ask in #lad channel, FreeNode IRC network. | |||
*/ | |||
/** | |||
@file lv2_external_ui.h | |||
C header for the LV2 External UI extension <http://kxstudio.sf.net/ns/lv2ext/external-ui>. | |||
*/ | |||
#ifndef LV2_EXTERNAL_UI_H | |||
#define LV2_EXTERNAL_UI_H | |||
#include "lv2/lv2plug.in/ns/extensions/ui/ui.h" | |||
#define LV2_EXTERNAL_UI_URI "http://kxstudio.sf.net/ns/lv2ext/external-ui" | |||
#define LV2_EXTERNAL_UI_PREFIX LV2_EXTERNAL_UI_URI "#" | |||
#define LV2_EXTERNAL_UI__Host LV2_EXTERNAL_UI_PREFIX "Host" | |||
#define LV2_EXTERNAL_UI__Widget LV2_EXTERNAL_UI_PREFIX "Widget" | |||
/** This extension used to be defined by a lv2plug.in URI */ | |||
#define LV2_EXTERNAL_UI_DEPRECATED_URI "http://lv2plug.in/ns/extensions/ui#external" | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
/** | |||
* When LV2_EXTERNAL_UI__Widget UI is instantiated, the returned | |||
* LV2UI_Widget handle must be cast to pointer to LV2_External_UI_Widget. | |||
* UI is created in invisible state. | |||
*/ | |||
typedef struct _LV2_External_UI_Widget { | |||
/** | |||
* Host calls this function regulary. UI library implementing the | |||
* callback may do IPC or redraw the UI. | |||
* | |||
* @param _this_ the UI context | |||
*/ | |||
void (*run)(struct _LV2_External_UI_Widget * _this_); | |||
/** | |||
* Host calls this function to make the plugin UI visible. | |||
* | |||
* @param _this_ the UI context | |||
*/ | |||
void (*show)(struct _LV2_External_UI_Widget * _this_); | |||
/** | |||
* Host calls this function to make the plugin UI invisible again. | |||
* | |||
* @param _this_ the UI context | |||
*/ | |||
void (*hide)(struct _LV2_External_UI_Widget * _this_); | |||
} LV2_External_UI_Widget; | |||
#define LV2_EXTERNAL_UI_RUN(ptr) (ptr)->run(ptr) | |||
#define LV2_EXTERNAL_UI_SHOW(ptr) (ptr)->show(ptr) | |||
#define LV2_EXTERNAL_UI_HIDE(ptr) (ptr)->hide(ptr) | |||
/** | |||
* On UI instantiation, host must supply LV2_EXTERNAL_UI__Host feature. | |||
* LV2_Feature::data must be pointer to LV2_External_UI_Host. | |||
*/ | |||
typedef struct _LV2_External_UI_Host { | |||
/** | |||
* Callback that plugin UI will call when UI (GUI window) is closed by user. | |||
* This callback will be called during execution of LV2_External_UI_Widget::run() | |||
* (i.e. not from background thread). | |||
* | |||
* After this callback is called, UI is defunct. Host must call LV2UI_Descriptor::cleanup(). | |||
* If host wants to make the UI visible again, the UI must be reinstantiated. | |||
* | |||
* @note When using the depreated URI LV2_EXTERNAL_UI_DEPRECATED_URI, | |||
* some hosts will not call LV2UI_Descriptor::cleanup() as they should, | |||
* and may call show() again without re-initialization. | |||
* | |||
* @param controller Host context associated with plugin UI, as | |||
* supplied to LV2UI_Descriptor::instantiate(). | |||
*/ | |||
void (*ui_closed)(LV2UI_Controller controller); | |||
/** | |||
* Optional (may be NULL) "user friendly" identifier which the UI | |||
* may display to allow a user to easily associate this particular | |||
* UI instance with the correct plugin instance as it is represented | |||
* by the host (e.g. "track 1" or "channel 4"). | |||
* | |||
* If supplied by host, the string will be referenced only during | |||
* LV2UI_Descriptor::instantiate() | |||
*/ | |||
const char * plugin_human_id; | |||
} LV2_External_UI_Host; | |||
#ifdef __cplusplus | |||
} /* extern "C" */ | |||
#endif | |||
#endif /* LV2_EXTERNAL_UI_H */ |
@@ -0,0 +1,81 @@ | |||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
@prefix extui: <http://kxstudio.sf.net/ns/lv2ext/external-ui#> . | |||
@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 ui: <http://lv2plug.in/ns/extensions/ui#> . | |||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/external-ui> | |||
a owl:Ontology ; | |||
rdfs:seeAlso <external-ui.h> , | |||
<external-ui.doap.ttl> , | |||
<../kx-meta/meta.ttl> ; | |||
lv2:documentation """ | |||
<p> | |||
LV2 External UI extension is an <a href="http://lv2plug.in/ns/extensions/ui" target="_blank">LV2 UI</a> extension, subclass of ui:UI just like ui:GtkUI is.<br/> | |||
The ui:Widget type used in this extension is extui:Widget, see the C header file for more details.<br/> | |||
</p> | |||
<p> | |||
This extension used to be (wronly) defined in a <a href="http://lv2plug.in/ns/extensions/ui#external">lv2plug.in domain</a>.<br/> | |||
The old URI is deprecated and the extension is available under the new <a href="http://kxstudio.sf.net/ns/lv2ext/external-ui">URI</a>.<br/> | |||
Or if you prefer, the old extension is deprecated and a new one with exactly same semantics but different URI is available. | |||
</p> | |||
<p> | |||
List of plugins that use this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://distrho.sourceforge.net/" target="_blank">DISTRHO Plugins and Ports</a></li> | |||
<li><a href="http://www.drumgizmo.org/" target="_blank">DrumGizmo</a></li> | |||
<li><a href="http://drumkv1.sourceforge.net/" target="_blank">drumkv1</a></li> | |||
<li><a href="https://github.com/x42/meters.lv2" target="_blank">meters.lv2</a></li> | |||
<li><a href="https://www.pianoteq.com/pianoteq4" target="_blank">Pianoteq</a></li> | |||
<li><a href="http://samplv1.sourceforge.net/" target="_blank">samplv1</a></li> | |||
<li><a href="https://github.com/x42/sisco.lv2" target="_blank">sisco.lv2</a></li> | |||
<li><a href="http://synthv1.sourceforge.net/" target="_blank">synthv1</a></li> | |||
<li><a href="https://github.com/x42/tuna.lv2" target="_blank">tuna.lv2</a></li> | |||
</ul> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://ardour.org" target="_blank">Ardour</a></li> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
<li><a href="http://drobilla.net/software/jalv/" target="_blank">Jalv</a> (using <a href="jalv_extui_svn5273b.diff" target="_blank">this patch</a>)</li> | |||
<li><a href="http://qtractor.sourceforge.net" target="_blank">Qtractor</a></li> | |||
</ul> | |||
""" . | |||
extui:Host | |||
a lv2:Feature ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . | |||
extui:Widget | |||
a rdfs:Class , | |||
owl:Class ; | |||
rdfs:subClassOf ui:UI ; | |||
rdfs:label "External UI" ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . | |||
<http://lv2plug.in/ns/extensions/ui#external> | |||
a lv2:Feature , | |||
rdfs:Class , | |||
owl:Class ; | |||
owl:deprecated true ; | |||
rdfs:seeAlso extui:Host, extui:Widget ; | |||
rdfs:label "Old External UI" ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . |
@@ -0,0 +1,162 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> | |||
<html about="http://kxstudio.sf.net/ns/lv2ext/external-ui" | |||
xmlns="http://www.w3.org/1999/xhtml" | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:dct="http://purl.org/dc/terms/" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" | |||
xmlns:lv2="http://lv2plug.in/ns/lv2core#" | |||
xmlns:extui="http://kxstudio.sf.net/ns/lv2ext/external-ui#" | |||
xml:lang="en"> | |||
<head> | |||
<title>External UI</title> | |||
<meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> | |||
<meta name="generator" content="lv2specgen" /> | |||
<link href="../style.css" rel="stylesheet" type="text/css" /> | |||
</head> | |||
<body> | |||
<!-- HEADER --> | |||
<div id="topbar"> | |||
<div id="header"> | |||
<div id="titlebox"> | |||
<h1 id="title">External UI</h1> | |||
<div id="subtitle"><a href="http://kxstudio.sf.net/ns/lv2ext/external-ui">http://kxstudio.sf.net/ns/lv2ext/external-ui</a></div> | |||
<div id="shortdesc">LV2 extension for implementing external UIs.</div> | |||
</div> | |||
<table id="meta"> | |||
<!--<tr><th>URI</th><td><a href="http://kxstudio.sf.net/ns/lv2ext/external-ui">http://kxstudio.sf.net/ns/lv2ext/external-ui</a></td></tr> | |||
<tr><th>Version</th><td>@REVISION@</td></tr>--> | |||
<!--<tr><th>Prefixes</th><td><span><a href="http://ontologi.es/doap-changeset#">dcs</a> <a href="http://usefulinc.com/ns/doap#">doap</a> <a href="http://kxstudio.sf.net/ns/lv2ext/external-ui#">extui</a> <a href="http://xmlns.com/foaf/0.1/">foaf</a> <a href="http://lv2plug.in/ns/lv2core#">lv2</a> <a href="http://www.w3.org/2002/07/owl#">owl</a> <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">rdf</a> <a href="http://www.w3.org/2000/01/rdf-schema#">rdfs</a> <a href="http://lv2plug.in/ns/extensions/ui#">ui</a> <a href="http://www.w3.org/2001/XMLSchema#">xsd</a> </span></td></tr>--> | |||
<tr><th>Version</th><td>1.0</td></tr> | |||
<tr><th>Date</th><td>2015-07-03</td></tr> | |||
<tr><th>Discuss</th><td><a href="mailto:None">None</a> <a href="None">(subscribe)</a></td></tr> | |||
<tr><th class="metahead">Developer</th><td><span class="author" property="doap:developer">Filipe Coelho</span></td></tr><tr><th class="metahead">Maintainer</th><td><span class="author" property="doap:maintainer">Filipe Coelho</span></td></tr> | |||
</table> | |||
</div> | |||
<ul id="contents"> | |||
<!-- <li><a href="#sec-description">Description</a></li> --> | |||
<li><a href="#sec-index">Index</a></li> | |||
<li><a href="#sec-reference">Reference</a></li> | |||
<li><a href="#sec-history">History</a></li> | |||
<li><a href="/home/falktx/FOSS/GIT-mine/KXStudio/LV2-Extensions/documentation/extui/group__manifest.html">API</a></li> | |||
</ul> | |||
</div> | |||
<!-- DESCRIPTION --> | |||
<!--<h2 class="sec" id="sec-description">Description</h2>--> | |||
<div class="content"> | |||
<p> | |||
LV2 External UI extension is an <a href="http://lv2plug.in/ns/extensions/ui" target="_blank">LV2 UI</a> extension, subclass of <a href="http://lv2plug.in/ns/extensions/ui#UI">ui:UI</a> just like <a href="http://lv2plug.in/ns/extensions/ui#GtkUI">ui:GtkUI</a> is.<br/> | |||
The <a href="http://lv2plug.in/ns/extensions/ui#Widget">ui:Widget</a> type used in this extension is <a href="#Widget">extui:Widget</a>, see the C header file for more details.<br/> | |||
</p> | |||
<p> | |||
This extension used to be (wronly) defined in a <a href="http://lv2plug.in/ns/extensions/ui#external">lv2plug.in domain</a>.<br/> | |||
The old URI is deprecated and the extension is available under the new <a href="http://kxstudio.sf.net/ns/lv2ext/external-ui">URI</a>.<br/> | |||
Or if you prefer, the old extension is deprecated and a new one with exactly same semantics but different URI is available. | |||
</p> | |||
<p> | |||
List of plugins that use this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://distrho.sourceforge.net/" target="_blank">DISTRHO Plugins and Ports</a></li> | |||
<li><a href="http://www.drumgizmo.org/" target="_blank">DrumGizmo</a></li> | |||
<li><a href="http://drumkv1.sourceforge.net/" target="_blank">drumkv1</a></li> | |||
<li><a href="https://github.com/x42/meters.lv2" target="_blank">meters.lv2</a></li> | |||
<li><a href="https://www.pianoteq.com/pianoteq4" target="_blank">Pianoteq</a></li> | |||
<li><a href="http://samplv1.sourceforge.net/" target="_blank">samplv1</a></li> | |||
<li><a href="https://github.com/x42/sisco.lv2" target="_blank">sisco.lv2</a></li> | |||
<li><a href="http://synthv1.sourceforge.net/" target="_blank">synthv1</a></li> | |||
<li><a href="https://github.com/x42/tuna.lv2" target="_blank">tuna.lv2</a></li> | |||
</ul> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://ardour.org" target="_blank">Ardour</a></li> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
<li><a href="http://drobilla.net/software/jalv/" target="_blank">Jalv</a> (using <a href="jalv_extui_svn5273b.diff" target="_blank">this patch</a>)</li> | |||
<li><a href="http://qtractor.sourceforge.net" target="_blank">Qtractor</a></li> | |||
</ul> | |||
</div> | |||
<!-- INDEX --> | |||
<h2 class="sec" id="sec-index">Index</h2> | |||
<div class="content" id="index"> | |||
<table class="index"><thead><tr><th>Classes</th><th>Instances</th><th>Files</th></tr></thead> | |||
<tbody><tr><td><ul><li><a href="#Widget">Widget</a></li></ul></td> | |||
<td><ul><li><a href="#Host">Host</a></li></ul></td> | |||
<td><ul><li><a href="external-ui.doap.ttl">external-ui.doap.ttl</a></li><li><a href="external-ui.h">external-ui.h</a></li><li><a href="external-ui.ttl">external-ui.ttl</a></li></ul></td> | |||
</tr></tbody></table> | |||
</div> | |||
<!-- DOCUMENTATION --> | |||
<h2 class="sec" id="sec-reference">Reference</h2> | |||
<div class="content"> | |||
<div class="specterm" id="Widget" about="http://kxstudio.sf.net/ns/lv2ext/external-ui#Widget"> | |||
<h3>Class <a href="#Widget">extui:Widget</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:label" class="label">External UI</div><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"> | |||
<tr><th>Sub-class of</th><td><a href="http://lv2plug.in/ns/extensions/ui#UI" >ui:UI</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
<div class="specterm" id="Host" about="http://kxstudio.sf.net/ns/lv2ext/external-ui#Host"> | |||
<h3>Instance <a href="#Host">extui:Host</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"><tr><th>Type</th><td><a href="http://lv2plug.in/ns/lv2core#Feature" about="http://kxstudio.sf.net/ns/lv2ext/external-ui#Host" rel="rdf:type" resource="http://lv2plug.in/ns/lv2core#Feature">lv2:Feature</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- HISTORY --> | |||
<h2 class="sec" id="sec-history">History</h2> | |||
<div class="content"> | |||
<dl> | |||
<dt><a href="http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2">Version 1.0</a> (2015-07-03)</dt> | |||
<dd><ul> | |||
<li>First stable release.</li> | |||
</ul></dd></dl> | |||
</div> | |||
<!-- FOOTER --> | |||
<div id="footer"> | |||
<div> | |||
This document is available under the | |||
<a about="" rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> | |||
Creative Commons Attribution-ShareAlike License | |||
</a> | |||
</div> | |||
<div> | |||
Valid | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/rdfa-syntax" | |||
href="http://validator.w3.org/check?uri=referer"> | |||
XHTML+RDFa | |||
</a> | |||
and | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/CSS2" | |||
href="http://jigsaw.w3.org/css-validator/check/referer"> | |||
CSS | |||
</a> | |||
generated from manifest.ttl by <a href="http://drobilla.net/software/lv2specgen">lv2specgen</a> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@@ -0,0 +1,8 @@ | |||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/external-ui> | |||
a lv2:Specification ; | |||
lv2:minorVersion 1 ; | |||
lv2:microVersion 0 ; | |||
rdfs:seeAlso <external-ui.ttl> . |
@@ -0,0 +1,38 @@ | |||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> | |||
<html> | |||
<head> | |||
<title>Index of /</title> | |||
</head> | |||
<body> | |||
<h1>Index of /</h1> | |||
<table> | |||
<tr> | |||
<th valign="top"><img src="/blank.gif" alt="[ICO]"></th> | |||
<th><a href="?C=N;O=D">Name</a></th> | |||
<th><a href="?C=S;O=A">Size</a></th> | |||
<th><a href="?C=D;O=A">Description</a></th> | |||
</tr> | |||
<tr><th colspan="4"><hr></th></tr> | |||
<tr> | |||
<td valign="top"><img src="/folder.gif" alt="[DIR]"></td> | |||
<td><a href="extui/">External UI/</a></td> | |||
<td align="right"> - </td><td> </td> | |||
</tr> | |||
<tr> | |||
<td valign="top"><img src="/folder.gif" alt="[DIR]"></td> | |||
<td><a href="progs/">Programs/</a></td> | |||
<td align="right"> - </td><td> </td> | |||
</tr> | |||
<tr> | |||
<td valign="top"><img src="/folder.gif" alt="[DIR]"></td> | |||
<td><a href="rtmpl/">Real-Time Memory Pool/</a></td> | |||
<td align="right"> - </td><td> </td> | |||
</tr> | |||
<tr><th colspan="4"><hr></th></tr> | |||
</table> | |||
</body> | |||
</html> |
@@ -0,0 +1,159 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> | |||
<html about="http://kxstudio.sf.net/ns/lv2ext/programs" | |||
xmlns="http://www.w3.org/1999/xhtml" | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:dct="http://purl.org/dc/terms/" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" | |||
xmlns:lv2="http://lv2plug.in/ns/lv2core#" | |||
xmlns:progs="http://kxstudio.sf.net/ns/lv2ext/programs#" | |||
xml:lang="en"> | |||
<head> | |||
<title>Programs</title> | |||
<meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> | |||
<meta name="generator" content="lv2specgen" /> | |||
<link href="../style.css" rel="stylesheet" type="text/css" /> | |||
</head> | |||
<body> | |||
<!-- HEADER --> | |||
<div id="topbar"> | |||
<div id="header"> | |||
<div id="titlebox"> | |||
<h1 id="title">Programs</h1> | |||
<div id="subtitle"><a href="http://kxstudio.sf.net/ns/lv2ext/programs">http://kxstudio.sf.net/ns/lv2ext/programs</a></div> | |||
<div id="shortdesc">LV2 extension for implementing plugin-side programs.</div> | |||
</div> | |||
<table id="meta"> | |||
<!--<tr><th>URI</th><td><a href="http://kxstudio.sf.net/ns/lv2ext/programs">http://kxstudio.sf.net/ns/lv2ext/programs</a></td></tr> | |||
<tr><th>Version</th><td>@REVISION@</td></tr>--> | |||
<!--<tr><th>Prefixes</th><td><span><a href="http://ontologi.es/doap-changeset#">dcs</a> <a href="http://usefulinc.com/ns/doap#">doap</a> <a href="http://xmlns.com/foaf/0.1/">foaf</a> <a href="http://lv2plug.in/ns/lv2core#">lv2</a> <a href="http://www.w3.org/2002/07/owl#">owl</a> <a href="http://kxstudio.sf.net/ns/lv2ext/programs#">progs</a> <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">rdf</a> <a href="http://www.w3.org/2000/01/rdf-schema#">rdfs</a> <a href="http://lv2plug.in/ns/extensions/ui#">ui</a> <a href="http://www.w3.org/2001/XMLSchema#">xsd</a> </span></td></tr>--> | |||
<tr><th>Version</th><td>1.0</td></tr> | |||
<tr><th>Date</th><td>2015-07-03</td></tr> | |||
<tr><th>Discuss</th><td><a href="mailto:None">None</a> <a href="None">(subscribe)</a></td></tr> | |||
<tr><th class="metahead">Developer</th><td><span class="author" property="doap:developer">Filipe Coelho</span></td></tr><tr><th class="metahead">Maintainer</th><td><span class="author" property="doap:maintainer">Filipe Coelho</span></td></tr> | |||
</table> | |||
</div> | |||
<ul id="contents"> | |||
<!-- <li><a href="#sec-description">Description</a></li> --> | |||
<li><a href="#sec-index">Index</a></li> | |||
<li><a href="#sec-reference">Reference</a></li> | |||
<li><a href="#sec-history">History</a></li> | |||
<li><a href="/home/falktx/FOSS/GIT-mine/KXStudio/LV2-Extensions/documentation/progs/group__manifest.html">API</a></li> | |||
</ul> | |||
</div> | |||
<!-- DESCRIPTION --> | |||
<!--<h2 class="sec" id="sec-description">Description</h2>--> | |||
<div class="content"> | |||
<p> | |||
LV2 Programs is an <a href="http://lv2plug.in/ns/lv2core#Specification" target="_blank">LV2 Extension</a> that allows a host to access plugin-side midi-mapped programs.<br/> | |||
It is not the same as <a href="http://lv2plug.in/ns/ext/presets" target="_blank">LV2 Presets</a>, | |||
which defines host-side presets where the plugin has no control or role whatsoever.<br/> | |||
</p> | |||
<p> | |||
List of plugins that use this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://distrho.sourceforge.net" target="_blank">DISTRHO Plugins and Ports</a></li> | |||
<li><a href="http://drobilla.net/software/mda-lv2/" target="_blank">mda-lv2</a> (using <a href="mda-lv2_programs.patch" target="_blank">this patch</a>)</li> | |||
</ul> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
<li><a href="http://qtractor.sourceforge.net" target="_blank">Qtractor</a></li> | |||
</ul> | |||
</div> | |||
<!-- INDEX --> | |||
<h2 class="sec" id="sec-index">Index</h2> | |||
<div class="content" id="index"> | |||
<table class="index"><thead><tr><th>Instances</th><th>Files</th></tr></thead> | |||
<tbody><tr><td><ul><li><a href="#Host">Host</a></li><li><a href="#Interface">Interface</a></li><li><a href="#UIInterface">UIInterface</a></li></ul></td> | |||
<td><ul><li><a href="programs.doap.ttl">programs.doap.ttl</a></li><li><a href="programs.h">programs.h</a></li><li><a href="programs.ttl">programs.ttl</a></li></ul></td> | |||
</tr></tbody></table> | |||
</div> | |||
<!-- DOCUMENTATION --> | |||
<h2 class="sec" id="sec-reference">Reference</h2> | |||
<div class="content"> | |||
<div class="specterm" id="Host" about="http://kxstudio.sf.net/ns/lv2ext/programs#Host"> | |||
<h3>Instance <a href="#Host">progs:Host</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"><tr><th>Type</th><td><a href="http://lv2plug.in/ns/lv2core#Feature" about="http://kxstudio.sf.net/ns/lv2ext/programs#Host" rel="rdf:type" resource="http://lv2plug.in/ns/lv2core#Feature">lv2:Feature</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
<div class="specterm" id="Interface" about="http://kxstudio.sf.net/ns/lv2ext/programs#Interface"> | |||
<h3>Instance <a href="#Interface">progs:Interface</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:label" class="label">Programs Plugin Interface</div><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"><tr><th>Type</th><td><a href="http://lv2plug.in/ns/lv2core#ExtensionData" about="http://kxstudio.sf.net/ns/lv2ext/programs#Interface" rel="rdf:type" resource="http://lv2plug.in/ns/lv2core#ExtensionData">lv2:ExtensionData</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
<div class="specterm" id="UIInterface" about="http://kxstudio.sf.net/ns/lv2ext/programs#UIInterface"> | |||
<h3>Instance <a href="#UIInterface">progs:UIInterface</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:label" class="label">Programs UI Interface</div><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"><tr><th>Type</th><td><a href="http://lv2plug.in/ns/lv2core#ExtensionData" about="http://kxstudio.sf.net/ns/lv2ext/programs#UIInterface" rel="rdf:type" resource="http://lv2plug.in/ns/lv2core#ExtensionData">lv2:ExtensionData</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- HISTORY --> | |||
<h2 class="sec" id="sec-history">History</h2> | |||
<div class="content"> | |||
<dl> | |||
<dt><a href="http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2">Version 1.0</a> (2015-07-03)</dt> | |||
<dd><ul> | |||
<li>First stable release.</li> | |||
</ul></dd></dl> | |||
</div> | |||
<!-- FOOTER --> | |||
<div id="footer"> | |||
<div> | |||
This document is available under the | |||
<a about="" rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> | |||
Creative Commons Attribution-ShareAlike License | |||
</a> | |||
</div> | |||
<div> | |||
Valid | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/rdfa-syntax" | |||
href="http://validator.w3.org/check?uri=referer"> | |||
XHTML+RDFa | |||
</a> | |||
and | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/CSS2" | |||
href="http://jigsaw.w3.org/css-validator/check/referer"> | |||
CSS | |||
</a> | |||
generated from manifest.ttl by <a href="http://drobilla.net/software/lv2specgen">lv2specgen</a> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@@ -0,0 +1,8 @@ | |||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/programs> | |||
a lv2:Specification ; | |||
lv2:minorVersion 1 ; | |||
lv2:microVersion 0 ; | |||
rdfs:seeAlso <programs.ttl> . |
@@ -0,0 +1,25 @@ | |||
@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://kxstudio.sf.net/ns/lv2ext/programs> | |||
a doap:Project ; | |||
rdfs:seeAlso <../kx-meta/meta.ttl> ; | |||
doap:license <http://opensource.org/licenses/isc> ; | |||
doap:name "Programs" ; | |||
doap:homepage <http://kxstudio.sf.net/ns/lv2ext/programs> ; | |||
doap:created "2015-07-03" ; | |||
doap:shortdesc "LV2 extension for implementing plugin-side programs." ; | |||
doap:developer <http://falktx.com/myself.html> ; | |||
doap:maintainer <http://falktx.com/myself.html> ; | |||
doap:release [ | |||
doap:revision "1.0" ; | |||
doap:created "2015-07-03" ; | |||
doap:file-release <http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2> ; | |||
dcs:changeset [ | |||
dcs:item [ | |||
rdfs:label "First stable release." | |||
] | |||
] | |||
] . |
@@ -0,0 +1,174 @@ | |||
/* | |||
LV2 Programs Extension | |||
Copyright 2012 Filipe Coelho <falktx@falktx.com> | |||
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. | |||
*/ | |||
/** | |||
@file lv2_programs.h | |||
C header for the LV2 programs extension <http://kxstudio.sf.net/ns/lv2ext/programs>. | |||
*/ | |||
#ifndef LV2_PROGRAMS_H | |||
#define LV2_PROGRAMS_H | |||
#include "lv2/lv2plug.in/ns/lv2core/lv2.h" | |||
#include "lv2/lv2plug.in/ns/extensions/ui/ui.h" | |||
#define LV2_PROGRAMS_URI "http://kxstudio.sf.net/ns/lv2ext/programs" | |||
#define LV2_PROGRAMS_PREFIX LV2_PROGRAMS_URI "#" | |||
#define LV2_PROGRAMS__Host LV2_PROGRAMS_PREFIX "Host" | |||
#define LV2_PROGRAMS__Interface LV2_PROGRAMS_PREFIX "Interface" | |||
#define LV2_PROGRAMS__UIInterface LV2_PROGRAMS_PREFIX "UIInterface" | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
typedef void* LV2_Programs_Handle; | |||
typedef struct _LV2_Program_Descriptor { | |||
/** Bank number for this program. Note that this extension does not | |||
support MIDI-style separation of bank LSB and MSB values. There is | |||
no restriction on the set of available banks: the numbers do not | |||
need to be contiguous, there does not need to be a bank 0, etc. */ | |||
uint32_t bank; | |||
/** Program number (unique within its bank) for this program. There is | |||
no restriction on the set of available programs: the numbers do not | |||
need to be contiguous, there does not need to be a program 0, etc. */ | |||
uint32_t program; | |||
/** Name of the program. */ | |||
const char * name; | |||
} LV2_Program_Descriptor; | |||
/** | |||
Programs extension, plugin data. | |||
When the plugin's extension_data is called with argument LV2_PROGRAMS__Interface, | |||
the plugin MUST return an LV2_Programs_Instance structure, which remains valid | |||
for the lifetime of the plugin. | |||
*/ | |||
typedef struct _LV2_Programs_Interface { | |||
/** | |||
* get_program() | |||
* | |||
* This member is a function pointer that provides a description | |||
* of a program (named preset sound) available on this plugin. | |||
* | |||
* The index argument is an index into the plugin's list of | |||
* programs, not a program number as represented by the Program | |||
* field of the LV2_Program_Descriptor. (This distinction is | |||
* needed to support plugins that use non-contiguous program or | |||
* bank numbers.) | |||
* | |||
* This function returns a LV2_Program_Descriptor pointer that is | |||
* guaranteed to be valid only until the next call to get_program | |||
* or deactivate, on the same plugin instance. This function must | |||
* return NULL if passed an index argument out of range, so that | |||
* the host can use it to query the number of programs as well as | |||
* their properties. | |||
*/ | |||
const LV2_Program_Descriptor *(*get_program)(LV2_Handle handle, | |||
uint32_t index); | |||
/** | |||
* select_program() | |||
* | |||
* This member is a function pointer that selects a new program | |||
* for this plugin. The program change should take effect | |||
* immediately at the start of the next run() call. (This | |||
* means that a host providing the capability of changing programs | |||
* between any two notes on a track must vary the block size so as | |||
* to place the program change at the right place. A host that | |||
* wanted to avoid this would probably just instantiate a plugin | |||
* for each program.) | |||
* | |||
* Plugins should ignore a select_program() call with an invalid | |||
* bank or program. | |||
* | |||
* A plugin is not required to select any particular default | |||
* program on activate(): it's the host's duty to set a program | |||
* explicitly. | |||
* | |||
* A plugin is permitted to re-write the values of its input | |||
* control ports when select_program is called. The host should | |||
* re-read the input control port values and update its own | |||
* records appropriately. (This is the only circumstance in which | |||
* a LV2 plugin is allowed to modify its own control-input ports.) | |||
*/ | |||
void (*select_program)(LV2_Handle handle, | |||
uint32_t bank, | |||
uint32_t program); | |||
} LV2_Programs_Interface; | |||
/** | |||
Programs extension, UI data. | |||
When the UI's extension_data is called with argument LV2_PROGRAMS__UIInterface, | |||
the UI MUST return an LV2_Programs_UI_Interface structure, which remains valid | |||
for the lifetime of the UI. | |||
*/ | |||
typedef struct _LV2_Programs_UI_Interface { | |||
/** | |||
* select_program() | |||
* | |||
* This is exactly the same as select_program in LV2_Programs_Instance, | |||
* but this struct relates to the UI instead of the plugin. | |||
* | |||
* When called, UIs should update their state to match the selected program. | |||
*/ | |||
void (*select_program)(LV2UI_Handle handle, | |||
uint32_t bank, | |||
uint32_t program); | |||
} LV2_Programs_UI_Interface; | |||
/** | |||
Feature data for LV2_PROGRAMS__Host. | |||
*/ | |||
typedef struct _LV2_Programs_Host { | |||
/** | |||
* Opaque host data. | |||
*/ | |||
LV2_Programs_Handle handle; | |||
/** | |||
* program_changed() | |||
* | |||
* Tell the host to reload a plugin's program. | |||
* Parameter handle MUST be the 'handle' member of this struct. | |||
* Parameter index is program index to change. | |||
* When index is -1, host should reload all the programs. | |||
* | |||
* The plugin MUST NEVER call this function on a RT context or during run(). | |||
* | |||
* NOTE: This call is to inform the host about a program's bank, program or name change. | |||
* It DOES NOT change the current selected program. | |||
*/ | |||
void (*program_changed)(LV2_Programs_Handle handle, | |||
int32_t index); | |||
} LV2_Programs_Host; | |||
#ifdef __cplusplus | |||
} /* extern "C" */ | |||
#endif | |||
#endif /* LV2_PROGRAMS_H */ |
@@ -0,0 +1,62 @@ | |||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
@prefix owl: <http://www.w3.org/2002/07/owl#> . | |||
@prefix progs: <http://kxstudio.sf.net/ns/lv2ext/programs#> . | |||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . | |||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |||
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> . | |||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/programs> | |||
a owl:Ontology ; | |||
rdfs:seeAlso <programs.h> , | |||
<programs.doap.ttl> , | |||
<../kx-meta/meta.ttl> ; | |||
lv2:documentation """ | |||
<p> | |||
LV2 Programs is an <a href="http://lv2plug.in/ns/lv2core#Specification" target="_blank">LV2 Extension</a> that allows a host to access plugin-side midi-mapped programs.<br/> | |||
It is not the same as <a href="http://lv2plug.in/ns/ext/presets" target="_blank">LV2 Presets</a>, | |||
which defines host-side presets where the plugin has no control or role whatsoever.<br/> | |||
</p> | |||
<p> | |||
List of plugins that use this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://distrho.sourceforge.net" target="_blank">DISTRHO Plugins and Ports</a></li> | |||
<li><a href="http://drobilla.net/software/mda-lv2/" target="_blank">mda-lv2</a> (using <a href="mda-lv2_programs.patch" target="_blank">this patch</a>)</li> | |||
</ul> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
<li><a href="http://qtractor.sourceforge.net" target="_blank">Qtractor</a></li> | |||
</ul> | |||
""" . | |||
progs:Host | |||
a lv2:Feature ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . | |||
progs:Interface | |||
a lv2:ExtensionData ; | |||
rdfs:label "Programs Plugin Interface" ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . | |||
progs:UIInterface | |||
a lv2:ExtensionData ; | |||
rdfs:label "Programs UI Interface" ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . |
@@ -0,0 +1,124 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> | |||
<html about="http://kxstudio.sf.net/ns/lv2ext/rtmempool" | |||
xmlns="http://www.w3.org/1999/xhtml" | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:dct="http://purl.org/dc/terms/" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" | |||
xmlns:lv2="http://lv2plug.in/ns/lv2core#" | |||
xmlns:rtmpl="http://kxstudio.sf.net/ns/lv2ext/rtmempool#" | |||
xml:lang="en"> | |||
<head> | |||
<title>External UI</title> | |||
<meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> | |||
<meta name="generator" content="lv2specgen" /> | |||
<link href="../style.css" rel="stylesheet" type="text/css" /> | |||
</head> | |||
<body> | |||
<!-- HEADER --> | |||
<div id="topbar"> | |||
<div id="header"> | |||
<div id="titlebox"> | |||
<h1 id="title">External UI</h1> | |||
<div id="subtitle"><a href="http://kxstudio.sf.net/ns/lv2ext/rtmempool">http://kxstudio.sf.net/ns/lv2ext/rtmempool</a></div> | |||
<div id="shortdesc">LV2 extension that provides a realtime safe memory pool for plugins.</div> | |||
</div> | |||
<table id="meta"> | |||
<!--<tr><th>URI</th><td><a href="http://kxstudio.sf.net/ns/lv2ext/rtmempool">http://kxstudio.sf.net/ns/lv2ext/rtmempool</a></td></tr> | |||
<tr><th>Version</th><td>@REVISION@</td></tr>--> | |||
<!--<tr><th>Prefixes</th><td><span><a href="http://ontologi.es/doap-changeset#">dcs</a> <a href="http://usefulinc.com/ns/doap#">doap</a> <a href="http://xmlns.com/foaf/0.1/">foaf</a> <a href="http://lv2plug.in/ns/lv2core#">lv2</a> <a href="http://www.w3.org/2002/07/owl#">owl</a> <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">rdf</a> <a href="http://www.w3.org/2000/01/rdf-schema#">rdfs</a> <a href="http://kxstudio.sf.net/ns/lv2ext/rtmempool#">rtmpl</a> <a href="http://lv2plug.in/ns/extensions/ui#">ui</a> <a href="http://www.w3.org/2001/XMLSchema#">xsd</a> </span></td></tr>--> | |||
<tr><th>Version</th><td>1.0</td></tr> | |||
<tr><th>Date</th><td>2015-07-03</td></tr> | |||
<tr><th>Discuss</th><td><a href="mailto:None">None</a> <a href="None">(subscribe)</a></td></tr> | |||
<tr><th class="metahead">Developer</th><td><span class="author" property="doap:developer">Filipe Coelho</span></td></tr><tr><th class="metahead">Maintainer</th><td><span class="author" property="doap:maintainer">Filipe Coelho</span></td></tr> | |||
</table> | |||
</div> | |||
<ul id="contents"> | |||
<!-- <li><a href="#sec-description">Description</a></li> --> | |||
<li><a href="#sec-index">Index</a></li> | |||
<li><a href="#sec-reference">Reference</a></li> | |||
<li><a href="#sec-history">History</a></li> | |||
<li><a href="/home/falktx/FOSS/GIT-mine/KXStudio/LV2-Extensions/documentation/rtmpl/group__manifest.html">API</a></li> | |||
</ul> | |||
</div> | |||
<!-- DESCRIPTION --> | |||
<!--<h2 class="sec" id="sec-description">Description</h2>--> | |||
<div class="content"> | |||
<p> | |||
LV2 realtime safe memory pool extension definition. | |||
</p> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
</ul> | |||
</div> | |||
<!-- INDEX --> | |||
<h2 class="sec" id="sec-index">Index</h2> | |||
<div class="content" id="index"> | |||
<table class="index"><thead><tr><th>Instances</th><th>Files</th></tr></thead> | |||
<tbody><tr><td><ul><li><a href="#Pool">Pool</a></li></ul></td> | |||
<td><ul><li><a href="rtmempool.doap.ttl">rtmempool.doap.ttl</a></li><li><a href="rtmempool.h">rtmempool.h</a></li><li><a href="rtmempool.ttl">rtmempool.ttl</a></li></ul></td> | |||
</tr></tbody></table> | |||
</div> | |||
<!-- DOCUMENTATION --> | |||
<h2 class="sec" id="sec-reference">Reference</h2> | |||
<div class="content"> | |||
<div class="specterm" id="Pool" about="http://kxstudio.sf.net/ns/lv2ext/rtmempool#Pool"> | |||
<h3>Instance <a href="#Pool">rtmpl:Pool</a></h3> | |||
<div class="spectermbody"><div class="description"><div property="rdfs:comment"> | |||
<p> | |||
TODO | |||
</p> | |||
</div></div> | |||
<table class="terminfo"><tr><th>Type</th><td><a href="http://lv2plug.in/ns/lv2core#Feature" about="http://kxstudio.sf.net/ns/lv2ext/rtmempool#Pool" rel="rdf:type" resource="http://lv2plug.in/ns/lv2core#Feature">lv2:Feature</a></td></tr> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- HISTORY --> | |||
<h2 class="sec" id="sec-history">History</h2> | |||
<div class="content"> | |||
<dl> | |||
<dt><a href="http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2">Version 1.0</a> (2015-07-03)</dt> | |||
<dd><ul> | |||
<li>First stable release.</li> | |||
</ul></dd></dl> | |||
</div> | |||
<!-- FOOTER --> | |||
<div id="footer"> | |||
<div> | |||
This document is available under the | |||
<a about="" rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> | |||
Creative Commons Attribution-ShareAlike License | |||
</a> | |||
</div> | |||
<div> | |||
Valid | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/rdfa-syntax" | |||
href="http://validator.w3.org/check?uri=referer"> | |||
XHTML+RDFa | |||
</a> | |||
and | |||
<a about="" rel="dct:conformsTo" resource="http://www.w3.org/TR/CSS2" | |||
href="http://jigsaw.w3.org/css-validator/check/referer"> | |||
CSS | |||
</a> | |||
generated from manifest.ttl by <a href="http://drobilla.net/software/lv2specgen">lv2specgen</a> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@@ -0,0 +1,8 @@ | |||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/rtmempool> | |||
a lv2:Specification ; | |||
lv2:minorVersion 1 ; | |||
lv2:microVersion 0 ; | |||
rdfs:seeAlso <rtmempool.ttl> . |
@@ -0,0 +1,25 @@ | |||
@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://kxstudio.sf.net/ns/lv2ext/rtmempool> | |||
a doap:Project ; | |||
rdfs:seeAlso <../kx-meta/meta.ttl> ; | |||
doap:license <http://opensource.org/licenses/isc> ; | |||
doap:name "External UI" ; | |||
doap:homepage <http://kxstudio.sf.net/ns/lv2ext/rtmempool> ; | |||
doap:created "2015-07-03" ; | |||
doap:shortdesc "LV2 extension that provides a realtime safe memory pool for plugins." ; | |||
doap:developer <http://falktx.com/myself.html> ; | |||
doap:maintainer <http://falktx.com/myself.html> ; | |||
doap:release [ | |||
doap:revision "1.0" ; | |||
doap:created "2015-07-03" ; | |||
doap:file-release <http://kxstudio.sf.net/ns/lv2ext/kx-extensions-1.0.tar.bz2> ; | |||
dcs:changeset [ | |||
dcs:item [ | |||
rdfs:label "First stable release." | |||
] | |||
] | |||
] . |
@@ -0,0 +1,105 @@ | |||
/* | |||
LV2 realtime safe memory pool extension definition | |||
This work is in public domain. | |||
This file is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |||
If you have questions, contact Filipe Coelho (aka falkTX) <falktx@falktx.com> | |||
or ask in #lad channel, FreeNode IRC network. | |||
*/ | |||
/** | |||
* @file lv2_rtmempool.h | |||
* C header for the LV2 rtmempool extension <http://kxstudio.sf.net/ns/lv2ext/rtmempool>. | |||
* | |||
*/ | |||
#ifndef LV2_RTMEMPOOL_H | |||
#define LV2_RTMEMPOOL_H | |||
#define LV2_RTSAFE_MEMORY_POOL_URI "http://kxstudio.sf.net/ns/lv2ext/rtmempool" | |||
#define LV2_RTSAFE_MEMORY_POOL_PREFIX LV2_RTSAFE_MEMORY_POOL_URI "#" | |||
#define LV2_RTSAFE_MEMORY_POOL__Pool LV2_RTSAFE_MEMORY_POOL_URI "Pool" | |||
/** max size of memory pool name, in chars, including terminating zero char */ | |||
#define LV2_RTSAFE_MEMORY_POOL_NAME_MAX 128 | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#else | |||
#include <stdbool.h> | |||
#endif | |||
/** | |||
* Opaque data to host data for LV2_RtMemPool_Pool. | |||
*/ | |||
typedef void* LV2_RtMemPool_Handle; | |||
/** | |||
* On instantiation, host must supply LV2_RTSAFE_MEMORY_POOL__Pool feature. | |||
* LV2_Feature::data must be pointer to LV2_RtMemPool_Pool. | |||
*/ | |||
typedef struct _LV2_RtMemPool_Pool { | |||
/** | |||
* This function is called when plugin wants to create memory pool | |||
* | |||
* <b>may/will sleep</b> | |||
* | |||
* @param pool_name pool name, for debug purposes, max RTSAFE_MEMORY_POOL_NAME_MAX chars, including terminating zero char. May be NULL. | |||
* @param data_size memory chunk size | |||
* @param min_preallocated min chunks preallocated | |||
* @param max_preallocated max chunks preallocated | |||
* | |||
* @return Success status, true if successful | |||
*/ | |||
bool (*create)(LV2_RtMemPool_Handle * handle_ptr, | |||
const char * pool_name, | |||
size_t data_size, | |||
size_t min_preallocated, | |||
size_t max_preallocated); | |||
/** | |||
* This function is called when plugin wants to destroy previously created memory pool | |||
* | |||
* <b>may/will sleep</b> | |||
*/ | |||
void (*destroy)(LV2_RtMemPool_Handle handle); | |||
/** | |||
* This function is called when plugin wants to allocate memory in context where sleeping is not allowed | |||
* | |||
* <b>will not sleep</b> | |||
* | |||
* @return Pointer to allocated memory or NULL if memory no memory is available | |||
*/ | |||
void * (*allocate_atomic)(LV2_RtMemPool_Handle handle); | |||
/** | |||
* This function is called when plugin wants to allocate memory in context where sleeping is allowed | |||
* | |||
* <b>may/will sleep</b> | |||
* | |||
* @return Pointer to allocated memory or NULL if memory no memory is available (should not happen under normal conditions) | |||
*/ | |||
void * (*allocate_sleepy)(LV2_RtMemPool_Handle handle); | |||
/** | |||
* This function is called when plugin wants to deallocate previously allocated memory | |||
* | |||
* <b>will not sleep</b> | |||
* | |||
* @param memory_ptr pointer to previously allocated memory chunk | |||
*/ | |||
void (*deallocate)(LV2_RtMemPool_Handle handle, | |||
void * memory_ptr); | |||
} LV2_RtMemPool_Pool; | |||
#ifdef __cplusplus | |||
} /* extern "C" */ | |||
#endif | |||
#endif /* LV2_RTMEMPOOL_H */ |
@@ -0,0 +1,33 @@ | |||
@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 rtmpl: <http://kxstudio.sf.net/ns/lv2ext/rtmempool#> . | |||
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> . | |||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . | |||
<http://kxstudio.sf.net/ns/lv2ext/rtmempool> | |||
a owl:Ontology ; | |||
rdfs:seeAlso <rtmempool.h> , | |||
<rtmempool.doap.ttl> , | |||
<../kx-meta/meta.ttl> ; | |||
lv2:documentation """ | |||
<p> | |||
LV2 realtime safe memory pool extension definition. | |||
</p> | |||
<p> | |||
List of hosts that support this extension: | |||
</p> | |||
<ul> | |||
<li><a href="http://kxstudio.sf.net/Applications:Carla" target="_blank">Carla</a></li> | |||
</ul> | |||
""" . | |||
rtmpl:Pool | |||
a lv2:Feature ; | |||
lv2:documentation """ | |||
<p> | |||
TODO | |||
</p> | |||
""" . |