Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
fader_buttons.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2022, 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_FADER_BUTTONS_H__
11#define __GUI_WIDGETS_FADER_BUTTONS_H__
12
13#include "gui/backend/gtk_widgets/gtk_wrapper.h"
14
15#define FADER_BUTTONS_WIDGET_TYPE (fader_buttons_widget_get_type ())
16G_DECLARE_FINAL_TYPE (
17 FaderButtonsWidget,
18 fader_buttons_widget,
19 Z,
20 FADER_BUTTONS_WIDGET,
21 GtkBox)
22
23class ChannelTrack;
24
30
31using FaderButtonsWidget = struct _FaderButtonsWidget
32{
33 GtkBox parent_instance;
34
35 GtkToggleButton * mono_compat;
36 GtkToggleButton * solo;
37 GtkToggleButton * mute;
38 GtkToggleButton * record;
39 GtkToggleButton * listen;
40 GtkToggleButton * swap_phase;
41 GtkButton * e;
42
46 gulong mono_compat_toggled_handler_id;
47 gulong record_toggled_handler_id;
48 gulong solo_toggled_handler_id;
49 gulong mute_toggled_handler_id;
50 gulong listen_toggled_handler_id;
51 gulong swap_phase_toggled_handler_id;
52
54 ChannelTrack * track;
55
57 GtkPopoverMenu * popover_menu;
58};
59
60void
61fader_buttons_widget_block_signal_handlers (FaderButtonsWidget * self);
62
63void
64fader_buttons_widget_unblock_signal_handlers (FaderButtonsWidget * self);
65
66void
67fader_buttons_widget_refresh (FaderButtonsWidget * self, ChannelTrack * track);
68
69FaderButtonsWidget *
70fader_buttons_widget_new (ChannelTrack * track);
71
75
76#endif