X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpaper-book-scheme.cc;h=9b3d1a45dde487df878a08213d37afe5f1e6b613;hb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;hp=8c2e493e0e091ef18166b588704e82772c65fab1;hpb=e344ae579fa1d81fc6c6f3049494697872fd39f9;p=lilypond.git diff --git a/lily/paper-book-scheme.cc b/lily/paper-book-scheme.cc index 8c2e493e0e..9b3d1a45dd 100644 --- a/lily/paper-book-scheme.cc +++ b/lily/paper-book-scheme.cc @@ -1,9 +1,20 @@ /* - paper-book-scheme.cc -- implement Paper_book bindings + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2014 Han-Wen Nienhuys - (c) 2005--2008 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "paper-book.hh" @@ -11,52 +22,63 @@ #include "output-def.hh" LY_DEFINE (ly_paper_book_pages, "ly:paper-book-pages", - 1, 0, 0, (SCM pb), - "Return pages in book @var{pb}.") + 1, 0, 0, (SCM pb), + "Return pages in @code{Paper_book} object @var{pb}.") { LY_ASSERT_SMOB (Paper_book, pb, 1); return unsmob_paper_book (pb)->pages (); } LY_DEFINE (ly_paper_book_scopes, "ly:paper-book-scopes", - 1, 0, 0, (SCM book), - "Return scopes in layout book @var{book}.") + 1, 0, 0, (SCM pb), + "Return scopes in @code{Paper_book} object @var{pb}.") { - LY_ASSERT_SMOB (Paper_book, book, 1); - Paper_book *pb = unsmob_paper_book (book); + LY_ASSERT_SMOB (Paper_book, pb, 1); + Paper_book *book = unsmob_paper_book (pb); SCM scopes = SCM_EOL; - if (pb->parent_) + if (book->parent_) { - scopes = ly_paper_book_scopes (pb->parent_->self_scm ()); + scopes = ly_paper_book_scopes (book->parent_->self_scm ()); } - if (ly_is_module (pb->header_)) - scopes = scm_cons (pb->header_, scopes); + if (ly_is_module (book->header_)) + scopes = scm_cons (book->header_, scopes); return scopes; } LY_DEFINE (ly_paper_book_performances, "ly:paper-book-performances", - 1, 0, 0, (SCM paper_book), - "Return performances in book @var{paper-book}.") + 1, 0, 0, (SCM pb), + "Return performances in @code{Paper_book} object @var{pb}.") { - LY_ASSERT_SMOB (Paper_book, paper_book, 1); - return unsmob_paper_book (paper_book)->performances (); + LY_ASSERT_SMOB (Paper_book, pb, 1); + return unsmob_paper_book (pb)->performances (); } LY_DEFINE (ly_paper_book_systems, "ly:paper-book-systems", - 1, 0, 0, (SCM pb), - "Return systems in book @var{pb}.") + 1, 0, 0, (SCM pb), + "Return systems in @code{Paper_book} object @var{pb}.") { LY_ASSERT_SMOB (Paper_book, pb, 1); return unsmob_paper_book (pb)->systems (); } LY_DEFINE (ly_paper_book_paper, "ly:paper-book-paper", - 1, 0, 0, (SCM pb), - "Return pages in book @var{pb}.") + 1, 0, 0, (SCM pb), + "Return the paper output definition (@code{\\paper})" + " in @code{Paper_book} object @var{pb}.") { LY_ASSERT_SMOB (Paper_book, pb, 1); Paper_book *pbook = unsmob_paper_book (pb); return pbook->paper_->self_scm (); } + +LY_DEFINE (ly_paper_book_header, "ly:paper-book-header", + 1, 0, 0, (SCM pb), + "Return the header definition (@code{\\header})" + " in @code{Paper_book} object @var{pb}.") +{ + LY_ASSERT_SMOB (Paper_book, pb, 1); + Paper_book *pbook = unsmob_paper_book (pb); + return pbook->header_; +}