From: Thomas Morley Date: Thu, 28 Jun 2012 10:02:40 +0000 (+0200) Subject: Issue 2626: add on-page for usage in \on-the-fly X-Git-Tag: release/2.15.41-1^2 X-Git-Url: https://git.donarmstrong.com/?p=lilypond.git;a=commitdiff_plain;h=7b999268d43ff84fa3ef42b46f0c6f72ec0bb9c6 Issue 2626: add on-page for usage in \on-the-fly For adding a markup to a footer/header of a specified page, you can now use (on-page ) as a specification in \on-the-fly. Signed-off-by: David Kastrup --- diff --git a/input/regression/page-headers-and-footers.ly b/input/regression/page-headers-and-footers.ly new file mode 100644 index 0000000000..ea3c5b8b0b --- /dev/null +++ b/input/regression/page-headers-and-footers.ly @@ -0,0 +1,45 @@ +\version "2.15.41" + +\header { + + texidoc = "Page-headers and -footers. All headers and footers + should be printed on their specified page. " + +} + +\paper { + ragged-last-bottom = ##f + + oddHeaderMarkup = \markup { + \override #'(baseline-skip . 1) + \center-column { + \box \fill-line { \teeny " " " " } + \on-the-fly #first-page "first-page-header-text" + \on-the-fly #not-first-page \fromproperty #'page:page-number-string + \on-the-fly #(on-page 2) "page-2-header-text" + \on-the-fly #last-page "last-page-header-text" + } + } + + evenHeaderMarkup = \oddHeaderMarkup + + oddFooterMarkup = \markup \fill-line { + \override #'(baseline-skip . 0.5) + \center-column { + \on-the-fly #first-page "first-page-footer-text" + \on-the-fly #last-page "last-page-footer-text" + \on-the-fly #(on-page 2) "page-2-footer-text" + \box \fill-line { \teeny " " " " } + } + } +} + +#(set-default-paper-size "a6" 'portrait) + +\book { + \score { + \new Staff \relative c' { + \repeat unfold 18 { a b c d \break } + } + } +} diff --git a/ly/titling-init.ly b/ly/titling-init.ly index f6daacddb3..7b004468a9 100644 --- a/ly/titling-init.ly +++ b/ly/titling-init.ly @@ -101,6 +101,11 @@ book last one." (interpret-markup layout props arg) empty-stencil)) +#(define ((on-page nmbr) layout props arg) + (if (= (chain-assoc-get 'page:page-number props -1) nmbr) + (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)