aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-26 03:35:42 +0000
committerDavid Robillard <d@drobilla.net>2012-03-26 03:35:42 +0000
commitcb9d19db9545521bad16fe354b8ae26614127a29 (patch)
tree9ab0ac3636c0fab36e5348eea5e19439a4d49fd3
parenta90c1eb129f16d432e3ca209a451d83dceac3635 (diff)
downloadlv2-cb9d19db9545521bad16fe354b8ae26614127a29.tar.xz
Use the normal feature handle pattern for UI features.
-rw-r--r--lv2/lv2plug.in/ns/extensions/ui/ui.h57
1 files changed, 41 insertions, 16 deletions
diff --git a/lv2/lv2plug.in/ns/extensions/ui/ui.h b/lv2/lv2plug.in/ns/extensions/ui/ui.h
index f394eb6..56e9455 100644
--- a/lv2/lv2plug.in/ns/extensions/ui/ui.h
+++ b/lv2/lv2plug.in/ns/extensions/ui/ui.h
@@ -84,6 +84,11 @@ typedef void* LV2UI_Handle;
typedef void* LV2UI_Controller;
/**
+ A pointer to opaque data for a feature.
+*/
+typedef void* LV2UI_Feature_Handle;
+
+/**
The type of the host-provided function that the UI can use to
send data to a plugin's input ports.
@@ -233,6 +238,11 @@ typedef struct _LV2UI_Descriptor {
*/
typedef struct _LV2UI_Resize {
/**
+ Pointer to opaque data which must be passed to ui_resize().
+ */
+ LV2UI_Feature_Handle handle;
+
+ /**
Request or advertise a size change.
When this struct is provided by the host, the UI may call this
@@ -243,7 +253,7 @@ typedef struct _LV2UI_Resize {
@return 0 on success.
*/
- int (*ui_resize)(LV2UI_Controller controller, int width, int height);
+ int (*ui_resize)(LV2UI_Feature_Handle handle, int width, int height);
} LV2UI_Resize;
/**
@@ -256,12 +266,17 @@ typedef struct _LV2UI_Resize {
*/
typedef struct _LV2UI_Port_Map {
/**
+ Pointer to opaque data which must be passed to ui_resize().
+ */
+ LV2UI_Feature_Handle handle;
+
+ /**
Get the index for the port with the given @p symbol.
@return The index of the port, or LV2_UI_INVALID_PORT_INDEX if no such
port is found.
*/
- uint32_t (*port_index)(LV2UI_Controller controller, const char* symbol);
+ uint32_t (*port_index)(LV2UI_Feature_Handle handle, const char* symbol);
} LV2UI_Port_Map;
/**
@@ -269,6 +284,11 @@ typedef struct _LV2UI_Port_Map {
*/
typedef struct _LV2UI_Port_Subscribe {
/**
+ Pointer to opaque data which must be passed to ui_resize().
+ */
+ LV2UI_Feature_Handle handle;
+
+ /**
Subscribe to updates for a port.
This means that the host will call the UI's port_event() function when
@@ -277,15 +297,15 @@ typedef struct _LV2UI_Port_Subscribe {
Calling this function with the same @c port_index and @c port_protocol
as an already active subscription has no effect.
- @param controller The @c controller passed to the UI's instantiate().
+ @param handle The handle field of this struct.
@param port_index The index of the port.
@param port_protocol The URID of the ui:PortProtocol.
@param data Extra data as defined by the port protocol, or NULL.
*/
- void (*subscribe)(LV2UI_Controller controller,
- uint32_t port_index,
- uint32_t port_protocol,
- const void* options);
+ void (*subscribe)(LV2UI_Feature_Handle handle,
+ uint32_t port_index,
+ uint32_t port_protocol,
+ const void* options);
/**
Unsubscribe from updates for a port.
@@ -296,15 +316,15 @@ typedef struct _LV2UI_Port_Subscribe {
Calling this function with a @c port_index and @c port_protocol that
does not refer to an active port subscription has no effect.
- @param controller The @c controller passed to the UI's instantiate().
+ @param handle The handle field of this struct.
@param port_index The index of the port.
@param port_protocol The URID of the ui:PortProtocol.
@param data Extra data as defined by the port protocol, or NULL.
*/
- void (*unsubscribe)(LV2UI_Controller controller,
- uint32_t port_index,
- uint32_t port_protocol,
- const void* options);
+ void (*unsubscribe)(LV2UI_Feature_Handle handle,
+ uint32_t port_index,
+ uint32_t port_protocol,
+ const void* options);
} LV2UI_Port_Subscribe;
/**
@@ -312,16 +332,21 @@ typedef struct _LV2UI_Port_Subscribe {
*/
typedef struct _LV2UI_Touch {
/**
+ Pointer to opaque data which must be passed to ui_resize().
+ */
+ LV2UI_Feature_Handle handle;
+
+ /**
Notify the host that a control has been grabbed or released.
- @param controller The @c controller passed to the UI's instantiate().
+ @param handle The handle field of this struct.
@param port_index The index of the port associated with the control.
@param grabbed If true, the control has been grabbed, otherwise the
control has been released.
*/
- void (*touch)(LV2UI_Controller controller,
- uint32_t port_index,
- bool grabbed);
+ void (*touch)(LV2UI_Feature_Handle handle,
+ uint32_t port_index,
+ bool grabbed);
} LV2UI_Touch;
/**