| @@ -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> | |||
| """ . | |||