summaryrefslogtreecommitdiffstats
path: root/slv2
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-23 18:51:21 +0000
committerDavid Robillard <d@drobilla.net>2007-09-23 18:51:21 +0000
commita06305e2c8068f0519f25ab3d0eddf7278d6ba7c (patch)
tree57c89dffe104e5bf0fa561c35a550f564279321c /slv2
parentd26a3e39c72c17acbe5bb371a6638acd2469bdac (diff)
downloadlilv-a06305e2c8068f0519f25ab3d0eddf7278d6ba7c.tar.gz
lilv-a06305e2c8068f0519f25ab3d0eddf7278d6ba7c.tar.bz2
lilv-a06305e2c8068f0519f25ab3d0eddf7278d6ba7c.zip
Support for plugin UIs in separate bundles.
Fix some memory leaks. Better/more future proof UI interface. git-svn-id: http://svn.drobilla.net/lad/slv2@772 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'slv2')
-rw-r--r--slv2/Makefile.am2
-rw-r--r--slv2/plugin.h18
-rw-r--r--slv2/pluginuiinstance.h2
-rw-r--r--slv2/slv2.h2
-rw-r--r--slv2/types.h6
-rw-r--r--slv2/value.h26
6 files changed, 14 insertions, 42 deletions
diff --git a/slv2/Makefile.am b/slv2/Makefile.am
index 9c0aa21..a3f9a0d 100644
--- a/slv2/Makefile.am
+++ b/slv2/Makefile.am
@@ -7,6 +7,8 @@ slv2include_HEADERS = \
plugin.h \
pluginclass.h \
pluginclasses.h \
+ pluginui.h \
+ pluginuis.h \
pluginuiinstance.h \
plugininstance.h \
plugins.h \
diff --git a/slv2/plugin.h b/slv2/plugin.h
index 224a450..97d830f 100644
--- a/slv2/plugin.h
+++ b/slv2/plugin.h
@@ -201,7 +201,7 @@ slv2_plugin_get_value_for_subject(SLV2Plugin p,
* understand all the LV2 Properties associated with that plugin (if this is
* not what you want, see slv2_plugin_get_hints).
*
- * Return value must be freed by caller with slv2_value_free.
+ * Return value must be freed by caller with slv2_values_free.
*
* Time = Query
*/
@@ -214,7 +214,7 @@ slv2_plugin_get_properties(SLV2Plugin p);
* LV2 Hints are suggestions that may be useful for a host. LV2 Hints may be
* ignored and the plugin will still function correctly.
*
- * Return value must be freed by caller with slv2_value_free.
+ * Return value must be freed by caller with slv2_values_free.
*
* Time = Query
*/
@@ -352,22 +352,10 @@ slv2_plugin_get_port_by_symbol(SLV2Plugin plugin,
*
* Time = Query
*/
-SLV2Values
+SLV2PluginUIs
slv2_plugin_get_uis(SLV2Plugin plugin);
-/** Get the URI for a UI library.
- *
- * \param plugin The plugin that the UI is for.
- * \param ui A UI identifier as returned by slv2_plugin_get_uis() (with type SLV2_VALUE_UI).
- *
- * Time = Query
- */
-SLV2Value
-slv2_plugin_get_ui_library_uri(SLV2Plugin plugin,
- SLV2Value ui);
-
-
/** @} */
#ifdef __cplusplus
diff --git a/slv2/pluginuiinstance.h b/slv2/pluginuiinstance.h
index 48b915e..0a3d8d7 100644
--- a/slv2/pluginuiinstance.h
+++ b/slv2/pluginuiinstance.h
@@ -73,7 +73,7 @@ typedef struct _SLV2UIInstance {
*/
SLV2UIInstance
slv2_plugin_ui_instantiate(SLV2Plugin plugin,
- SLV2Value gui,
+ SLV2PluginUI gui,
LV2UI_Write_Function write_function,
LV2UI_Command_Function command_function,
LV2UI_Program_Change_Function program_function,
diff --git a/slv2/slv2.h b/slv2/slv2.h
index 64c40c6..dbb98e3 100644
--- a/slv2/slv2.h
+++ b/slv2/slv2.h
@@ -28,6 +28,8 @@ extern "C" {
#include <slv2/world.h>
#include <slv2/pluginclass.h>
#include <slv2/plugin.h>
+#include <slv2/pluginui.h>
+#include <slv2/pluginuis.h>
#include <slv2/port.h>
#include <slv2/plugins.h>
#include <slv2/pluginuiinstance.h>
diff --git a/slv2/types.h b/slv2/types.h
index 53a27c6..b906899 100644
--- a/slv2/types.h
+++ b/slv2/types.h
@@ -109,7 +109,11 @@ typedef void* SLV2Values;
/** A plugin UI */
-typedef void* SLV2UI;
+typedef struct _SLV2PluginUI* SLV2PluginUI;
+
+
+/** A collection of plugin UIs. */
+typedef void* SLV2PluginUIs;
#ifdef __cplusplus
diff --git a/slv2/value.h b/slv2/value.h
index 47bb1ff..d3ea1c4 100644
--- a/slv2/value.h
+++ b/slv2/value.h
@@ -73,8 +73,7 @@ slv2_value_is_uri(SLV2Value value);
/** Return this value as a URI string, e.g. "http://example.org/foo".
*
- * Valid to call only if slv2_value_is_uri(\a value) or
- * slv2_value_is_ui(\a value) returns true.
+ * Valid to call only if slv2_value_is_uri(\a value) returns true.
* Returned value is owned by \a value and must not be freed by caller.
*
* Time = O(1)
@@ -172,29 +171,6 @@ int
slv2_value_as_int(SLV2Value value);
-/** Return whether this value is a GUI (URI and type).
- *
- * If this returns true, slv2_value_as_uri will return the URI of the GUI,
- * and slv2_value_as_ui_type will return the SLV2UIType (which can be
- * used to find the URI of the corresponding GUI spec itself, with
- * slv2_ui_type_get_uri).
- *
- * Time = O(1)
- */
-bool
-slv2_value_is_ui(SLV2Value value);
-
-
-/** Return \a value as an SLV2UIType.
- *
- * Valid to call only if slv2_value_is_ui(\a value) returns true.
- *
- * Time = O(1)
- */
-SLV2UIType
-slv2_value_as_ui_type(SLV2Value value);
-
-
/** @} */
#ifdef __cplusplus