summaryrefslogtreecommitdiffstats
path: root/src/slv2_internal.h
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 /src/slv2_internal.h
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 'src/slv2_internal.h')
-rw-r--r--src/slv2_internal.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index 1a34699..57343fe 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -98,7 +98,7 @@ struct _InstanceImpl {
};
-/* ********* GUI Instance ********* */
+/* ********* UI Instance ********* */
struct _SLV2UIInstanceImpl {
void* lib_handle;
const LV2UI_Descriptor* lv2ui_descriptor;
@@ -169,13 +169,22 @@ void
slv2_world_load_file(SLV2World world, librdf_uri* file_uri);
-/* ********* GUI ********* */
+/* ********* Plugin UI ********* */
-struct _SLV2UI {
- SLV2UIType type;
- char* uri;
+struct _SLV2PluginUI {
+ librdf_uri* uri;
+ librdf_uri* bundle_uri;
+ librdf_uri* binary_uri;
+ SLV2Values types;
};
+SLV2PluginUIs slv2_plugin_uis_new();
+SLV2PluginUI
+slv2_plugin_ui_new(SLV2World world,
+ librdf_uri* uri,
+ librdf_uri* type_uri,
+ librdf_uri* binary_uri);
+void slv2_plugin_ui_free(SLV2PluginUI ui);
/* ********* Value ********* */
@@ -186,16 +195,14 @@ typedef enum _SLV2ValueType {
SLV2_VALUE_STRING,
SLV2_VALUE_INT,
SLV2_VALUE_FLOAT,
- SLV2_VALUE_UI
} SLV2ValueType;
struct _SLV2Value {
SLV2ValueType type;
char* str_val; ///< always present
union {
- int int_val;
- float float_val;
- SLV2UIType ui_type_val;
+ int int_val;
+ float float_val;
} val;
};