LV2  1.0.13
Data Structures | Macros | Typedefs | Functions
ui.h File Reference

User Interface API. More...

Data Structures

struct  LV2UI_Descriptor
 A plugin UI. More...
 
struct  LV2UI_Resize
 Feature/interface for resizable UIs (LV2_UI__resize). More...
 
struct  LV2UI_Port_Map
 Feature to map port symbols to UIs. More...
 
struct  LV2UI_Port_Subscribe
 Feature to subscribe to port updates (LV2_UI__portSubscribe). More...
 
struct  LV2UI_Touch
 A feature to notify the host that the user has grabbed a UI control. More...
 
struct  LV2UI_Idle_Interface
 UI Idle Interface (LV2_UI__idleInterface) More...
 
struct  LV2UI_Show_Interface
 UI Show Interface (LV2_UI__showInterface) More...
 
struct  LV2UI_Peak_Data
 Peak data for a slice of time, the update format for ui:peakProtocol. More...
 

Macros

#define LV2_UI_URI   "http://lv2plug.in/ns/extensions/ui"
 
#define LV2_UI_PREFIX   LV2_UI_URI "#"
 
#define LV2_UI__CocoaUI   LV2_UI_PREFIX "CocoaUI"
 
#define LV2_UI__Gtk3UI   LV2_UI_PREFIX "Gtk3UI"
 
#define LV2_UI__GtkUI   LV2_UI_PREFIX "GtkUI"
 
#define LV2_UI__PortNotification   LV2_UI_PREFIX "PortNotification"
 
#define LV2_UI__Qt4UI   LV2_UI_PREFIX "Qt4UI"
 
#define LV2_UI__UI   LV2_UI_PREFIX "UI"
 
#define LV2_UI__WindowsUI   LV2_UI_PREFIX "WindowsUI"
 
#define LV2_UI__X11UI   LV2_UI_PREFIX "X11UI"
 
#define LV2_UI__binary   LV2_UI_PREFIX "binary"
 
#define LV2_UI__fixedSize   LV2_UI_PREFIX "fixedSize"
 
#define LV2_UI__idleInterface   LV2_UI_PREFIX "idleInterface"
 
#define LV2_UI__noUserResize   LV2_UI_PREFIX "noUserResize"
 
#define LV2_UI__notifyType   LV2_UI_PREFIX "notifyType"
 
#define LV2_UI__parent   LV2_UI_PREFIX "parent"
 
#define LV2_UI__plugin   LV2_UI_PREFIX "plugin"
 
#define LV2_UI__portIndex   LV2_UI_PREFIX "portIndex"
 
#define LV2_UI__portMap   LV2_UI_PREFIX "portMap"
 
#define LV2_UI__portNotification   LV2_UI_PREFIX "portNotification"
 
#define LV2_UI__portSubscribe   LV2_UI_PREFIX "portSubscribe"
 
#define LV2_UI__resize   LV2_UI_PREFIX "resize"
 
#define LV2_UI__showInterface   LV2_UI_PREFIX "showInterface"
 
#define LV2_UI__touch   LV2_UI_PREFIX "touch"
 
#define LV2_UI__ui   LV2_UI_PREFIX "ui"
 
#define LV2_UI__updateRate   LV2_UI_PREFIX "updateRate"
 
#define LV2_UI__windowTitle   LV2_UI_PREFIX "windowTitle"
 
#define LV2UI_INVALID_PORT_INDEX   ((uint32_t)-1)
 The index returned by LV2UI_Port_Map::port_index() for unknown ports. More...
 

Typedefs

typedef void * LV2UI_Widget
 A pointer to some widget or other type of UI handle. More...
 
typedef void * LV2UI_Handle
 A pointer to UI instance internals. More...
 
typedef void * LV2UI_Controller
 A pointer to a controller provided by the host. More...
 
typedef void * LV2UI_Feature_Handle
 A pointer to opaque data for a feature. More...
 
typedef void(* LV2UI_Write_Function) (LV2UI_Controller controller, uint32_t port_index, uint32_t buffer_size, uint32_t port_protocol, const void *buffer)
 A host-provided function that sends data to a plugin's input ports. More...
 
typedef const LV2UI_Descriptor *(* LV2UI_DescriptorFunction) (uint32_t index)
 The type of the lv2ui_descriptor() function. More...
 

Functions

