X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbook.cc;h=a13a3ca51d0d9a25a3b2f4f49472a437f40cd351;hb=f4abbfff5f0d985a457e15586dbcc3ae473b0dee;hp=190f077e02e9d8f79365dc548324a3985314b9a8;hpb=a8d84c480a22f6ec2a20404cf4260e3f1d98866f;p=lilypond.git diff --git a/lily/book.cc b/lily/book.cc index 190f077e02..a13a3ca51d 100644 --- a/lily/book.cc +++ b/lily/book.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2010 Han-Wen Nienhuys + Copyright (C) 1997--2014 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -72,22 +72,22 @@ Book::Book (Book const &s) { SCM entry = scm_car (p); - if (Score *newscore = unsmob_score (entry)) - *t = scm_cons (newscore->clone ()->unprotect (), SCM_EOL); - else if (Page_marker *marker = unsmob_page_marker (entry)) - *t = scm_cons (marker->clone ()->unprotect (), SCM_EOL); + if (Score *newscore = Score::unsmob (entry)) + * t = scm_cons (newscore->clone ()->unprotect (), SCM_EOL); + else if (Page_marker *marker = Page_marker::unsmob (entry)) + * t = scm_cons (marker->clone ()->unprotect (), SCM_EOL); else - { - /* This entry is a markup list */ - *t = scm_cons (entry, SCM_EOL); - } + { + /* This entry is a markup list */ + *t = scm_cons (entry, SCM_EOL); + } t = SCM_CDRLOC (*t); } t = &bookparts_; for (SCM p = s.bookparts_; scm_is_pair (p); p = scm_cdr (p)) { - Book *newpart = unsmob_book (scm_car (p))->clone (); + Book *newpart = Book::unsmob (scm_car (p))->clone (); *t = scm_cons (newpart->self_scm (), SCM_EOL); t = SCM_CDRLOC (*t); @@ -98,7 +98,7 @@ Book::Book (Book const &s) Input * Book::origin () const { - return unsmob_input (input_location_); + return Input::unsmob (input_location_); } Book::~Book () @@ -123,7 +123,7 @@ Book::mark_smob (SCM s) } int -Book::print_smob (SCM, SCM p, scm_print_state*) +Book::print_smob (SCM, SCM p, scm_print_state *) { scm_puts ("#", p); return 1; @@ -179,7 +179,7 @@ void Book::add_bookpart (SCM b) { add_scores_to_bookpart (); - Book *part = unsmob_book (b); + Book *part = Book::unsmob (b); part->set_parent (this); bookparts_ = scm_cons (b, bookparts_); } @@ -188,21 +188,21 @@ bool Book::error_found () { for (SCM s = scores_; scm_is_pair (s); s = scm_cdr (s)) - if (Score *score = unsmob_score (scm_car (s))) + if (Score *score = Score::unsmob (scm_car (s))) if (score->error_found_) - return true; + return true; for (SCM part = bookparts_; scm_is_pair (part); part = scm_cdr (part)) - if (Book *bookpart = unsmob_book (scm_car (part))) + if (Book *bookpart = Book::unsmob (scm_car (part))) if (bookpart->error_found ()) - return true; + return true; return false; } Paper_book * Book::process (Output_def *default_paper, - Output_def *default_layout) + Output_def *default_layout) { return process (default_paper, default_layout, 0); } @@ -213,14 +213,14 @@ Book::process_bookparts (Paper_book *output_paper_book, Output_def *paper, Outpu add_scores_to_bookpart (); for (SCM p = scm_reverse (bookparts_); scm_is_pair (p); p = scm_cdr (p)) { - if (Book *book = unsmob_book (scm_car (p))) + if (Book *book = Book::unsmob (scm_car (p))) { Paper_book *paper_book_part = book->process (paper, layout, output_paper_book); if (paper_book_part) - { - output_paper_book->add_bookpart (paper_book_part->self_scm ()); - paper_book_part->unprotect (); - } + { + output_paper_book->add_bookpart (paper_book_part->self_scm ()); + paper_book_part->unprotect (); + } } } /* In a Paper_book, bookparts are stored in straight order */ @@ -230,29 +230,29 @@ Book::process_bookparts (Paper_book *output_paper_book, Output_def *paper, Outpu void Book::process_score (SCM s, Paper_book *output_paper_book, Output_def *layout) { - if (Score *score = unsmob_score (scm_car (s))) + if (Score *score = Score::unsmob (scm_car (s))) { SCM outputs = score - ->book_rendering (output_paper_book->paper_, layout); + ->book_rendering (output_paper_book->paper_, layout); while (scm_is_pair (outputs)) - { - Music_output *output = unsmob_music_output (scm_car (outputs)); - - if (Performance *perf = dynamic_cast (output)) - output_paper_book->add_performance (perf->self_scm ()); - else if (Paper_score *pscore = dynamic_cast (output)) - { - if (ly_is_module (score->get_header ())) - output_paper_book->add_score (score->get_header ()); - output_paper_book->add_score (pscore->self_scm ()); - } - - outputs = scm_cdr (outputs); - } + { + Music_output *output = Music_output::unsmob (scm_car (outputs)); + + if (Performance *perf = dynamic_cast (output)) + output_paper_book->add_performance (perf->self_scm ()); + else if (Paper_score *pscore = dynamic_cast (output)) + { + if (ly_is_module (score->get_header ())) + output_paper_book->add_score (score->get_header ()); + output_paper_book->add_score (pscore->self_scm ()); + } + + outputs = scm_cdr (outputs); + } } else if (Text_interface::is_markup_list (scm_car (s)) - || unsmob_page_marker (scm_car (s))) + || Page_marker::unsmob (scm_car (s))) output_paper_book->add_score (scm_car (s)); else assert (0); @@ -263,8 +263,8 @@ Book::process_score (SCM s, Paper_book *output_paper_book, Output_def *layout) */ Paper_book * Book::process (Output_def *default_paper, - Output_def *default_layout, - Paper_book *parent_part) + Output_def *default_layout, + Paper_book *parent_part) { Output_def *paper = paper_ ? paper_ : default_paper;