aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in
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
parent3dcef283f426a8657d90af84d5df220b43db6307 (diff)
downloadlv2-382358caa9b8ea0b41b28e934574a7f0c5d5ff31.tar.xz
Move UI resize functionality to UI extension.
Diffstat (limited to 'lv2/lv2plug.in')
l---------lv2/lv2plug.in/ns/ext/ui-resize/ext.pc.in1
-rw-r--r--lv2/lv2plug.in/ns/ext/ui-resize/manifest.ttl9
-rw-r--r--lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.h58
-rw-r--r--lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.ttl43
l---------lv2/lv2plug.in/ns/ext/ui-resize/waf1
l---------lv2/lv2plug.in/ns/ext/ui-resize/wscript1
-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
10 files changed, 83 insertions, 144 deletions
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/ext.pc.in b/lv2/lv2plug.in/ns/ext/ui-resize/ext.pc.in
deleted file mode 120000
index 03dd044..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/ext.pc.in
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../ext.pc.in \ No newline at end of file
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/manifest.ttl b/lv2/lv2plug.in/ns/ext/ui-resize/manifest.ttl
deleted file mode 100644
index ca5cdf9..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/manifest.ttl
+++ /dev/null
@@ -1,9 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/ui-resize>
- a lv2:Specification ;
- lv2:minorVersion 0 ;
- lv2:microVersion 1 ;
- rdfs:seeAlso <ui-resize.ttl> .
-
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.h b/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.h
deleted file mode 100644
index cf5ccc6..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- Copyright 2011 David Robillard <http://drobilla.net>
-
- 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.
-*/
-
-#ifndef LV2_UI_RESIZE_H
-#define LV2_UI_RESIZE_H
-
-#define LV2_UI_RESIZE_URI "http://lv2plug.in/ns/ext/ui-resize"
-
-typedef void* LV2_UI_Resize_Feature_Data;
-
-/**
- UI Resize Feature.
-
- 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()).
-
- In both cases, the URI to be used is
- http://lv2plug.in/ns/ext/ui-resize#UIResize
-*/
-typedef struct {
-
- LV2_UI_Resize_Feature_Data data;
-
- /**
- 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_Feature_Data data,
- int width,
- int height);
-
-} LV2_UI_Resize_Feature;
-
-#endif /* LV2_UI_RESIZE_H */
-
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.ttl b/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.ttl
deleted file mode 100644
index f3b7d92..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/ui-resize.ttl
+++ /dev/null
@@ -1,43 +0,0 @@
-# LV2 UI Resize Extension
-# Copyright 2011 David Robillard <d@drobilla.net>
-#
-# 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.
-
-@prefix uirsz: <http://lv2plug.in/ns/ext/ui-resize#> .
-@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-
-<http://lv2plug.in/ns/ext/ui-resize>
- a lv2:Specification ;
- doap:name "LV2 UI Resize Extension" ;
- doap:shortdesc "A feature for self-resizing plugin UIs." ;
- doap:license <http://opensource.org/licenses/isc> ;
- lv2:documentation """
-<p>An extension that allows LV2 plugin UIs to notify the host about size
-changes, or for the host to notify plugin UIs about size changes.</p>
-""" .
-
-uirsz:UIResize
- 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_Feature
-struct, which should be passed with the feature URI
-<code>http://lv2plug.in/ns/ext/ui-resize#UIResize</code>. 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>
-""" .
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/waf b/lv2/lv2plug.in/ns/ext/ui-resize/waf
deleted file mode 120000
index 5235032..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/waf
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../waf \ No newline at end of file
diff --git a/lv2/lv2plug.in/ns/ext/ui-resize/wscript b/lv2/lv2plug.in/ns/ext/ui-resize/wscript
deleted file mode 120000
index 7e2c01b..0000000
--- a/lv2/lv2plug.in/ns/ext/ui-resize/wscript
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../ext.wscript \ No newline at end of file
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