diff options
author | David Robillard <d@drobilla.net> | 2012-03-23 02:06:41 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-03-23 02:06:41 +0000 |
commit | 382358caa9b8ea0b41b28e934574a7f0c5d5ff31 (patch) | |
tree | 29abcf5f4a3a65ffcd72385cfe0a0d61d452cbbb /lv2/lv2plug.in/ns/extensions | |
parent | 3dcef283f426a8657d90af84d5df220b43db6307 (diff) | |
download | lv2-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.ttl | 44 | ||||
-rw-r--r-- | lv2/lv2plug.in/ns/extensions/ui/manifest.ttl | 2 | ||||
-rw-r--r-- | lv2/lv2plug.in/ns/extensions/ui/ui.h | 49 | ||||
-rw-r--r-- | lv2/lv2plug.in/ns/extensions/ui/ui.ttl | 19 |
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 |