00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00096 #ifndef LV2_IPGUI_H
00097 #define LV2_IPGUI_H
00098
00099 #include "lv2.h"
00100
00101
00102 #ifdef __cplusplus
00103 extern "C" {
00104 #endif
00105
00106
00117 typedef void* LV2UI_Widget;
00118
00119
00124 typedef void* LV2UI_Handle;
00125
00126
00131 typedef void* LV2UI_Controller;
00132
00133
00156 typedef void (*LV2UI_Write_Function)(LV2UI_Controller controller,
00157 uint32_t port_index,
00158 uint32_t buffer_size,
00159 const void* buffer);
00160
00161
00163 typedef struct _LV2UI_Descriptor {
00164
00166 const char* URI;
00167
00189 LV2UI_Handle (*instantiate)(const struct _LV2UI_Descriptor* descriptor,
00190 const char* plugin_uri,
00191 const char* bundle_path,
00192 LV2UI_Write_Function write_function,
00193 LV2UI_Controller controller,
00194 LV2UI_Widget* widget,
00195 const LV2_Feature* const* features);
00196
00197
00201 void (*cleanup)(LV2UI_Handle gui);
00202
00246 void (*port_event)(LV2UI_Handle gui,
00247 uint32_t port,
00248 uint32_t buffer_size,
00249 const void* buffer);
00250
00258 const void* (*extension_data)(const char* uri);
00259
00260 } LV2UI_Descriptor;
00261
00262
00263
00278 const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index);
00279
00280
00282 typedef const LV2UI_Descriptor* (*LV2UI_DescriptorFunction)(uint32_t index);
00283
00284
00285
00286 #ifdef __cplusplus
00287 }
00288 #endif
00289
00290
00291 #endif