Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
lv2_ui.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2018-2021 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
13#ifndef __PLUGINS_LV2_LV2_UI_H__
14#define __PLUGINS_LV2_LV2_UI_H__
15
16#include <stdbool.h>
17
18#include <suil/suil.h>
19
20typedef struct Lv2Plugin Lv2Plugin;
21
31bool
33
40void
42
46void
48
58void
60
64void
67 uint32_t port_index,
68 uint32_t buffer_size,
69 uint32_t protocol,
70 const void * buffer);
71
78int
81 uint32_t port_index,
82 uint32_t type,
83 uint32_t size,
84 const void * body);
85
93NONNULL void
95 Lv2Plugin * lv2_plugin,
96 Port * port);
97
102#endif
NONNULL void lv2_ui_send_control_val_event_from_plugin_to_ui(Lv2Plugin *lv2_plugin, Port *port)
Similar to lv2_ui_send_event_from_plugin_to_ui except that it passes a float instead of an LV2 atom.
void lv2_ui_read_and_apply_events(Lv2Plugin *plugin, uint32_t nframes)
Read and apply control change events from UI, for plugins that have their own UIs.
void lv2_ui_init(Lv2Plugin *plugin)
Inits the LV2 plugin UI.
int lv2_ui_send_event_from_plugin_to_ui(Lv2Plugin *plugin, uint32_t port_index, uint32_t type, uint32_t size, const void *body)
Send event to UI, called during the real time audio thread when processing the plugin.
void lv2_ui_send_event_from_ui_to_plugin(Lv2Plugin *plugin, uint32_t port_index, uint32_t buffer_size, uint32_t protocol, const void *buffer)
Write events from the plugin's UI to the plugin.
bool lv2_ui_is_resizable(Lv2Plugin *plugin)
Returns if the UI of the plugin is resizable.
void lv2_ui_instantiate(Lv2Plugin *plugin)
Instantiates the plugin UI.
LV2 plugin.
Definition lv2_plugin.h:141
Plugin * plugin
Base Plugin instance (parent).
Definition lv2_plugin.h:308
Must ONLY be created via port_new()
Definition port.h:140
API for Suil, an LV2 UI wrapper library.