X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=ly%2Ftitling-init.ly;h=4b72bf36949569b3bed542549e153c833d3c8c0f;hb=bd815715c3aa550810f75529a8c0bfb092856668;hp=60c07e6ef0776102b59cbdcdedd2b07a5bd9db3e;hpb=eeec992b7029d0982bf4ed0eb3995e9ca99c10e9;p=lilypond.git diff --git a/ly/titling-init.ly b/ly/titling-init.ly index 60c07e6ef0..4b72bf3694 100644 --- a/ly/titling-init.ly +++ b/ly/titling-init.ly @@ -70,33 +70,36 @@ scoreTitleMarkup = \markup { \column { } %% Book first page and last page predicates -#(define (first-page layout props arg) - (define (ancestor layout) - "Return the topmost layout ancestor" - (let ((parent (ly:output-def-parent layout))) +#(define (book-first-page? layout props) + "Return #t iff the current page number, got from @code{props}, is the +book first one." + (define (ancestor layout) + "Return the topmost layout ancestor" + (let ((parent (ly:output-def-parent layout))) (if (not (ly:output-def? parent)) layout (ancestor parent)))) - (if (= (chain-assoc-get 'page:page-number props -1) - (ly:output-def-lookup (ancestor layout) 'first-page-number)) + (= (chain-assoc-get 'page:page-number props -1) + (ly:output-def-lookup (ancestor layout) 'first-page-number))) + +#(define (book-last-page? layout props) + "Return #t iff the current page number, got from @code{props}, is the +book last one." + (and (chain-assoc-get 'page:is-bookpart-last-page props #f) + (chain-assoc-get 'page:is-last-bookpart props #f))) + +#(define (first-page layout props arg) + (if (book-first-page? layout props) (interpret-markup layout props arg) empty-stencil)) #(define (last-page layout props arg) - (if (and (chain-assoc-get 'page:is-bookpart-last-page props #f) - (chain-assoc-get 'page:is-last-bookpart props #f)) + (if (book-last-page? layout props) (interpret-markup layout props arg) empty-stencil)) #(define (not-first-page layout props arg) - (define (ancestor layout) - "Return the topmost layout ancestor" - (let ((parent (ly:output-def-parent layout))) - (if (not (ly:output-def? parent)) - layout - (ancestor parent)))) - (if (not (= (chain-assoc-get 'page:page-number props -1) - (ly:output-def-lookup (ancestor layout) 'first-page-number))) + (if (not (book-first-page? layout props)) (interpret-markup layout props arg) empty-stencil)) @@ -126,8 +129,7 @@ scoreTitleMarkup = \markup { \column { empty-stencil)) #(define (print-page-number-check-first layout props arg) - (if (or (not (= (chain-assoc-get 'page:page-number props -1) - (ly:output-def-lookup layout 'first-page-number))) + (if (or (not (book-first-page? layout props)) (eq? (ly:output-def-lookup layout 'print-first-page-number) #t)) (create-page-number-stencil layout props arg) empty-stencil))