aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/extensions
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-23 02:06:41 +0000
committerDavid Robillard <d@drobilla.net>2012-03-23 02:06:41 +0000
commit382358caa9b8ea0b41b28e934574a7f0c5d5ff31 (patch)
tree29abcf5f4a3a65ffcd72385cfe0a0d61d452cbbb /lv2/lv2plug.in/ns/extensions
parent3dcef283f426a8657d90af84d5df220b43db6307 (diff)
downloadlv2-382358caa9b8ea0b41b28e934574a7f0c5d5ff31.tar.xz
Move UI resize functionality to UI extension.
Diffstat (limited to 'lv2/lv2plug.in/ns/extensions')
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/lv2-ui.doap.ttl44
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/manifest.ttl2
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/ui.h49
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/ui.ttl19
4 files changed, 83 insertions, 31 deletions
diff --git a/lv2/lv2plug.in/ns/extensions/ui/lv2-ui.doap.ttl b/lv2/lv2plug.in/ns/extensions/ui/lv2-ui.doap.ttl
index 5b8ca9e..796b828 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/lv2-ui.doap.ttl
+++ b/lv2/lv2plug.in/ns/extensions/ui/lv2-ui.doap.ttl
@@ -18,17 +18,19 @@
doap:developer [
a foaf:Person ;
foaf:name "Lars Luthman" ;
- foaf:mbox <mailto:lars.luthman@gmail.com>
+ foaf:mbox <mailto:lars.luthman@gmail.com> ;
] ;
doap:maintainer <http://drobilla.net/drobilla#me> ;
doap:release [
- doap:revision "2.5" ;
- doap:created "2011-12-28" ;
+ doap:revision "2.7" ;
+ doap:created "2012-03-22" ;
dcs:changeset [
dcs:item [
- rdfs:label "Add ui:parent."
- ]
- ]
+ rdfs:label "Add ui:parent and ui:resize." ;
+ ] , [
+ rdfs:label "Add support for referring to ports by symbol." ;
+ ] ;
+ ] ;
] , [
doap:revision "2.4" ;
doap:created "2011-11-21" ;
@@ -36,17 +38,17 @@
dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
- rdfs:label "Deprecate ui:makeSONameResident."
+ rdfs:label "Deprecate ui:makeSONameResident." ;
] , [
- rdfs:label "Add Qt4 and X11 widget types."
+ rdfs:label "Add Qt4 and X11 widget types." ;
] , [
- rdfs:label "Install header to URI-based system path."
+ rdfs:label "Install header to URI-based system path." ;
] , [
- rdfs:label "Add pkg-config file."
+ rdfs:label "Add pkg-config file." ;
] , [
- rdfs:label "Make ui.ttl a valid OWL 2 DL ontology."
- ]
- ]
+ rdfs:label "Make ui.ttl a valid OWL 2 DL ontology." ;
+ ] ;
+ ] ;
] , [
doap:revision "2.2" ;
doap:created "2011-05-26" ;
@@ -54,13 +56,13 @@
dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
- rdfs:label "Add build system (for installation)."
+ rdfs:label "Add build system (for installation)." ;
] , [
- rdfs:label "Convert documentation to HTML and use lv2:documentation."
+ rdfs:label "Convert documentation to HTML and use lv2:documentation." ;
] , [
- rdfs:label "Use lv2:Specification to be discovered as an extension."
- ]
- ]
+ rdfs:label "Use lv2:Specification to be discovered as an extension." ;
+ ] ;
+ ] ;
] , [
doap:revision "2.0" ;
doap:created "2010-10-06" ;
@@ -68,7 +70,7 @@
dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
- rdfs:label "Initial release."
- ]
- ]
+ rdfs:label "Initial release." ;
+ ] ;
+ ] ;
] .
diff --git a/lv2/lv2plug.in/ns/extensions/ui/manifest.ttl b/lv2/lv2plug.in/ns/extensions/ui/manifest.ttl
index 28412c4..9e009f6 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/manifest.ttl
+++ b/lv2/lv2plug.in/ns/extensions/ui/manifest.ttl
@@ -4,6 +4,6 @@
<http://lv2plug.in/ns/extensions/ui>
a lv2:Specification ;
lv2:minorVersion 2 ;
- lv2:microVersion 5 ;
+ lv2:microVersion 7 ;
rdfs:seeAlso <ui.ttl> ,
<lv2-ui.doap.ttl> .
diff --git a/lv2/lv2plug.in/ns/extensions/ui/ui.h b/lv2/lv2plug.in/ns/extensions/ui/ui.h
index 6d64a0d..8716291 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/ui.h
+++ b/lv2/lv2plug.in/ns/extensions/ui/ui.h
@@ -26,7 +26,22 @@
#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
-#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
+#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
+#define LV2_UI_PREFIX LV2_UI_URI "#"
+
+#define LV2_UI__UI LV2_UI_PREFIX "UI"
+#define LV2_UI__GtkUI LV2_UI_PREFIX "GtkUI"
+#define LV2_UI__Qt4UI LV2_UI_PREFIX "Qt4UI"
+#define LV2_UI__X11UI LV2_UI_PREFIX "X11UI"
+#define LV2_UI__noUserResize LV2_UI_PREFIX "noUserResize"
+#define LV2_UI__fixedSize LV2_UI_PREFIX "fixedSize"
+#define LV2_UI__parent LV2_UI_PREFIX "parent"
+#define LV2_UI__PortNotification LV2_UI_PREFIX "PortNotification"
+#define LV2_UI__portNotification LV2_UI_PREFIX "portNotification"
+#define LV2_UI__plugin LV2_UI_PREFIX "plugin"
+#define LV2_UI__portIndex LV2_UI_PREFIX "portIndex"
+#define LV2_UI__notifyType LV2_UI_PREFIX "notifyType"
+#define LV2_UI__resize LV2_UI_PREFIX "resize"
#ifdef __cplusplus
extern "C" {
@@ -220,6 +235,38 @@ typedef struct _LV2UI_Descriptor {
} LV2UI_Descriptor;
+typedef void* LV2_UI_Resize_Handle;
+
+/**
+ UI Resize Feature (LV2_UI__resize)
+
+ This structure may be used in two ways: as a feature passed by the host
+ (e.g. via the features parameter of LV2UI_Descriptor::instantiate()) or
+ as a feature exposed by a UI (e.g. via LV2UI_Descriptor::extension_data()).
+*/
+typedef struct {
+
+ LV2_UI_Resize_Handle handle;
+
+ /**
+ Request or notify a size change.
+
+ When this struct is provided by the host, the UI may call this
+ function to notify the host that a size change is desired, or notify
+ the host of the initial size of the UI.
+
+ When this struct is provided by the plugin, the host may call this
+ function in the UI thread to notify the UI that it should change its
+ size to the given dimensions.
+
+ @return 0 on success.
+ */
+ int (*ui_resize)(LV2_UI_Resize_Handle handle,
+ int width,
+ int height);
+
+} LV2_UI_Resize;
+
/**
A plugin UI programmer must include a function called "lv2ui_descriptor"
with the following function prototype within the shared object file. This
diff --git a/lv2/lv2plug.in/ns/extensions/ui/ui.ttl b/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
index 010580f..fa07e0b 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
+++ b/lv2/lv2plug.in/ns/extensions/ui/ui.ttl
@@ -195,14 +195,6 @@ ui:PortNotification
rdfs:comment """
A PortNotification MUST have exactly one ui:plugin which is a lv2:Plugin.
"""
- ] , [
- a owl:Restriction ;
- owl:onProperty ui:portIndex ;
- owl:someValuesFrom xsd:decimal ;
- owl:cardinality 1 ;
- rdfs:comment """
-A PortNotification MUST have exactly one ui:portIndex which is an xsd:decimal.
-"""
] ;
lv2:documentation """
<p>A port notification. This describes which ports the host must send
@@ -254,3 +246,14 @@ can be used to indicate that only a particular type of data should cause
notification. This is useful where port traffic is very dense, but only a
certain small number of events are actually of interest to the UI.</p>
""" .
+
+ui:resize
+ a lv2:Feature ;
+ lv2:documentation """
+<p>A feature that allows the UI to notify the host about its current size, or
+request a size change. This feature corresponds to the LV2_UI_Resize struct,
+which should be passed with the URI LV2_UI__resize. This struct may also be
+provided by the UI as extension data using the same URI, in which case it is
+used by the host to request that the UI change its size.</p>
+""" .
+o \ No newline at end of file