LMMS
Loading...
Searching...
No Matches
ui.h
Go to the documentation of this file.
1/*
2 LV2 UI Extension
3 Copyright 2009-2016 David Robillard <d@drobilla.net>
4 Copyright 2006-2011 Lars Luthman <lars.luthman@gmail.com>
5
6 Permission to use, copy, modify, and/or distribute this software for any
7 purpose with or without fee is hereby granted, provided that the above
8 copyright notice and this permission notice appear in all copies.
9
10 THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*/
18
27
28#ifndef LV2_UI_H
29#define LV2_UI_H
30
31#include <stdint.h>
32
33#include "lv2.h"
34#include "urid.h"
35
36#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
37#define LV2_UI_PREFIX LV2_UI_URI "#"
38
39#define LV2_UI__CocoaUI LV2_UI_PREFIX "CocoaUI"
40#define LV2_UI__Gtk3UI LV2_UI_PREFIX "Gtk3UI"
41#define LV2_UI__GtkUI LV2_UI_PREFIX "GtkUI"
42#define LV2_UI__PortNotification LV2_UI_PREFIX "PortNotification"
43#define LV2_UI__PortProtocol LV2_UI_PREFIX "PortProtocol"
44#define LV2_UI__Qt4UI LV2_UI_PREFIX "Qt4UI"
45#define LV2_UI__Qt5UI LV2_UI_PREFIX "Qt5UI"
46#define LV2_UI__UI LV2_UI_PREFIX "UI"
47#define LV2_UI__WindowsUI LV2_UI_PREFIX "WindowsUI"
48#define LV2_UI__X11UI LV2_UI_PREFIX "X11UI"
49#define LV2_UI__backgroundColor LV2_UI_PREFIX "backgroundColor"
50#define LV2_UI__binary LV2_UI_PREFIX "binary"
51#define LV2_UI__fixedSize LV2_UI_PREFIX "fixedSize"
52#define LV2_UI__foregroundColor LV2_UI_PREFIX "foregroundColor"
53#define LV2_UI__idleInterface LV2_UI_PREFIX "idleInterface"
54#define LV2_UI__noUserResize LV2_UI_PREFIX "noUserResize"
55#define LV2_UI__notifyType LV2_UI_PREFIX "notifyType"
56#define LV2_UI__parent LV2_UI_PREFIX "parent"
57#define LV2_UI__plugin LV2_UI_PREFIX "plugin"
58#define LV2_UI__portIndex LV2_UI_PREFIX "portIndex"
59#define LV2_UI__portMap LV2_UI_PREFIX "portMap"
60#define LV2_UI__portNotification LV2_UI_PREFIX "portNotification"
61#define LV2_UI__portSubscribe LV2_UI_PREFIX "portSubscribe"
62#define LV2_UI__protocol LV2_UI_PREFIX "protocol"
63#define LV2_UI__floatProtocol LV2_UI_PREFIX "floatProtocol"
64#define LV2_UI__peakProtocol LV2_UI_PREFIX "peakProtocol"
65#define LV2_UI__requestValue LV2_UI_PREFIX "requestValue"
66#define LV2_UI__resize LV2_UI_PREFIX "resize"
67#define LV2_UI__scaleFactor LV2_UI_PREFIX "scaleFactor"
68#define LV2_UI__showInterface LV2_UI_PREFIX "showInterface"
69#define LV2_UI__touch LV2_UI_PREFIX "touch"
70#define LV2_UI__ui LV2_UI_PREFIX "ui"
71#define LV2_UI__updateRate LV2_UI_PREFIX "updateRate"
72#define LV2_UI__windowTitle LV2_UI_PREFIX "windowTitle"
73
77#define LV2UI_INVALID_PORT_INDEX ((uint32_t)-1)
78
79#ifdef __cplusplus
80extern "C" {
81#else
82# include <stdbool.h>
83#endif
84
90typedef void* LV2UI_Widget;
91
97typedef void* LV2UI_Handle;
98
104typedef void* LV2UI_Controller;
105
110
131 uint32_t port_index,
132 uint32_t buffer_size,
133 uint32_t port_protocol,
134 const void* buffer);
135
142typedef struct _LV2UI_Descriptor {
146 const char* URI;
147
175 const char* plugin_uri,
176 const char* bundle_path,
177 LV2UI_Write_Function write_function,
179 LV2UI_Widget* widget,
180 const LV2_Feature* const* features);
181
182
188
209 uint32_t port_index,
210 uint32_t buffer_size,
212 const void* buffer);
213
222 const void* (*extension_data)(const char* uri);
224
252
274
278typedef struct _LV2UI_Port_Subscribe {
284
301 uint32_t port_index,
302 uint32_t port_protocol,
303 const LV2_Feature* const* features);
304
321 uint32_t port_index,
322 uint32_t port_protocol,
323 const LV2_Feature* const* features);
325
329typedef struct _LV2UI_Touch {
334
347 uint32_t port_index,
348 bool grabbed);
350
388
438
460
493
516
525
529typedef const LV2UI_Descriptor* (*LV2UI_DescriptorFunction)(uint32_t index);
530
531#ifdef __cplusplus
532}
533#endif
534
535#endif /* LV2_UI_H */
536
class MasterUI * ui
Definition Connection.cpp:39
Controller controller
Definition main.C:5
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
static const LV2_Descriptor descriptor
Definition bindings_test_plugin.c:165
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
#define LV2_SYMBOL_EXPORT
Definition lv2.h:361
void * LV2UI_Controller
Definition ui.h:104
LV2_SYMBOL_EXPORT const LV2UI_Descriptor * lv2ui_descriptor(uint32_t index)
Definition CarlaBridgeSingleLV2.cpp:740
void * LV2UI_Widget
Definition ui.h:90
void(* LV2UI_Write_Function)(LV2UI_Controller controller, uint32_t port_index, uint32_t buffer_size, uint32_t port_protocol, const void *buffer)
Definition ui.h:130
LV2UI_Request_Value_Status
Definition ui.h:354
void * LV2UI_Handle
Definition ui.h:97
void * LV2UI_Feature_Handle
Definition ui.h:109
@ LV2UI_REQUEST_VALUE_SUCCESS
Definition ui.h:360
@ LV2UI_REQUEST_VALUE_ERR_UNKNOWN
Definition ui.h:377
@ LV2UI_REQUEST_VALUE_ERR_UNSUPPORTED
Definition ui.h:386
@ LV2UI_REQUEST_VALUE_BUSY
Definition ui.h:369
uint32_t LV2_URID
Definition urid.h:58
static SordNode * uri(SordWorld *world, int num)
Definition sord_test.c:47
void * LV2UI_Controller
Definition lv2_ui.h:91
void * LV2UI_Widget
Definition lv2_ui.h:77
void(* LV2UI_Write_Function)(LV2UI_Controller controller, uint32_t port_index, uint32_t buffer_size, uint32_t port_protocol, const void *buffer)
Definition lv2_ui.h:114
void * LV2UI_Handle
Definition lv2_ui.h:84
void * LV2UI_Feature_Handle
Definition lv2_ui.h:96
unsigned int uint32_t
Definition mid.cpp:100
Definition ui.h:142
LV2UI_Handle(* instantiate)(const struct _LV2UI_Descriptor *descriptor, const char *plugin_uri, const char *bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget *widget, const LV2_Feature *const *features)
Definition ui.h:174
void(* cleanup)(LV2UI_Handle ui)
Definition ui.h:187
void(* port_event)(LV2UI_Handle ui, uint32_t port_index, uint32_t buffer_size, uint32_t format, const void *buffer)
Definition ui.h:208
const char * URI
Definition ui.h:146
Definition ui.h:445
int(* idle)(LV2UI_Handle ui)
Definition ui.h:458
Definition ui.h:497
float peak
Definition ui.h:514
uint32_t period_size
Definition ui.h:508
uint32_t period_start
Definition ui.h:503
Definition ui.h:260
LV2UI_Feature_Handle handle
Definition ui.h:264
uint32_t(* port_index)(LV2UI_Feature_Handle handle, const char *symbol)
Definition ui.h:272
Definition ui.h:278
LV2UI_Feature_Handle handle
Definition ui.h:283
uint32_t(* subscribe)(LV2UI_Feature_Handle handle, uint32_t port_index, uint32_t port_protocol, const LV2_Feature *const *features)
Definition ui.h:300
uint32_t(* unsubscribe)(LV2UI_Feature_Handle handle, uint32_t port_index, uint32_t port_protocol, const LV2_Feature *const *features)
Definition ui.h:320
Definition ui.h:232
int(* ui_resize)(LV2UI_Feature_Handle handle, int width, int height)
Definition ui.h:250
LV2UI_Feature_Handle handle
Definition ui.h:236
Definition ui.h:474
int(* hide)(LV2UI_Handle ui)
Definition ui.h:491
int(* show)(LV2UI_Handle ui)
Definition ui.h:484
Definition ui.h:329
LV2UI_Feature_Handle handle
Definition ui.h:333
void(* touch)(LV2UI_Feature_Handle handle, uint32_t port_index, bool grabbed)
Definition ui.h:346
Definition lv2.h:157
Definition ui.h:147
Definition ui.h:447
Definition ui.h:500
Definition ui.h:264
Definition ui.h:282
Definition ui.h:392
LV2UI_Feature_Handle handle
Definition ui.h:396
LV2UI_Request_Value_Status(* request)(LV2UI_Feature_Handle handle, LV2_URID key, LV2_URID type, const LV2_Feature *const *features)
Definition ui.h:432
Definition ui.h:236
Definition ui.h:477
Definition ui.h:333
ZCONST char * key
Definition crypt.c:587
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396
_WDL_CSTRING_PREFIX void INT_PTR const char * format
Definition wdlcstring.h:263