Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
monitor_section.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: © 2019-2021 Alexandros Theodotou <alex@zrythm.org>
3 *
4 * SPDX-License-Identifier: LicenseRef-ZrythmLicense
5 */
6
13#ifndef __GUI_WIDGETS_CONTROL_ROOM_H__
14#define __GUI_WIDGETS_CONTROL_ROOM_H__
15
16#include <gtk/gtk.h>
17
18#define MONITOR_SECTION_WIDGET_TYPE (monitor_section_widget_get_type ())
19G_DECLARE_FINAL_TYPE (
21 monitor_section_widget,
22 Z,
23 MONITOR_SECTION_WIDGET,
24 GtkBox)
25
26
32#define MW_MONITOR_SECTION MW_RIGHT_DOCK_EDGE->monitor_section
33
34typedef struct _KnobWithNameWidget KnobWithNameWidget;
35typedef struct ControlRoom ControlRoom;
36typedef struct _SliderBarWidget SliderBarWidget;
37typedef struct _MeterWidget MeterWidget;
38typedef struct _ActiveHardwareMbWidget ActiveHardwareMbWidget;
39
40typedef struct _MonitorSectionWidget
41{
42 GtkBox parent_instance;
43
44 GtkLabel * soloed_tracks_lbl;
45 GtkButton * soloing_btn;
46 GtkLabel * muted_tracks_lbl;
47 GtkButton * muting_btn;
48 GtkLabel * listened_tracks_lbl;
49 GtkButton * listening_btn;
50
51 GtkBox * mute_level_box;
52 KnobWithNameWidget * mute_level;
53 GtkBox * listen_level_box;
54 KnobWithNameWidget * listen_level;
55 GtkBox * dim_level_box;
56 KnobWithNameWidget * dim_level;
57
58 GtkToggleButton * mono_toggle;
59 GtkToggleButton * dim_toggle;
60 GtkToggleButton * mute_toggle;
61
64 KnobWithNameWidget * monitor_level;
65
66 /* --- hardware outputs --- */
67
68 GtkBox * left_output_box;
69 GtkLabel * l_label;
70 ActiveHardwareMbWidget * left_outputs;
71
72 GtkBox * right_output_box;
73 GtkLabel * r_label;
74 ActiveHardwareMbWidget * right_outputs;
75
78
80
81void
82monitor_section_widget_refresh (MonitorSectionWidget * self);
83
84void
85monitor_section_widget_setup (
87 ControlRoom * control_room);
88
94
99#endif
MonitorSectionWidget * monitor_section_widget_new(void)
Creates a MonitorSectionWidget.
A menu button that allows selecting active hardware ports.
The control room allows to specify how Listen will work on each Channel and to set overall volume aft...
A vertical box with a knob at the top and a name at the bottom.
ControlRoom * control_room
Pointer to backend.
GtkBox * monitor_level_box
Output knob.