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
00077 #ifndef LV2_GTK2GUI_H
00078 #define LV2_GTK2GUI_H
00079
00080 #include <lv2.h>
00081 #include <gtk/gtkwidget.h>
00082
00083
00084 #ifdef __cplusplus
00085 extern "C" {
00086 #endif
00087
00088
00093 typedef void* LV2UI_Handle;
00094
00095
00100 typedef void* LV2UI_Controller;
00101
00102
00107 typedef void (*LV2UI_Set_Control_Function)(LV2UI_Controller controller,
00108 uint32_t port,
00109 float value);
00110
00111
00112 typedef struct _LV2UI_Descriptor {
00113
00115 const char* URI;
00116
00144 LV2UI_Handle (*instantiate)(const struct _LV2UI_Descriptor* descriptor,
00145 const char* plugin_uri,
00146 const char* bundle_path,
00147 LV2UI_Set_Control_Function control_function,
00148 LV2UI_Controller controller,
00149 GtkWidget** widget,
00150 const LV2_Host_Feature** features);
00151
00152
00155 void (*cleanup)(LV2UI_Handle gui);
00156
00160 void (*set_control)(LV2UI_Handle gui,
00161 uint32_t port,
00162 float value);
00163
00171 void* (*extension_data)(LV2UI_Handle gui,
00172 const char* uri);
00173
00174 } LV2UI_Descriptor;
00175
00176
00177
00194 const LV2UI_Descriptor* lv2ui_descriptor(uint32_t index);
00195
00196
00198 typedef const LV2UI_Descriptor* (*LV2UI_DescriptorFunction)(uint32_t index);
00199
00200
00201
00202 #ifdef __cplusplus
00203 }
00204 #endif
00205
00206
00207 #endif