Olive
config.h
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef CONFIG_H
22 #define CONFIG_H
23 
24 #include <QString>
25 
26 #define SAVE_VERSION 190201 // YYMMDD
27 #define MIN_SAVE_VERSION 190104 // lowest compatible project version
28 
29 #define TIMECODE_DROP 0
30 #define TIMECODE_NONDROP 1
31 #define TIMECODE_FRAMES 2
32 #define TIMECODE_MILLISECONDS 3
33 
34 #define RECORD_MODE_MONO 1
35 #define RECORD_MODE_STEREO 2
36 
37 #define AUTOSCROLL_NO_SCROLL 0
38 #define AUTOSCROLL_PAGE_SCROLL 1
39 #define AUTOSCROLL_SMOOTH_SCROLL 2
40 
41 #define PROJECT_VIEW_TREE 0
42 #define PROJECT_VIEW_ICON 1
43 
44 #define FRAME_QUEUE_TYPE_FRAMES 0
45 #define FRAME_QUEUE_TYPE_SECONDS 1
46 
47 struct Config {
48  Config();
49 
50  bool saved_layout;
51  bool show_track_lines;
52  bool scroll_zooms;
53  bool edit_tool_selects_links;
54  bool edit_tool_also_seeks;
55  bool select_also_seeks;
56  bool paste_seeks;
57  QString img_seq_formats;
58  bool rectified_waveforms;
59  int default_transition_length;
60  int timecode_view;
61  bool show_title_safe_area;
62  bool use_custom_title_safe_ratio;
63  double custom_title_safe_ratio;
64  bool enable_drag_files_to_timeline;
65  bool autoscale_by_default;
66  int recording_mode;
67  bool enable_seek_to_import;
68  bool enable_audio_scrubbing;
69  bool drop_on_media_to_replace;
70  int autoscroll;
71  int audio_rate;
72  bool fast_seeking;
73  bool hover_focus;
74  int project_view_type;
75  bool set_name_with_marker;
76  bool show_project_toolbar;
77  double previous_queue_size;
78  int previous_queue_type;
79  double upcoming_queue_size;
80  int upcoming_queue_type;
81  bool loop;
82  bool seek_also_selects;
83  QString css_path;
84  int effect_textbox_lines;
85  bool use_software_fallback;
86  bool center_timeline_timecodes;
87  QString preferred_audio_output;
88  QString preferred_audio_input;
89  QString language_file;
90  int waveform_resolution;
91  int thumbnail_resolution;
92  bool add_default_effects_to_clips;
93 
94  void load(QString path);
95  void save(QString path);
96 };
97 
98 struct RuntimeConfig {
99  RuntimeConfig();
100 
101  bool shaders_are_enabled;
102  bool disable_blending;
103  QString external_translation_file;
104 };
105 
106 extern Config config;
107 extern RuntimeConfig runtime_config;
108 
109 #endif // CONFIG_H
Definition: config.h:98
Definition: config.h:47