diff options
author | David Robillard <d@drobilla.net> | 2011-02-24 09:00:54 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-02-24 09:00:54 +0000 |
commit | 128894e12e8089614b13afa00e3383e6e80b7341 (patch) | |
tree | 7d4e90c37814da0e0d810c69ca6b2dfdeaa8de0c /suil/suil.h | |
parent | 4f571715ad05ca72172fa149be6bb308ff444695 (diff) | |
download | suil-128894e12e8089614b13afa00e3383e6e80b7341.tar.gz suil-128894e12e8089614b13afa00e3383e6e80b7341.tar.bz2 suil-128894e12e8089614b13afa00e3383e6e80b7341.zip |
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
Diffstat (limited to 'suil/suil.h')
-rw-r--r-- | suil/suil.h | 55 |
1 files changed, 26 insertions, 29 deletions
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 |