Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
export_dialog.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_EXPORT_DIALOG_H__
11#define __GUI_WIDGETS_EXPORT_DIALOG_H__
12
13#include <adwaita.h>
14
15#include "gtk_wrapper.h"
16
17#define EXPORT_DIALOG_WIDGET_TYPE (export_dialog_widget_get_type ())
18G_DECLARE_FINAL_TYPE (
20 export_dialog_widget,
21 Z,
22 EXPORT_DIALOG_WIDGET,
23 GtkDialog)
24
25typedef struct _DigitalMeterWidget DigitalMeterWidget;
26
33enum class ExportFilenamePattern
34{
35 EFP_APPEND_FORMAT,
36 EFP_PREPEND_DATE_APPEND_FORMAT,
37};
38
42typedef struct _ExportDialogWidget
43{
44 GtkDialog parent_instance;
45
46 AdwViewSwitcherTitle * title;
47 AdwViewStack * stack;
48
49 /* audio */
50 AdwEntryRow * audio_title;
51 AdwEntryRow * audio_artist;
52 AdwEntryRow * audio_genre;
53 AdwComboRow * audio_format;
54 AdwComboRow * audio_bit_depth;
55 AdwActionRow * audio_dither;
56 GtkSwitch * audio_dither_switch;
57 AdwComboRow * audio_filename_pattern;
58 AdwComboRow * audio_mixdown_or_stems;
59 AdwComboRow * audio_time_range_combo;
60 AdwActionRow * audio_custom_tr_row;
61 GtkBox * audio_custom_tr_start_meter_box;
62 DigitalMeterWidget * audio_custom_tr_start_meter;
63 Position audio_custom_start_pos;
64 GtkBox * audio_custom_tr_end_meter_box;
65 DigitalMeterWidget * audio_custom_tr_end_meter;
66 Position audio_custom_end_pos;
67 GtkColumnView * audio_tracks_view;
68 GtkLabel * audio_output_label;
69 GPtrArray * audio_item_factories;
70
71 /* MIDI */
72 AdwEntryRow * midi_title;
73 AdwEntryRow * midi_artist;
74 AdwEntryRow * midi_genre;
75 AdwComboRow * midi_format;
76 GtkSwitch * midi_export_lanes_as_tracks_switch;
77 AdwComboRow * midi_filename_pattern;
78 AdwComboRow * midi_mixdown_or_stems;
79 AdwComboRow * midi_time_range_combo;
80 AdwActionRow * midi_custom_tr_row;
81 GtkBox * midi_custom_tr_start_meter_box;
82 DigitalMeterWidget * midi_custom_tr_start_meter;
83 Position midi_custom_start_pos;
84 GtkBox * midi_custom_tr_end_meter_box;
85 DigitalMeterWidget * midi_custom_tr_end_meter;
86 Position midi_custom_end_pos;
87 GtkColumnView * midi_tracks_view;
88 GtkLabel * midi_output_label;
89 GPtrArray * midi_item_factories;
90
92
98
103#endif
ExportDialogWidget * export_dialog_widget_new(void)
Creates an export dialog widget and displays it.
The export dialog.
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:124