]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/main.hh
e9113b4e087630a241c3337640f78541b8e954b2
[lilypond.git] / lily / include / main.hh
1 /*
2   This file is part of LilyPond, the GNU music typesetter.
3
4   Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
5
6   LilyPond 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   LilyPond 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 LilyPond.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef MAIN_HH
20 #define MAIN_HH
21
22 #include "lily-proto.hh"
23 #include "std-vector.hh"
24 #include "std-string.hh"
25
26 void debug_init ();
27 void set_debug (bool);
28 void do_scores ();
29 void clear_scores ();
30 void add_score (Score *s);
31 void set_default_output (string s);
32 string find_file (string);
33 void call_constructors ();
34 vector<string> get_inclusion_names ();
35 void set_inclusion_names (vector<string>);
36
37 extern string init_name_global;
38
39 /* options */
40 extern vector<string> dump_header_fieldnames_global;
41 extern vector<string> start_environment_global;
42 extern string output_backend_global;
43 extern string output_name_global;
44 extern bool be_safe_global;
45 extern bool do_internal_type_checking_global;
46 extern string lilypond_datadir;
47 extern bool use_object_keys;
48 extern bool strict_infinity_checking;
49 extern string init_scheme_code_global;
50 extern string init_scheme_variables_global;
51
52 /*
53   todo: collect in Output_option struct?
54 */
55 extern string output_format_global;
56
57 /* misc */
58 extern vector<string> failed_files;
59 extern int exit_status_global;
60 extern File_path global_path;
61 extern const char *LILYPOND_DATADIR;
62
63 /*
64   Debugging options: switch on
65
66   Cannot switch on -DNDEBUG, because it causes weird errors if you mix
67   DNDEBUG and normal builds.
68 */
69
70 #define DEBUG_SLUR_SCORING 1
71 #define DEBUG_TIE_SCORING 1
72 #define DEBUG_BEAM_SCORING 1
73
74 #endif /* MAIN_HH */