Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
modulator_macro.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2021-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_MODULATOR_MACRO_H__
11#define __GUI_WIDGETS_MODULATOR_MACRO_H__
12
13#include "common/dsp/track.h"
14#include "gui/backend/gtk_widgets/gtk_wrapper.h"
15#include "gui/backend/gtk_widgets/two_col_expander_box.h"
16
17typedef struct _KnobWithNameWidget KnobWithNameWidget;
18typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget;
19
25
26#define MODULATOR_MACRO_WIDGET_TYPE (modulator_macro_widget_get_type ())
28 ModulatorMacroWidget,
29 modulator_macro_widget,
30 Z,
31 MODULATOR_MACRO_WIDGET,
32 GtkWidget)
33
34
37typedef struct _ModulatorMacroWidget
38{
39 GtkWidget parent_instance;
40
41 GtkGrid * grid;
42
43 KnobWithNameWidget * knob_with_name;
44
45 GtkDrawingArea * inputs;
46 GtkDrawingArea * output;
47
49 GtkButton * add_input;
50
51 GtkButton * outputs;
52
54 int modulator_macro_idx;
55
56 PangoLayout * layout;
57
58 PortConnectionsPopoverWidget * connections_popover;
59
61 GtkPopoverMenu * popover_menu;
62} ModulatorMacroWidget;
63
64void
65modulator_macro_widget_refresh (ModulatorMacroWidget * self);
66
67ModulatorMacroWidget *
68modulator_macro_widget_new (int modulator_macro_index);
69
73
74#endif
G_DECLARE_FINAL_TYPE(ModulatorMacroWidget, modulator_macro_widget, Z, MODULATOR_MACRO_WIDGET, GtkWidget) typedef struct _ModulatorMacroWidget
ModulatorMacro.
A vertical box with a knob at the top and a name at the bottom.