suil.h | suil.h | |||
---|---|---|---|---|
skipping to change at line 52 | skipping to change at line 52 | |||
#else | #else | |||
# define SUIL_API | # define SUIL_API | |||
#endif | #endif | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** | /** | |||
@defgroup suil Suil | @defgroup suil Suil | |||
A library for hosting LV2 plugin UIs. | ||||
Suil is a library for loading and wrapping LV2 plugin UIs. With Suil, a | ||||
host written in one supported toolkit can embed a plugin UI written in a | ||||
different supported toolkit. Suil insulates hosts from toolkit librarie | ||||
s | ||||
used by plugin UIs. For example, a Gtk host can embed a Qt UI without | ||||
linking against Qt at compile time. | ||||
Visit <http://drobilla.net/software/suil> for more information. | ||||
@{ | @{ | |||
*/ | */ | |||
/** | /** | |||
UI host descriptor. | UI host descriptor. | |||
This contains the various functions that a plugin UI may use to communic ate | This contains the various functions that a plugin UI may use to communic ate | |||
with the plugin. It is passed to @ref suil_instance_new to provide | with the plugin. It is passed to @ref suil_instance_new to provide | |||
these functions to the UI. | these functions to the UI. | |||
*/ | */ | |||
skipping to change at line 152 | skipping to change at line 160 | |||
void | void | |||
suil_host_free(SuilHost* host); | suil_host_free(SuilHost* host); | |||
/** | /** | |||
Check if suil can wrap a UI type. | Check if suil can wrap a UI type. | |||
@param host_type_uri The URI of the desired widget type of the host, | @param host_type_uri The URI of the desired widget type of the host, | |||
corresponding to the @c type_uri parameter of @ref suil_instance_new. | corresponding to the @c type_uri parameter of @ref suil_instance_new. | |||
@param ui_type_uri The URI of the UI widget type. | @param ui_type_uri The URI of the UI widget type. | |||
@return 0 if wrapping is unsupported, otherwise the quality of the wrapp ing | @return 0 if wrapping is unsupported, otherwise the quality of the wrapp ing | |||
where 1 is the highest quality (direct native embedding with no wrapping ) | where 1 is the highest quality (direct native embedding with no wrapping ) | |||
and increaing values are of a progressively lower quality and/or stabili ty. | and increasing values are of a progressively lower quality and/or stabil ity. | |||
*/ | */ | |||
SUIL_API | SUIL_API | |||
unsigned | unsigned | |||
suil_ui_supported(const char* host_type_uri, | suil_ui_supported(const char* host_type_uri, | |||
const char* ui_type_uri); | const char* ui_type_uri); | |||
/** | /** | |||
Instantiate a UI for an LV2 plugin. | Instantiate a UI for an LV2 plugin. | |||
This funcion may load a suil module to adapt the UI to the desired toolk it. | This funcion may load a suil module to adapt the UI to the desired toolk it. | |||
skipping to change at line 214 | skipping to change at line 222 | |||
container_type_uri parameter of @ref suil_instance_new. Note this may b e a | container_type_uri parameter of @ref suil_instance_new. Note this may b e a | |||
wrapper widget created by Suil, and not necessarily the widget directly | wrapper widget created by Suil, and not necessarily the widget directly | |||
implemented by the UI. | implemented by the UI. | |||
*/ | */ | |||
SUIL_API | SUIL_API | |||
SuilWidget | SuilWidget | |||
suil_instance_get_widget(SuilInstance* instance); | suil_instance_get_widget(SuilInstance* instance); | |||
/** | /** | |||
Notify the UI about a change in a plugin port. | Notify the UI about a change in a plugin port. | |||
@param instance UI instance. | ||||
@param port_index Index of the port which has changed. | ||||
@param buffer_size Size of @p buffer in bytes. | ||||
@param format Format of @p buffer (mapped URI, or 0 for float). | ||||
@param buffer Change data, e.g. the new port value. | ||||
This function can be used to notify the UI about any port change, but in | ||||
the | ||||
simplest case is used to set the value of lv2:ControlPort ports. For | ||||
simplicity, this is a special case where @p format is 0, @p buffer_size | ||||
is | ||||
4, and @p buffer should point to a single float. | ||||
The @p buffer must be valid only for the duration of this call, the UI m | ||||
ust | ||||
not keep a reference to it. | ||||
*/ | */ | |||
SUIL_API | SUIL_API | |||
void | void | |||
suil_instance_port_event(SuilInstance* instance, | suil_instance_port_event(SuilInstance* instance, | |||
uint32_t port_index, | uint32_t port_index, | |||
uint32_t buffer_size, | uint32_t buffer_size, | |||
uint32_t format, | uint32_t format, | |||
const void* buffer); | const void* buffer); | |||
/** | /** | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 27 lines changed or added | |||