Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
modulator_view.h
1// SPDX-FileCopyrightText: © 2019-2022, 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_MODULATOR_VIEW_H__
5#define __GUI_WIDGETS_MODULATOR_VIEW_H__
6
7#include "common/utils/types.h"
8#include "gui/backend/gtk_widgets/gtk_wrapper.h"
9#include "gui/backend/gtk_widgets/libadwaita_wrapper.h"
10
11#define MODULATOR_VIEW_WIDGET_TYPE (modulator_view_widget_get_type ())
12G_DECLARE_FINAL_TYPE (
13 ModulatorViewWidget,
14 modulator_view_widget,
15 Z,
16 MODULATOR_VIEW_WIDGET,
17 GtkWidget)
18
19TYPEDEF_STRUCT_UNDERSCORED (ModulatorWidget);
20TYPEDEF_STRUCT_UNDERSCORED (ModulatorMacroWidget);
21TYPEDEF_STRUCT_UNDERSCORED (ColorAreaWidget);
22class ModulatorTrack;
23
29
30#define MW_MODULATOR_VIEW MW_BOT_DOCK_EDGE->modulator_view
31
35#define SHOW_MODULATOR_VIEW \
36 gtk_notebook_set_current_page (MW_MODULATOR_VIEW->bot_notebook, 2)
37
42using ModulatorViewWidget = struct _ModulatorViewWidget
43{
44 GtkWidget parent_instance;
45 AdwStatusPage * no_modulators_status_page;
46 GtkBox * modulators_box;
47 GtkBox * macros_box;
48 ColorAreaWidget * color;
49 GtkLabel * track_name_lbl;
50 ModulatorTrack * track;
51 ModulatorWidget * modulators[14];
52 ModulatorMacroWidget * macros[8];
53};
54
55void
56modulator_view_widget_refresh (
57 ModulatorViewWidget * self,
58 ModulatorTrack * track);
59
60ModulatorViewWidget *
61modulator_view_widget_new ();
62
66
67#endif