From 128894e12e8089614b13afa00e3383e6e80b7341 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 24 Feb 2011 09:00:54 +0000 Subject: Make Suil exclusively deal with instantiating (not choosing) UIs. Add slv2_ui_instance_new as a replacement for slv2_ui_instantiate (now deprecated), which supports cross-toolkit embedding by taking an additional widget type pointer. Remove direct Suil dependency from Ingen. git-svn-id: http://svn.drobilla.net/lad/trunk/suil@3022 a436a847-0d15-0410-975c-d299462d15a1 --- suil/suil.h | 55 ++++++++++++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) (limited to 'suil/suil.h') diff --git a/suil/suil.h b/suil/suil.h index f5e5584..2e1bb4c 100644 --- a/suil/suil.h +++ b/suil/suil.h @@ -53,9 +53,6 @@ extern "C" { * @{ */ -/** A set of UIs for a particular LV2 plugin. */ -typedef struct _SuilUIs* SuilUIs; - /** An instance of an LV2 plugin UI. */ typedef struct _SuilInstance* SuilInstance; @@ -69,30 +66,6 @@ bool suil_ui_type_supported(const char* host_type_uri, const char* ui_type_uri); -/** Create a new empty set of UIs for a particular LV2 plugin. */ -SUIL_API -SuilUIs -suil_uis_new(const char* plugin_uri); - -/** Free @a uis. */ -SUIL_API -void -suil_uis_free(SuilUIs uis); - -/** Return the URI of the plugin this set of UIs is for. */ -SUIL_API -const char* -suil_uis_get_plugin_uri(SuilUIs uis); - -/** Add a discovered UI to @a uis. */ -SUIL_API -void -suil_uis_add(SuilUIs uis, - const char* uri, - const char* type_uri, - const char* bundle_path, - const char* binary_path); - /** Instantiate a UI for an LV2 plugin. * @param uis Set of available UIs for the plugin. * @param type_uri URI of the desired widget type. @@ -105,9 +78,12 @@ suil_uis_add(SuilUIs uis, */ SUIL_API SuilInstance -suil_instance_new(SuilUIs uis, - const char* type_uri, +suil_instance_new(const char* plugin_uri, const char* ui_uri, + const char* ui_bundle_path, + const char* ui_binary_path, + const char* ui_type_uri, + const char* host_type_uri, LV2UI_Write_Function write_function, LV2UI_Controller controller, const LV2_Feature* const* features); @@ -120,6 +96,20 @@ SUIL_API void suil_instance_free(SuilInstance instance); +/** Get the LV2UI_Descriptor of a UI instance. + * This function should not be needed under normal circumstances. + */ +SUIL_API +const LV2UI_Descriptor* +suil_instance_get_descriptor(SuilInstance instance); + +/** Get the LV2UI_Handle of a UI instance. + * This function should not be needed under normal circumstances. + */ +SUIL_API +LV2UI_Handle +suil_instance_get_handle(SuilInstance instance); + /** Get the widget for a UI instance. * Returns an opaque pointer to a widget, the type of which is defined by the * corresponding parameter to suil_instantiate. Note this may be a wrapper @@ -140,6 +130,13 @@ suil_instance_port_event(SuilInstance instance, uint32_t format, const void* buffer); +/** Return a data structure defined by some LV2 extension URI. + */ +SUIL_API +const void* +suil_instance_extension_data(SuilInstance instance, + const char* uri); + /** @} */ #ifdef __cplusplus -- cgit v1.2.1