X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Ftitling-init.ly;h=60c07e6ef0776102b59cbdcdedd2b07a5bd9db3e;hb=1a9d44f4edf9c0b3bc12d399491ca7001743b539;hp=9ef8cd48dd9b598f6d8f8a216474c6e117518781;hpb=5c14a087ca6cbd665fd631452b7b1283ba0387c3;p=lilypond.git diff --git a/ly/titling-init.ly b/ly/titling-init.ly index 9ef8cd48dd..60c07e6ef0 100644 --- a/ly/titling-init.ly +++ b/ly/titling-init.ly @@ -1,4 +1,4 @@ -\version "2.11.57" +\version "2.12.0" slashSeparator = \markup { \center-align @@ -69,22 +69,48 @@ 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))) + (if (not (ly:output-def? parent)) + layout + (ancestor parent)))) (if (= (chain-assoc-get 'page:page-number props -1) - (ly:output-def-lookup layout 'first-page-number)) + (ly:output-def-lookup (ancestor layout) 'first-page-number)) (interpret-markup layout props arg) empty-stencil)) #(define (last-page layout props arg) - (if (chain-assoc-get 'page:last? props #f) - (interpret-markup layout props arg) - empty-stencil)) + (if (and (chain-assoc-get 'page:is-bookpart-last-page props #f) + (chain-assoc-get 'page:is-last-bookpart props #f)) + (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 layout 'first-page-number))) - (interpret-markup layout props arg) - empty-stencil)) + (ly:output-def-lookup (ancestor layout) 'first-page-number))) + (interpret-markup layout props arg) + empty-stencil)) + +%% Bookpart first page and last page predicates +#(define (part-first-page layout props arg) + (if (= (chain-assoc-get 'page:page-number props -1) + (ly:output-def-lookup layout 'first-page-number)) + (interpret-markup layout props arg) + empty-stencil)) + +#(define (part-last-page layout props arg) + (if (chain-assoc-get 'page:is-bookpart-last-page props #f) + (interpret-markup layout props arg) + empty-stencil)) %% unused #(define (not-single-page layout props arg)