diff options
author | David Robillard <d@drobilla.net> | 2007-09-23 18:51:21 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-23 18:51:21 +0000 |
commit | a06305e2c8068f0519f25ab3d0eddf7278d6ba7c (patch) | |
tree | 57c89dffe104e5bf0fa561c35a550f564279321c /slv2 | |
parent | d26a3e39c72c17acbe5bb371a6638acd2469bdac (diff) | |
download | lilv-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.am | 2 | ||||
-rw-r--r-- | slv2/plugin.h | 18 | ||||
-rw-r--r-- | slv2/pluginuiinstance.h | 2 | ||||
-rw-r--r-- | slv2/slv2.h | 2 | ||||
-rw-r--r-- | slv2/types.h | 6 | ||||
-rw-r--r-- | slv2/value.h | 26 |
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 |