LMMS
Loading...
Searching...
No Matches
lv2_ui.h
Go to the documentation of this file.
1/*
2 LV2 UI Extension
3 Copyright 2009-2014 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
24
25#ifndef LV2_UI_H
26#define LV2_UI_H
27
28#include <stdint.h>
29
30#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
31
32#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
33#define LV2_UI_PREFIX LV2_UI_URI "#"
34
35#define LV2_UI__CocoaUI LV2_UI_PREFIX "CocoaUI"
36#define LV2_UI__Gtk3UI LV2_UI_PREFIX "Gtk3UI"
37#define LV2_UI__GtkUI LV2_UI_PREFIX "GtkUI"
38#define LV2_UI__PortNotification LV2_UI_PREFIX "PortNotification"
39#define LV2_UI__Qt4UI LV2_UI_PREFIX "Qt4UI"
40#define LV2_UI__UI LV2_UI_PREFIX "UI"
41#define LV2_UI__WindowsUI LV2_UI_PREFIX "WindowsUI"
42#define LV2_UI__X11UI LV2_UI_PREFIX "X11UI"
43#define LV2_UI__binary LV2_UI_PREFIX "binary"
44#define LV2_UI__fixedSize LV2_UI_PREFIX "fixedSize"
45#define LV2_UI__idleInterface LV2_UI_PREFIX "idleInterface"
46#define LV2_UI__noUserResize LV2_UI_PREFIX "noUserResize"
47#define LV2_UI__notifyType LV2_UI_PREFIX "notifyType"
48#define LV2_UI__parent LV2_UI_PREFIX "parent"
49#define LV2_UI__plugin LV2_UI_PREFIX "plugin"
50#define LV2_UI__portIndex LV2_UI_PREFIX "portIndex"
51#define LV2_UI__portMap LV2_UI_PREFIX "portMap"
52#define LV2_UI__portNotification LV2_UI_PREFIX "portNotification"
53#define LV2_UI__portSubscribe LV2_UI_PREFIX "portSubscribe"
54#define LV2_UI__resize LV2_UI_PREFIX "resize"
55#define LV2_UI__showInterface LV2_UI_PREFIX "showInterface"
56#define LV2_UI__touch LV2_UI_PREFIX "touch"
57#define LV2_UI__ui LV2_UI_PREFIX "ui"
58#define LV2_UI__updateRate LV2_UI_PREFIX "updateRate"
59#define LV2_UI__windowTitle LV2_UI_PREFIX "windowTitle"
60
64#define LV2UI_INVALID_PORT_INDEX ((uint32_t)-1)
65
66#ifdef __cplusplus
67extern "C" {
68#else
69# include <stdbool.h>
70#endif
71
77typedef void* LV2UI_Widget;
78
84typedef void* LV2UI_Handle;
85
91typedef void* LV2UI_Controller;
92
97
115 uint32_t port_index,
116 uint32_t buffer_size,
117 uint32_t port_protocol,
118 const void* buffer);
119
126typedef struct _LV2UI_Descriptor {
130 const char* URI;
131
159 const char* plugin_uri,
160 const char* bundle_path,
161 LV2UI_Write_Function write_function,
163 LV2UI_Widget* widget,
164 const LV2_Feature* const* features);
165
166
172
193 uint32_t port_index,
194 uint32_t buffer_size,
196 const void* buffer);
197
206 const void* (*extension_data)(const char* uri);
208
216typedef struct _LV2UI_Resize {
221
235
243typedef struct _LV2UI_Port_Map {
248
255 uint32_t (*port_index)(LV2UI_Feature_Handle handle, const char* symbol);
257
261typedef struct _LV2UI_Port_Subscribe {
267
284 uint32_t port_index,
285 uint32_t port_protocol,
286 const LV2_Feature* const* features);
287
304 uint32_t port_index,
305 uint32_t port_protocol,
306 const LV2_Feature* const* features);
308
312typedef struct _LV2UI_Touch {
317
330 uint32_t port_index,
331 bool grabbed);
333
340typedef struct _LV2UI_Idle_Interface {
355
369typedef struct _LV2UI_Show_Interface {
380
388
392typedef struct _LV2UI_Peak_Data {
399
404
409 float peak;
411
420
424typedef const LV2UI_Descriptor* (*LV2UI_DescriptorFunction)(uint32_t index);
425
426#ifdef __cplusplus
427}
428#endif
429
430#endif /* LV2_UI_H */
class MasterUI * ui
Definition Connection.cpp:39
Controller controller
Definition main.C:5
static void cleanup(LV2_Handle instance)
Definition bad_syntax.c:35
static LV2_Handle instantiate(const LV2_Descriptor *descriptor, double rate, const char *path, const LV2_Feature *const *features)
Definition bad_syntax.c:57
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
struct _LV2_Feature LV2_Feature
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
void * LV2UI_Handle
Definition ui.h:97
void * LV2UI_Feature_Handle
Definition ui.h:109
static SordNode * uri(SordWorld *world, int num)
Definition sord_test.c:47
#define URI(prefix, suffix)
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
void(* port_event)(LV2UI_Handle ui, uint32_t port_index, uint32_t buffer_size, uint32_t format, const void *buffer)
Definition ui.h:208
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:236
Definition ui.h:477
Definition ui.h:333
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396
_WDL_CSTRING_PREFIX void INT_PTR const char * format
Definition wdlcstring.h:263