aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-11-18 02:58:21 +0000
committerDavid Robillard <d@drobilla.net>2011-11-18 02:58:21 +0000
commit2dccb1b5e714591f8e79ba43fb846ea689823a32 (patch)
treecbe2fca986c14f28d3cacd1746dc61165f327dcc /ext
parent3ae22215b63b4fdcbbabc658f6b44a4d2517c4b1 (diff)
downloadlv2-2dccb1b5e714591f8e79ba43fb846ea689823a32.tar.xz
Merge pui-gtk and pui-event into pui.
Diffstat (limited to 'ext')
l---------ext/pui-event.lv2/ext.pc.in1
-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.ttl84
l---------ext/pui-event.lv2/waf1
l---------ext/pui-event.lv2/wscript1
l---------ext/pui-gtk.lv2/ext.pc.in1
-rw-r--r--ext/pui-gtk.lv2/manifest.ttl8
-rw-r--r--ext/pui-gtk.lv2/pui-gtk.h37
-rw-r--r--ext/pui-gtk.lv2/pui-gtk.ttl78
l---------ext/pui-gtk.lv2/waf1
l---------ext/pui-gtk.lv2/wscript1
-rw-r--r--ext/pui.lv2/pui.ttl67
13 files changed, 63 insertions, 262 deletions
diff --git a/ext/pui-event.lv2/ext.pc.in b/ext/pui-event.lv2/ext.pc.in
deleted file mode 120000
index 950cb3b..0000000
--- a/ext/pui-event.lv2/ext.pc.in
+++ /dev/null
@@ -1 +0,0 @@
-../../ext.pc.in \ No newline at end of file
diff --git a/ext/pui-event.lv2/manifest.ttl b/ext/pui-event.lv2/manifest.ttl
deleted file mode 100644
index e0b87b5..0000000
--- a/ext/pui-event.lv2/manifest.ttl
+++ /dev/null
@@ -1,8 +0,0 @@
-@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
deleted file mode 100644
index 2b8ebae..0000000
--- a/ext/pui-event.lv2/pui-event.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/************************************************************************
- *
- * 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
deleted file mode 100644
index 2a4bdb3..0000000
--- a/ext/pui-event.lv2/pui-event.ttl
+++ /dev/null
@@ -1,84 +0,0 @@
-# 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 """
-<p>This extension defines an pui:PortProtocol for passing events (MIDI, OSC,
-etc.) between LV2 plugins and UIs.</p>
-""".
-
-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>
-</ol>
-""".
diff --git a/ext/pui-event.lv2/waf b/ext/pui-event.lv2/waf
deleted file mode 120000
index 59a1ac9..0000000
--- a/ext/pui-event.lv2/waf
+++ /dev/null
@@ -1 +0,0 @@
-../../waf \ No newline at end of file
diff --git a/ext/pui-event.lv2/wscript b/ext/pui-event.lv2/wscript
deleted file mode 120000
index b82a3d0..0000000
--- a/ext/pui-event.lv2/wscript
+++ /dev/null
@@ -1 +0,0 @@
-../../ext.wscript \ No newline at end of file
diff --git a/ext/pui-gtk.lv2/ext.pc.in b/ext/pui-gtk.lv2/ext.pc.in
deleted file mode 120000
index 950cb3b..0000000
--- a/ext/pui-gtk.lv2/ext.pc.in
+++ /dev/null
@@ -1 +0,0 @@
-../../ext.pc.in \ No newline at end of file
diff --git a/ext/pui-gtk.lv2/manifest.ttl b/ext/pui-gtk.lv2/manifest.ttl
deleted file mode 100644
index 0de856b..0000000
--- a/ext/pui-gtk.lv2/manifest.ttl
+++ /dev/null
@@ -1,8 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#>.
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
-
-<http://lv2plug.in/ns/ext/pui-gtk>
- a lv2:Specification;
- lv2:minorVersion 0;
- lv2:microVersion 1;
- rdfs:seeAlso <pui-gtk.ttl>.
diff --git a/ext/pui-gtk.lv2/pui-gtk.h b/ext/pui-gtk.lv2/pui-gtk.h
deleted file mode 100644
index 46ddc79..0000000
--- a/ext/pui-gtk.lv2/pui-gtk.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/************************************************************************
- *
- * Gtk+ 2.0 UI type 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_GTK_H
-#define LV2_PUI_GTK_H
-
-
-/** The URI prefix for this extension. */
-#define LV2_PUI_GTK_URI "http://lv2plug.in/ns/ext/pui-gtk"
-
-
-#endif
diff --git a/ext/pui-gtk.lv2/pui-gtk.ttl b/ext/pui-gtk.lv2/pui-gtk.ttl
deleted file mode 100644
index 3af016e..0000000
--- a/ext/pui-gtk.lv2/pui-gtk.ttl
+++ /dev/null
@@ -1,78 +0,0 @@
-# Gtk UI extension for the 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
-#
-# 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 gtkui: <http://lv2plug.in/ns/ext/pui-gtk#>.
-@prefix pui: <http://lv2plug.in/ns/ext/pui#>.
-@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-gtk> a lv2:Specification ;
- doap:license <http://usefulinc.com/doap/licenses/mit>;
- doap:name "LV2 Gtk+ UI" ;
- 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 """
-<p>This extension defines an UI type for the in-process UI extension that can
-be used in a Gtk+ program.</p>
-""".
-
-gtkui:GtkUI a rdfs:Class;
- rdfs:subClassOf pui:UI;
- rdfs:label "Gtk+ UI";
- lv2:documentation """
-<p>The class which represents a Gtk+ UI. For a successfully created instance of
-an UI of this class, the get_widget() function MUST return a pointer to a valid
-GtkWidget object compatible with Gtk+ version 2.0. The host MUST ensure that
-the Gtk+ library has been initialised and that the Glib main loop is running
-before an UI of this type is instantiated.</p>
-
-<p>Unless otherwise specified by extensions, all function pointers in
-LV2_PUI_Descriptor may only be called from the thread that runs the Glib main
-loop.</p>
-""" .
-
-gtkui:noHostResize a lv2:Feature;
- rdfs:label "No host resize";
- lv2:documentation """
-<p>This Feature should only be used with UIs.</p>
-
-<p>When this Feature is active the host SHOULD NOT resize the UI widget to any
-other size than the one given by gtk_widget_size_request(). However, the UI
-MUST NOT break if the widget is resized to another size. This Feature can be
-used for example when the widget uses a fixed-size pixmap interface.</p>
-
-<p>The data pointer in the LV2_Feature object for this Feature should be set to
-NULL.</p>
-""".
diff --git a/ext/pui-gtk.lv2/waf b/ext/pui-gtk.lv2/waf
deleted file mode 120000
index 59a1ac9..0000000
--- a/ext/pui-gtk.lv2/waf
+++ /dev/null
@@ -1 +0,0 @@
-../../waf \ No newline at end of file
diff --git a/ext/pui-gtk.lv2/wscript b/ext/pui-gtk.lv2/wscript
deleted file mode 120000
index b82a3d0..0000000
--- a/ext/pui-gtk.lv2/wscript
+++ /dev/null
@@ -1 +0,0 @@
-../../ext.wscript \ No newline at end of file
diff --git a/ext/pui.lv2/pui.ttl b/ext/pui.lv2/pui.ttl
index 2d3a373..2ebc889 100644
--- a/ext/pui.lv2/pui.ttl
+++ b/ext/pui.lv2/pui.ttl
@@ -54,8 +54,7 @@ plugins. The UIs are code that reside in shared object files in an LV2
bundle and are referenced in the RDF data using the triples:</p>
<pre class="turtle-code">
@prefix pui: &lt;http://lv2plug.in/ns/ext/pui#&gt; .
-@prefix pui-gtk: &lt;http://lv2plug.in/ns/ext/pui-gtk#&gt; .
-&lt;http://example.org/my-ui&gt; a pui-gtk:GtkUI ;
+&lt;http://example.org/my-ui&gt; a pui:Gtk2UI ;
lv2:appliesTo &lt;http://example.org/my-plugin&gt; ;
pui:binary &lt;my-ui.so&gt; .
</pre>
@@ -67,7 +66,7 @@ it is probably a good idea to keep them separate so that hosts that don't want
UIs don't have to load the UI code.</p>
<p>A UI MUST specify its class in the RDF data and the class MUST be a proper
-subclass of pui:UI, in this case pui-gtk:GtkUI. The class defines what type the
+subclass of pui:UI, in this case pui:Gtk2UI. The class defines what type the
UI is, e.g. what graphics toolkit it uses. There are no UI classes defined in
this extension, those are specified separately (and anyone can define their
own).</p>
@@ -113,7 +112,7 @@ pui:UI a rdfs:Class;
<p>The rdf:type of an UI is used by the host to decide whether it supports the
UI and how to handle the LV2_PUI_Widget object that is returned by the UIs
-get_widget() function. For example, a type of pui-gtk:GtkGUI might tell the
+get_widget() function. For example, a type of pui:Gtk2GUI might tell the
host that LV2_PUI_Widget is a pointer to an object of a type defined in the
Gtk+ library. No UI types are defined in this extension, that is intentionally
left for other extensions.</p>
@@ -222,3 +221,63 @@ period</em>.</p>
NULL.</li>
</ol>
""".
+
+pui: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>
+</ol>
+""".
+
+pui:Gtk2UI a rdfs:Class;
+ rdfs:subClassOf pui:UI;
+ rdfs:label "Gtk+ UI";
+ lv2:documentation """
+<p>The class which represents a Gtk+ UI. For a successfully created instance of
+an UI of this class, the get_widget() function MUST return a pointer to a valid
+GtkWidget object compatible with Gtk+ version 2.0. The host MUST ensure that
+the Gtk+ library has been initialised and that the Glib main loop is running
+before an UI of this type is instantiated.</p>
+
+<p>Unless otherwise specified by extensions, all function pointers in
+LV2_PUI_Descriptor may only be called from the thread that runs the Glib main
+loop.</p>
+""" .
+
+pui:noHostResize a lv2:Feature;
+ rdfs:label "No host resize";
+ lv2:documentation """
+<p>This Feature should only be used with UIs.</p>
+
+<p>When this Feature is active the host SHOULD NOT resize the UI widget to any
+other size than its natural size, which the host should be able to determine
+via the API of whatever toolkit the UI is implemented in. However, the UI MUST
+NOT break if the widget is resized to another size. This Feature can be used
+for example when the widget uses a fixed-size pixmap interface.</p>
+
+<p>The data pointer in the LV2_Feature object for this Feature should be set to
+NULL.</p>
+""".