LV2_SYMBOL_EXPORT const LV2UI_Descriptorlv2ui_descriptor (uint32_t index)
 Prototype for UI accessor function. More...
 

Detailed Description

User Interface API.

For high-level documentation, see http://lv2plug.in/ns/extensions/ui.

Macro Definition Documentation

#define LV2_UI_URI   "http://lv2plug.in/ns/extensions/ui"
#define LV2_UI_PREFIX   LV2_UI_URI "#"
#define LV2_UI__CocoaUI   LV2_UI_PREFIX "CocoaUI"
#define LV2_UI__Gtk3UI   LV2_UI_PREFIX "Gtk3UI"
#define LV2_UI__GtkUI   LV2_UI_PREFIX "GtkUI"
#define LV2_UI__PortNotification   LV2_UI_PREFIX "PortNotification"
#define LV2_UI__Qt4UI   LV2_UI_PREFIX "Qt4UI"
#define LV2_UI__UI   LV2_UI_PREFIX "UI"
#define LV2_UI__WindowsUI   LV2_UI_PREFIX "WindowsUI"
#define LV2_UI__X11UI   LV2_UI_PREFIX "X11UI"
#define LV2_UI__binary   LV2_UI_PREFIX "binary"
#define LV2_UI__fixedSize   LV2_UI_PREFIX "fixedSize"
#define LV2_UI__idleInterface   LV2_UI_PREFIX "idleInterface"
#define LV2_UI__noUserResize   LV2_UI_PREFIX "noUserResize"
#define LV2_UI__notifyType   LV2_UI_PREFIX "notifyType"
#define LV2_UI__parent   LV2_UI_PREFIX "parent"
#define LV2_UI__plugin   LV2_UI_PREFIX "plugin"
#define LV2_UI__portIndex   LV2_UI_PREFIX "portIndex"
#define LV2_UI__portMap   LV2_UI_PREFIX "portMap"
#define LV2_UI__portNotification   LV2_UI_PREFIX "portNotification"
#define LV2_UI__portSubscribe   LV2_UI_PREFIX "portSubscribe"
#define LV2_UI__resize   LV2_UI_PREFIX "resize"
#define LV2_UI__showInterface   LV2_UI_PREFIX "showInterface"
#define LV2_UI__touch   LV2_UI_PREFIX "touch"
#define LV2_UI__ui   LV2_UI_PREFIX "ui"
#define LV2_UI__updateRate   LV2_UI_PREFIX "updateRate"
#define LV2_UI__windowTitle   LV2_UI_PREFIX "windowTitle"
#define LV2UI_INVALID_PORT_INDEX   ((uint32_t)-1)

The index returned by LV2UI_Port_Map::port_index() for unknown ports.

Typedef Documentation

typedef void* LV2UI_Widget

A pointer to some widget or other type of UI handle.

The actual type is defined by the type of the UI.

typedef void* LV2UI_Handle

A pointer to UI instance internals.

The host may compare this to NULL, but otherwise MUST NOT interpret it.

typedef void* LV2UI_Controller

A pointer to a controller provided by the host.

The UI may compare this to NULL, but otherwise MUST NOT interpret it.

typedef void* LV2UI_Feature_Handle

A pointer to opaque data for a feature.

typedef void(* LV2UI_Write_Function) (LV2UI_Controller controller, uint32_t port_index, uint32_t buffer_size, uint32_t port_protocol, const void *buffer)

A host-provided function that sends data to a plugin's input ports.

Parameters
controllerThe opaque controller pointer passed to LV2UI_Descriptor::instantiate().
port_indexIndex of the port to update.
bufferBuffer containing buffer_size bytes of data.
buffer_sizeSize of buffer in bytes.
port_protocolEither 0 or the URID for a ui:PortProtocol. If 0, the protocol is implicitly ui:floatProtocol, the port MUST be an lv2:ControlPort input, buffer MUST point to a single float value, and buffer_size MUST be sizeof(float). The UI SHOULD NOT use a protocol not supported by the host, but the host MUST gracefully ignore any protocol it does not understand.
typedef const LV2UI_Descriptor*(* LV2UI_DescriptorFunction) (uint32_t index)

The type of the lv2ui_descriptor() function.

Function Documentation

LV2_SYMBOL_EXPORT const LV2UI_Descriptor* lv2ui_descriptor ( uint32_t  index)

Prototype for UI accessor function.

This is the entry point to a UI library, which works in the same way as lv2_descriptor() but for UIs rather than plugins.