Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
fader_controls_grid.h
1// SPDX-FileCopyrightText: © 2020, 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_FADER_CONTROLS_GRID_H__
5#define __GUI_WIDGETS_FADER_CONTROLS_GRID_H__
6
7#include "common/dsp/channel_track.h"
8#include "gui/backend/gtk_widgets/gtk_wrapper.h"
9
10#define FADER_CONTROLS_GRID_WIDGET_TYPE (fader_controls_grid_widget_get_type ())
11G_DECLARE_FINAL_TYPE (
12 FaderControlsGridWidget,
13 fader_controls_grid_widget,
14 Z,
15 FADER_CONTROLS_GRID_WIDGET,
16 GtkGrid)
17
18class Track;
19TYPEDEF_STRUCT_UNDERSCORED (FaderWidget);
20TYPEDEF_STRUCT_UNDERSCORED (MeterWidget);
21TYPEDEF_STRUCT_UNDERSCORED (BalanceControlWidget);
22TYPEDEF_STRUCT_UNDERSCORED (FaderButtonsWidget);
23
29
30using FaderControlsGridWidget = struct _FaderControlsGridWidget
31{
32 GtkGrid parent_instance;
33
34 GtkBox * meters_box;
35 MeterWidget * meter_l;
36 MeterWidget * meter_r;
37 GtkBox * balance_box;
38 BalanceControlWidget * balance_control;
39 FaderWidget * fader;
40
41 Track * track;
42
43 FaderButtonsWidget * fader_buttons;
44
45 GtkLabel * meter_readings;
46
47 double meter_reading_val;
48
51 gint64 last_midi_trigger_time;
52
53 guint tick_cb;
54};
55
56void
57fader_controls_grid_widget_setup (
58 FaderControlsGridWidget * self,
59 ChannelTrack * track);
60
64void
65fader_controls_grid_widget_tear_down (FaderControlsGridWidget * self);
66
67FaderControlsGridWidget *
68fader_controls_grid_widget_new ();
69
73
74#endif
void fader_controls_grid_widget_tear_down(FaderControlsGridWidget *self)
Prepare for finalization.
A FaderWidget reflects a Fader object's state.
Definition fader.h:29