Zrythm
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
10#ifndef __GUI_WIDGETS_MODULATOR_MACRO_H__
11#define __GUI_WIDGETS_MODULATOR_MACRO_H__
12
13#include "dsp/track.h"
14#include "gui/widgets/two_col_expander_box.h"
15
16#include <gtk/gtk.h>
17
18typedef struct _KnobWithNameWidget KnobWithNameWidget;
19typedef struct _PortConnectionsPopoverWidget PortConnectionsPopoverWidget;
20
27#define MODULATOR_MACRO_WIDGET_TYPE (modulator_macro_widget_get_type ())
29 ModulatorMacroWidget,
30 modulator_macro_widget,
31 Z,
32 MODULATOR_MACRO_WIDGET,
33 GtkWidget)
34
35
38typedef struct _ModulatorMacroWidget
39{
40 GtkWidget parent_instance;
41
42 GtkGrid * grid;
43
44 KnobWithNameWidget * knob_with_name;
45
46 GtkDrawingArea * inputs;
47 GtkDrawingArea * output;
48
50 GtkButton * add_input;
51
52 GtkButton * outputs;
53
55 int modulator_macro_idx;
56
57 PangoLayout * layout;
58
59 PortConnectionsPopoverWidget * connections_popover;
60
62 GtkPopoverMenu * popover_menu;
63} ModulatorMacroWidget;
64
65void
66modulator_macro_widget_refresh (ModulatorMacroWidget * self);
67
68ModulatorMacroWidget *
69modulator_macro_widget_new (int modulator_macro_index);
70
75#endif
The backend for a timeline track.
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.