Paper_book::output_aux (SCM output_channel,
bool is_last,
int *first_page_number,
int *first_performance_number)
{
Paper_book::output_aux (SCM output_channel,
bool is_last,
int *first_page_number,
int *first_performance_number)
{
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
{
bool is_last_part = (is_last && !scm_is_pair (scm_cdr (p)));
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
{
bool is_last_part = (is_last && !scm_is_pair (scm_cdr (p)));
- pbookpart->output_aux (output_channel,
- is_last_part,
- first_page_number,
- first_performance_number);
+ page_nb += pbookpart->output_aux (output_channel,
+ is_last_part,
+ first_page_number,
+ first_performance_number);
paper_->set_variable (ly_symbol2scm ("first-page-number"),
scm_long2num (*first_page_number));
paper_->set_variable (ly_symbol2scm ("first-page-number"),
scm_long2num (*first_page_number));
{
int first_page_number = robust_scm2int (paper_->c_variable ("first-page-number"), 1);
int first_performance_number = 0;
{
int first_page_number = robust_scm2int (paper_->c_variable ("first-page-number"), 1);
int first_performance_number = 0;
- output_aux (output_channel,
- true,
- &first_page_number,
- &first_performance_number);
-
+ if (!output_aux (output_channel,
+ true,
+ &first_page_number,
+ &first_performance_number))
+ return;
+
SCM scopes = SCM_EOL;
if (ly_is_module (header_))
scopes = scm_cons (header_, scopes);
SCM scopes = SCM_EOL;
if (ly_is_module (header_))
scopes = scm_cons (header_, scopes);
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
systems_ = scm_append_x (scm_list_2 (systems_, pbookpart->systems ()));
}
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
systems_ = scm_append_x (scm_list_2 (systems_, pbookpart->systems ()));
}
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
pages_ = scm_append_x (scm_list_2 (pages_, pbookpart->pages ()));
}
if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p)))
pages_ = scm_append_x (scm_list_2 (pages_, pbookpart->pages ()));
}
{
SCM proc = paper_->c_variable ("page-breaking-wrapper");
pages_ = scm_apply_0 (proc, scm_list_1 (self_scm ()));
{
SCM proc = paper_->c_variable ("page-breaking-wrapper");
pages_ = scm_apply_0 (proc, scm_list_1 (self_scm ()));