- String id_str = "Lily was here";
- if (no_timestamps_global_b)
- id_str += ".";
- else
- id_str += String (", ") + version_str ();
-
- output_String_def ( "mudelatagline", id_str);
- output_String_def ( "LilyPondVersion", version_str ());
-}
-
-void
-Paper_outputter::start_line (Real height)
-{
- SCM scm = gh_list (ly_symbol ("start-line"),
- gh_double2scm (height),
- SCM_UNDEFINED);
- output_scheme (scm);
-}
-
-void
-Paper_outputter::output_font_def (int i, String str)
-{
- SCM scm = gh_list (ly_symbol ("font-def"),
- gh_int2scm (i),
- ly_ch_C_to_scm (str.ch_l ()),
- SCM_UNDEFINED);
-
- output_scheme (scm);
+ String creator = gnu_lilypond_version_string ();
+ creator += " (http://lilypond.org)";
+ time_t t (time (0));
+ String time_stamp = ctime (&t);
+ time_stamp = time_stamp.left_string (time_stamp.length () - 1)
+ + " " + *tzname;
+ output_scheme (scm_list_n (ly_symbol2scm ("header"),
+ scm_makfrom0str (creator.to_str0 ()),
+ scm_makfrom0str (time_stamp.to_str0 ()),
+ paper->self_scm (),
+ scm_int2num (page_count),
+ ly_bool2scm (is_classic),
+ SCM_UNDEFINED));
+
+ output_metadata (paper, scopes);
+ output_music_output_def (paper);
+
+ output_scheme (scm_list_1 (ly_symbol2scm ("header-end")));
+
+ /* TODO: maybe have Scheme extract the fonts directly from \paper ?
+
+ Alternatively, we could simply load the fonts on demand in the
+ output, and do away with this define-fonts step. */
+ SCM fonts = paper->font_descriptions ();
+ output_scheme (scm_list_3 (ly_symbol2scm ("define-fonts"),
+ paper->self_scm (),
+ //FIXME:
+ ly_quote_scm (ly_list_qsort_uniq_x (fonts))));