aboutsummaryrefslogtreecommitdiffstats
path: root/ext/pui-event.lv2
diff options
context:
space:
mode:
authorLars Luthman <lars.luthman@gmail.com>2011-03-28 14:20:20 +0000
committerLars Luthman <lars.luthman@gmail.com>2011-03-28 14:20:20 +0000
commitd7e9c89138bbcad24dbdf858a04ef7c7229f133c (patch)
tree0c6af3527c1a5d2c84ee503166bfc139aa44270c /ext/pui-event.lv2
parent965ca36e78314b85d1dbb846367bbca55f23beed (diff)
downloadlv2-d7e9c89138bbcad24dbdf858a04ef7c7229f133c.tar.xz
Moved ui -> pui
Diffstat (limited to 'ext/pui-event.lv2')
-rw-r--r--ext/pui-event.lv2/manifest.ttl8
-rw-r--r--ext/pui-event.lv2/pui-event.h37
-rw-r--r--ext/pui-event.lv2/pui-event.ttl83
3 files changed, 128 insertions, 0 deletions
diff --git a/ext/pui-event.lv2/manifest.ttl b/ext/pui-event.lv2/manifest.ttl
new file mode 100644
index 0000000..e0b87b5
--- /dev/null
+++ b/ext/pui-event.lv2/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/pui-event>
+ a lv2:Specification;
+ lv2:minorVersion 0;
+ lv2:microVersion 1;
+ rdfs:seeAlso <pui-event.ttl>.
diff --git a/ext/pui-event.lv2/pui-event.h b/ext/pui-event.lv2/pui-event.h
new file mode 100644
index 0000000..223b5f5
--- /dev/null
+++ b/ext/pui-event.lv2/pui-event.h
@@ -0,0 +1,37 @@
+/************************************************************************
+ *
+ * Event port protocol for the LV2 plugin UI extension
+ *
+ * Copyright (C) 2010-2011 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_PUI_EVENT_H
+#define LV2_PUI_EVENT_H
+
+
+/** The URI prefix for this extension. */
+#define LV2_PUI_EVENT_URI "http://lv2plug.in/ns/ext/pui-event"
+
+
+#endif
diff --git a/ext/pui-event.lv2/pui-event.ttl b/ext/pui-event.lv2/pui-event.ttl
new file mode 100644
index 0000000..6133b38
--- /dev/null
+++ b/ext/pui-event.lv2/pui-event.ttl
@@ -0,0 +1,83 @@
+# Plugin UI extension
+#
+# Copyright (C) 2010-2011 Lars Luthman <mail@larsluthman.net>
+#
+# based on lv2.ttl, which is
+# Copyright (C) 2006-2008 Steve Harris, David Robillard
+#
+# This extension specifies a method for plugin UIs, as defined in the
+# extension <http://lv2plug.in/ns/ext/pui>, to send events to a plugin's
+# event ports and to monitor incoming and outgoing events.
+#
+# 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 pui: <http://lv2plug.in/ns/ext/pui#>.
+@prefix ev: <http://lv2plug.in/ns/ext/event#>.
+@prefix puiev: <http://lv2plug.in/ns/ext/pui-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/pui-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 pui:PortProtocol for passing events (MIDI, OSC,
+etc.) between LV2 plugins and UIs.
+""".
+
+puiev:events a pui: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. The host MUST NOT pass events with type 0 (references) unless the
+ UI supports the feature "http://lv2plug.in/ns/ext/event".</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>
+""".