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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/