*/
#include <iostream.h>
+
#include "string.hh"
#include "lily-guile.hh"
#include "scm-option.hh"
-
+#include "warn.hh"
/*
This interface to option setting is meant for setting options are
/* General purpose testing flag */
int testing_level_global;
-
-
/*
+ crash if internally the wrong type is used for a grob property.
+ */
+bool internal_type_checking_global_b;
- TODO: verzin iets tegen optie code bloot
-
+/*
- other interesting stuff to add:
+add these as well:
@item -T,--no-timestamps
don't timestamp the output
*/
-SCM
-set_lily_option (SCM var, SCM val)
+LY_DEFINE(set_lily_option,"set-lily-option", 2, 0, 0, (SCM var, SCM val),
+ "Set a global option for the program. Supported options include
+
+
+@table @code
+@item help
+List all options.
+@item midi-debug
+If set to true, generate human readable MIDI
+@end table
+
+This function is useful to call from the command line: @code{lilypond -e
+\"(set-lily-option 'midi-debug #t)\"}.
+")
{
/*
Scheme option usage:
*/
if (var == ly_symbol2scm ("help"))
{
- cout << '\n';
- cout << _ ("Scheme options:");
- cout << '\n';
- cout << " help (any-symbol)";
- cout << '\n';
- cout << " midi-debug (boolean)";
- cout << '\n';
- cout << " testing-level (int)";
- cout << '\n';
+ cout << _("lilypond -e EXPR means
+
+evalute EXPR as Scheme after init.scm has been read. In particular,
+the function set-lily-option allows for access to some internal
+variables. Usage:
+
+ (set-lily-option SYMBOL VAL)
+
+possible options for SYMBOL are :
+").ch_C()<<endl;
+
+ cout << " help (any-symbol)"<<endl;
+ cout << " internal-type-checking (boolean)"<<endl;
+ cout << " midi-debug (boolean)"<<endl;
+ cout << " testing-level (int)"<<endl;
+
exit (0);
}
else if (var == ly_symbol2scm ("midi-debug"))
{
testing_level_global = gh_scm2int (val);
}
+ else if (var == ly_symbol2scm ("internal-type-checking"))
+ {
+ internal_type_checking_global_b = to_boolean (val);
+ }
else if (var == ly_symbol2scm ("find-old-relative"))
{
/*
*/
;
-
}
+ else
+ {
+ warning (_("Unknown internal option!"));
+ }
+
return SCM_UNSPECIFIED;
}
-static void
-init_functions ()
-{
- scm_c_define_gsubr ("set-lily-option", 2, 0, 0, (Scheme_function_unknown)set_lily_option);
-}
-
-
-ADD_SCM_INIT_FUNC (init_functions_sopt, init_functions);