]> git.sesse.net Git - nageru/blob - futatabi/flags.h
In Futatabi, make it possible to set custom source labels.
[nageru] / futatabi / flags.h
1 #ifndef _FLAGS_H
2 #define _FLAGS_H
3
4 #include "defs.h"
5
6 #include <string>
7 #include <unordered_map>
8
9 struct Flags {
10         int width = 1280, height = 720;
11         std::string stream_source;
12         std::string working_directory = ".";
13         bool slow_down_input = false;
14         int interpolation_quality = 2;  // Can be changed in the menus.
15         bool interpolation_quality_set = false;
16         uint16_t http_port = DEFAULT_HTTPD_PORT;
17         double output_framerate = 60000.0 / 1001.0;
18         std::string tally_url;
19         double cue_in_point_padding_seconds = 0.0;  // Can be changed in the menus.
20         bool cue_in_point_padding_set = false;
21         double cue_out_point_padding_seconds = 0.0;  // Can be changed in the menus.
22         bool cue_out_point_padding_set = false;
23         std::string midi_mapping_filename;  // Empty for none.
24         std::unordered_map<unsigned, std::string> source_labels;
25 };
26 extern Flags global_flags;
27
28 // The quality setting that VideoStream was initialized to. The quality cannot
29 // currently be changed, except turning interpolation completely off, so we compare
30 // against this to give a warning.
31 extern int flow_initialized_interpolation_quality;
32
33 void usage();
34 void parse_flags(int argc, char *const argv[]);
35
36 #endif  // !defined(_FLAGS_H)