String init_scheme_code_string = "(begin #t ";
bool make_pdf = false;
+bool make_dvi = false;
+bool make_ps = false;
bool make_png = false;
bool make_preview = false;
+bool make_tex = false;
/*
* Miscellaneous global stuff.
" Han-Wen Nienhuys <hanwen@cs.uu.nl>\n"
" Jan Nieuwenhuizen <janneke@gnu.org>\n";
-static char const *PROGRAM_NAME = "lilypond-bin";
+static char const *PROGRAM_NAME = "lilypond";
static char const *PROGRAM_URL = "http://lilypond.org";
static char const *NOTICE =
_i ("This program is free software. It is covered by the GNU General Public\n"
"License and you are welcome to change it and/or distribute copies of it\n"
- "under certain conditions. Invoke as `lilypond-bin --warranty' for more\n"
+ "under certain conditions. Invoke as `lilypond --warranty' for more\n"
"information.\n");
static char const *WARRANTY =
_i ("set options, use -e '(ly:option-usage)' for help")},
/* Bug in option parser: --output=foe is taken as an abbreviation
for --output-format. */
- {_i ("EXT"), "format", 'f', _i ("use output format EXT")},
+ {_i ("EXT"), "format", 'f', _i ("select back-end to use")},
{0, "help", 'h', _i ("print this help")},
{_i ("FIELD"), "header", 'H', _i ("write header field to BASENAME.FIELD")},
{_i ("DIR"), "include", 'I', _i ("add DIR to search path")},
{0, "no-paper", 'm', _i ("produce MIDI output only")},
{_i ("FILE"), "output", 'o', _i ("write output to FILE")},
{0, "preview", 'p', _i ("generate a preview")},
+ {0, "png", 0, _i ("generate PNG")},
+ {0, "ps", 0, _i ("generate PostScript")},
+ {0, "dvi", 0, _i ("generate DVI")},
+ {0, "pdf", 0, _i ("generate PDF (default)")},
+ {0, "tex", 0, _i ("generate TeX")},
{0, "safe-mode", 's', _i ("run in safe mode")},
{0, "version", 'v', _i ("print version number")},
{0, "verbose", 'V', _i ("be verbose")},
scm_c_eval_string (s.to_str0 ());
}
+static void
+determine_output_options ()
+{
+
+ bool found_tex = false;
+ SCM formats = ly_output_formats ();
+ for (SCM s = formats; ly_c_pair_p (s); s = ly_cdr (s))
+ {
+ found_tex = found_tex || (ly_scm2string (ly_car (s)) == "tex");
+ }
+
+
+ if (make_ps && found_tex)
+ {
+ make_dvi = true;
+ }
+ if (make_pdf || make_png)
+ {
+ make_ps = true;
+ }
+ if (make_dvi && found_tex)
+ {
+ make_tex = true;
+ }
+ if (!(make_dvi
+ || make_tex
+ || make_ps
+ || make_png
+ || make_pdf))
+ {
+ make_pdf = true;
+ make_ps = true;
+ if (found_tex)
+ {
+ make_dvi = true;
+ make_tex = true;
+ }
+ }
+}
+
static void
main_with_guile (void *, int, char **)
{
call_constructors ();
progress_indication ("\n");
+ determine_output_options ();
all_fonts_global = new All_font_metrics (global_path.to_string ());
init_scheme_code_string += ")";
{
switch (opt->shortname_char_)
{
+ case 0:
+ if (String (opt->longname_str0_) == "png")
+ make_png = true;
+ else if (String (opt->longname_str0_) == "pdf")
+ make_pdf = true;
+ else if (String (opt->longname_str0_) == "ps")
+ make_ps = true;
+ else if (String (opt->longname_str0_) == "dvi")
+ make_dvi = true;
+ else if (String (opt->longname_str0_) == "tex")
+ make_tex = true;
+ else if (String (opt->longname_str0_) == "preview")
+ make_preview = true;
+ break;
+
case 'v':
notice ();
exit (0);
output_name_global = file_name.to_string ();
}
break;
- case 'p':
- make_preview = true;
- break;
case 'e':
init_scheme_code_string += option_parser->optional_argument_str0_;
break;
case 'm':
no_paper_global_b = true;
break;
+ case 'p':
+ make_preview = true;
+ break;
default:
+ programming_error (to_string ("unhandled short option: %c",
+ opt->shortname_char_));
assert (false);
break;
}