- SCM context = ly_run_translator (music, outdef);
-
- Book_paper_def *bpd = unsmob_book_paper_def (book_outputdef);
- if (bpd && unsmob_paper (outdef))
- /* FIXME: memory leak */
- outdef = bpd->scale_paper (unsmob_paper (outdef))->self_scm ();
-
- if (Global_context *g = dynamic_cast<Global_context*>
- (unsmob_context (context)))
- {
- SCM systems = ly_format_output (context, outname);
- Music_output *output = g->get_output ();
- if (systems != SCM_UNDEFINED)
- {
- Paper_book *paper_book = new Paper_book ();
- Paper_score *ps = dynamic_cast<Paper_score*> (output);
-
- Score_lines sc;
- sc.paper_ = ps->paper_;
- sc.lines_ = systems;
- sc.header_ = header;
-
- paper_book->score_lines_.push (sc);
-
- paper_book->classic_output (ly_scm2string (outname));
- scm_gc_unprotect_object (paper_book->self_scm ());
- }
- delete output;
- }