Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
editor_toolbar.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
8#ifndef __GUI_WIDGETS_EDITOR_TOOLBAR_H__
9#define __GUI_WIDGETS_EDITOR_TOOLBAR_H__
10
11#include <adwaita.h>
12#include <gtk/gtk.h>
13
14#define EDITOR_TOOLBAR_WIDGET_TYPE (editor_toolbar_widget_get_type ())
15G_DECLARE_FINAL_TYPE (
17 editor_toolbar_widget,
18 Z,
19 EDITOR_TOOLBAR_WIDGET,
20 GtkWidget)
21
22#define MW_EDITOR_TOOLBAR MW_CLIP_EDITOR->editor_toolbar
23
24TYPEDEF_STRUCT_UNDERSCORED (ToolboxWidget);
25TYPEDEF_STRUCT_UNDERSCORED (QuantizeMbWidget);
26TYPEDEF_STRUCT_UNDERSCORED (QuantizeBoxWidget);
27TYPEDEF_STRUCT_UNDERSCORED (SnapGridWidget);
28TYPEDEF_STRUCT_UNDERSCORED (PlayheadScrollButtonsWidget);
29TYPEDEF_STRUCT_UNDERSCORED (ZoomButtonsWidget);
30
34typedef struct _EditorToolbarWidget
35{
36 GtkWidget parent_instance;
37
38 GtkScrolledWindow * scroll;
39
40 GtkComboBoxText * chord_highlighting;
41 SnapGridWidget * snap_grid;
42 QuantizeBoxWidget * quantize_box;
43 GtkButton * event_viewer_toggle;
44 GtkStack * functions_btn_stack;
45 AdwSplitButton * midi_functions_btn;
46 AdwSplitButton * audio_functions_btn;
47 AdwSplitButton * automation_functions_btn;
48
49 GtkSeparator * sep_after_chord_highlight;
50 GtkBox * chord_highlight_box;
51
52 GtkToggleButton * ghost_notes_btn;
53
54 PlayheadScrollButtonsWidget * playhead_scroll;
55 ZoomButtonsWidget * zoom_buttons;
56
57 GMenuModel * midi_functions_menu;
58 GMenuModel * automation_functions_menu;
59 GMenuModel * audio_functions_menu;
61
65void
67
68void
69editor_toolbar_widget_setup (EditorToolbarWidget * self);
70
71#endif
void editor_toolbar_widget_refresh(EditorToolbarWidget *self)
Refreshes relevant widgets.
The PianoRoll toolbar in the top.