Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
lv2_external_ui.h
Go to the documentation of this file.
1// clang-format off
2/*
3 LV2 External UI extension
4 This work is in public domain.
5
6 This file is distributed in the hope that it will be useful,
7 but WITHOUT ANY WARRANTY; without even the implied warranty of
8 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9
10 If you have questions, contact Filipe Coelho (aka falkTX) <falktx@falktx.com>
11 or ask in #lad channel, FreeNode IRC network.
12*/
13
19#ifndef LV2_EXTERNAL_UI_H
20#define LV2_EXTERNAL_UI_H
21
22#include "lv2/ui/ui.h"
23
24#define LV2_EXTERNAL_UI_URI "http://kxstudio.sf.net/ns/lv2ext/external-ui"
25#define LV2_EXTERNAL_UI_PREFIX LV2_EXTERNAL_UI_URI "#"
26
27#define LV2_EXTERNAL_UI__Host LV2_EXTERNAL_UI_PREFIX "Host"
28#define LV2_EXTERNAL_UI__Widget LV2_EXTERNAL_UI_PREFIX "Widget"
29
31#define LV2_EXTERNAL_UI_DEPRECATED_URI \
32 "http://lv2plug.in/ns/extensions/ui#external"
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
43typedef struct _LV2_External_UI_Widget
44{
51 void (*run) (struct _LV2_External_UI_Widget * _this_);
52
58 void (*show) (struct _LV2_External_UI_Widget * _this_);
59
65 void (*hide) (struct _LV2_External_UI_Widget * _this_);
66
68
69#define LV2_EXTERNAL_UI_RUN(ptr) (ptr)->run (ptr)
70#define LV2_EXTERNAL_UI_SHOW(ptr) (ptr)->show (ptr)
71#define LV2_EXTERNAL_UI_HIDE(ptr) (ptr)->hide (ptr)
72
77typedef struct _LV2_External_UI_Host
78{
94 void (*ui_closed) (LV2UI_Controller controller);
95
105 const char * plugin_human_id;
106
108
109#ifdef __cplusplus
110} /* extern "C" */
111#endif
112
113#endif /* LV2_EXTERNAL_UI_H */
114// clang-format on
On UI instantiation, host must supply LV2_EXTERNAL_UI__Host feature.
const char * plugin_human_id
Optional (may be NULL) "user friendly" identifier which the UI may display to allow a user to easily ...
When LV2_EXTERNAL_UI__Widget UI is instantiated, the returned LV2UI_Widget handle must be cast to poi...