+ SCM outputs = score
+ ->book_rendering (paper_book->paper_, default_def, key);
+
+ while (scm_is_pair (outputs))
+ {
+ Music_output *output = unsmob_music_output (scm_car (outputs));
+
+ if (Performance *perf = dynamic_cast<Performance *> (output))
+ {
+ String fn = outname;
+ if (midi_count)
+ fn += "-" + to_string (midi_count);
+
+ midi_count ++;
+ perf->write_output (fn);
+ }
+ else if (Paper_score *pscore = dynamic_cast<Paper_score *> (output))
+ {
+ SCM systems = pscore->get_paper_systems ();
+ if (ly_c_module_p (score->header_))
+ paper_book->add_score (score->header_);
+ paper_book->add_score (systems);
+ }
+
+ outputs = scm_cdr (outputs);
+ }