Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
scale_selector_window.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019, 2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_SCALE_SELECTOR_WINDOW_H__
11#define __GUI_WIDGETS_SCALE_SELECTOR_WINDOW_H__
12
13#include "gtk_wrapper.h"
14
15#define SCALE_SELECTOR_WINDOW_WIDGET_TYPE \
16 (scale_selector_window_widget_get_type ())
17G_DECLARE_FINAL_TYPE (
19 scale_selector_window_widget,
20 Z,
21 SCALE_SELECTOR_WINDOW_WIDGET,
22 GtkDialog)
23
24
30typedef struct ScaleObject ScaleObject;
31typedef struct MusicalScale MusicalScale;
32
37typedef struct _ScaleSelectorWindowWidget
38{
39 GtkDialog parent_instance;
40
41 GtkFlowBox * creator_root_note_flowbox;
42 GtkFlowBoxChild * creator_root_note_c;
43 GtkFlowBoxChild * creator_root_note_cs;
44 GtkFlowBoxChild * creator_root_note_d;
45 GtkFlowBoxChild * creator_root_note_ds;
46 GtkFlowBoxChild * creator_root_note_e;
47 GtkFlowBoxChild * creator_root_note_f;
48 GtkFlowBoxChild * creator_root_note_fs;
49 GtkFlowBoxChild * creator_root_note_g;
50 GtkFlowBoxChild * creator_root_note_gs;
51 GtkFlowBoxChild * creator_root_note_a;
52 GtkFlowBoxChild * creator_root_note_as;
53 GtkFlowBoxChild * creator_root_note_b;
54
56 GtkFlowBoxChild * creator_root_notes[12];
57
58 GtkFlowBox * creator_type_flowbox;
59 GtkFlowBox * creator_type_other_flowbox;
60
62 GtkFlowBoxChild * creator_types[ENUM_COUNT (MusicalScaleType)];
63
66
70
72
78
83#endif
MusicalScaleType
Scale type (name) eg Aeolian.
Definition scale.h:33
ScaleSelectorWindowWidget * scale_selector_window_widget_new(ScaleObject *owner)
Creates the popover.
Musical scale descriptor.
Definition scale.h:130
A ScaleObject to be shown in the TimelineArrangerWidget.
A GtkPopover to create a ScaleDescriptor for use in the ScaleTrack's ScaleObject's.
MusicalScale * descr
The descriptor of the edited scale, so it can be used to save into the ScaleObject.
ScaleObject * scale
The owner ScaleObjectWidget.