aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Luthman <lars.luthman@gmail.com>2011-03-26 18:47:00 +0000
committerLars Luthman <lars.luthman@gmail.com>2011-03-26 18:47:00 +0000
commit9c6f9915175dcefe2190d7d504258b672f672087 (patch)
treecf8a0b5e2c5a36bc89f3fb398ec6cdb80e1ea362
parent468cc88eae546208fa2c19b9592599f340f69d11 (diff)
downloadlv2-9c6f9915175dcefe2190d7d504258b672f672087.tar.xz
Added ui-event bundle
-rw-r--r--ext/ui-event.ttl/lv2_ui_event.h37
-rw-r--r--ext/ui-event.ttl/manifest.ttl8
-rw-r--r--ext/ui-event.ttl/ui-event.ttl84
3 files changed, 129 insertions, 0 deletions
diff --git a/ext/ui-event.ttl/lv2_ui_event.h b/ext/ui-event.ttl/lv2_ui_event.h
new file mode 100644
index 0000000..16739f7
--- /dev/null
+++ b/ext/ui-event.ttl/lv2_ui_event.h
@@ -0,0 +1,37 @@
+/************************************************************************
+ *
+ * Event port protocol for the in-process LV2 UI extension
+ *
+ * Copyright (C) 2010 Lars Luthman <mail@larsluthman.net>
+ *
+ * This header is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License,
+ * or (at your option) any later version.
+ *
+ * This header 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. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+ * USA.
+ *
+ ***********************************************************************/
+
+/** @file
+ This header file just defines a preprocessor macro for the URI prefix
+ for this extension.
+*/
+
+#ifndef LV2_UI_EVENT_H
+#define LV2_UI_EVENT_H
+
+
+/** The URI prefix for this extension. */
+#define LV2_UI_EVENT_URI "http://lv2plug.in/ns/ext/ui-event"
+
+
+#endif
diff --git a/ext/ui-event.ttl/manifest.ttl b/ext/ui-event.ttl/manifest.ttl
new file mode 100644
index 0000000..d37bb13
--- /dev/null
+++ b/ext/ui-event.ttl/manifest.ttl
@@ -0,0 +1,8 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+
+<http://lv2plug.in/ns/ext/ui-event>
+ a lv2:Specification;
+ lv2:minorVersion 0;
+ lv2:microVersion 1;
+ rdfs:seeAlso <ui-event.ttl>.
diff --git a/ext/ui-event.ttl/ui-event.ttl b/ext/ui-event.ttl/ui-event.ttl
new file mode 100644
index 0000000..0abd09c
--- /dev/null
+++ b/ext/ui-event.ttl/ui-event.ttl
@@ -0,0 +1,84 @@
+# In-process UI extension
+#
+# Copyright (C) 2010-2011 Lars Luthman <mail@larsluthman.net>
+#
+# based on lv2.ttl, which is
+# Copyright (C) 2006-2008 Steve Harris, Dave Robillard
+#
+# This extension should be considered a replacement for the earlier
+# in-process UI extension with the URI <http://lv2plug.in/ns/extensions/ui>.
+# Hosts and plugins that used that extension should use this one instead.
+# The earlier in-process UI extension is not compatible with LV2 revision 3
+# and later and may break in subtle ways.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+
+@prefix ui: <http://lv2plug.in/ns/ext/ui#>.
+@prefix ev: <http://lv2plug.in/ns/ext/event#>.
+@prefix uiev: <http://lv2plug.in/ns/ext/ui-event#>.
+@prefix lv2: <http://lv2plug.in/ns/lv2core#>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix doap: <http://usefulinc.com/ns/doap#>.
+@prefix foaf: <http://xmlns.com/foaf/0.1/>.
+
+<http://lv2plug.in/ns/ext/ui-event> a lv2:Specification ;
+ doap:license <http://usefulinc.com/doap/licenses/mit>;
+ doap:name "LV2 UI Event port protocol" ;
+ doap:release [
+ doap:revision "0.1" ;
+ doap:created "2011-03-26"
+ ];
+ doap:maintainer [
+ a foaf:Person;
+ foaf:name "Lars Luthman";
+ foaf:mbox <mailto:mail@larsluthman.net>;
+ ];
+ lv2:documentation """
+This extension defines an ui:PortProtocol for passing events (MIDI, OSC,
+etc) between LV2 plugins and UIs.
+""".
+
+uiev:events a ui:PortProtocol;
+ rdfs:label "Event buffer";
+ lv2:documentation """
+<ol>
+<li>This PortProtocol is valid for ports with the type ev:EventPort.</li>
+<li>The host MUST call port_event() whenever there is an event in an input
+ port prior to the plugin instance's run() function is called, and whenever
+ there is an event in an output port after run() has been called. The
+ UI MUST NOT depend on the timing of the calls. However, the host MUST
+ do the calls in the same order that the events occur in. The host is
+ allowed and encouraged to bundle multiple events into a single port_event()
+ call if it improves performance.</li>
+<li>The data buffer passed to port_event() is an LV2_Event_Buffer, as specified
+ in the Event extension. The stamp_type MUST be ignored. The frames and
+ subframes fields of every event in the buffer MUST be ignored. Events
+ with type 0 (reference counted events) MUST be ignored.</li>
+<li>The data buffer passed to write_event() is an LV2_Event_Buffer, as specified
+ in the Event extension. The stamp_type MUST be ignored. The frames and
+ subframes fields of every event in the buffer MUST be ignored. Events
+ with type 0 MUST NOT be written to the buffer.</li>
+<li>The host MUST pass all the events in the buffer to the plugin instance's
+ event port in the same order, but the plugin and the UI MUST NOT depend on
+ the timing of the events, or on whether they are all sent to the plugin in
+ the same run() call or distributed over multiple calls.</li>
+<li>The data pointer in the LV2_Feature object for this feature should be
+ NULL.</li>
+""".