1 /* 2 This file is part of LilyPond, the GNU music typesetter. 3 4 Copyright (C) 1997--2020 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 call_constructors (); 32 std::vector<std::string> get_inclusion_names (); 33 void set_inclusion_names (std::vector<std::string>); 34 35 extern std::string init_name_global; 36 37 /* options */ 38 extern std::vector<std::string> dump_header_fieldnames_global; 39 extern std::vector<std::string> start_environment_global; 40 extern std::string output_backend_global; 41 extern std::string output_name_global; 42 extern bool be_safe_global; 43 extern bool do_internal_type_checking_global; 44 extern std::string lilypond_datadir; 45 extern bool use_object_keys; 46 extern bool strict_infinity_checking; 47 extern std::string init_scheme_code_global; 48 extern std::string init_scheme_variables_global; 49 50 /* 51 todo: collect in Output_option struct? 52 */ 53 extern std::string output_format_global; 54 55 /* misc */ 56 extern std::vector<std::string> failed_files; 57 extern int exit_status_global; 58 extern File_path global_path; 59 extern const char *LILYPOND_DATADIR; 60 61 /* 62 Debugging options: switch on 63 64 Cannot switch on -DNDEBUG, because it causes weird errors if you mix 65 DNDEBUG and normal builds. 66 */ 67 68 #define DEBUG_SLUR_SCORING 1 69 #define DEBUG_TIE_SCORING 1 70 #define DEBUG_BEAM_SCORING 1 71 72 #endif /* MAIN_HH */ 73