]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 2626: add on-page for usage in \on-the-fly
authorThomas Morley <thomasmorley65@googlemail.com>
Thu, 28 Jun 2012 10:02:40 +0000 (12:02 +0200)
committerDavid Kastrup <dak@gnu.org>
Wed, 4 Jul 2012 12:57:40 +0000 (14:57 +0200)
For adding a markup to a footer/header of a specified page,
you can now use (on-page <page-number>) as a specification in \on-the-fly.

Signed-off-by: David Kastrup <dak@gnu.org>
input/regression/page-headers-and-footers.ly [new file with mode: 0644]
ly/titling-init.ly

diff --git a/input/regression/page-headers-and-footers.ly b/input/regression/page-headers-and-footers.ly
new file mode 100644 (file)
index 0000000..ea3c5b8
--- /dev/null
@@ -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 }
+    }
+  }
+}
index f6daacddb399cf6bac89b3bcccbb291bab242f82..7b004468a91abdb192be3aa691851ac3e34a82d8 100644 (file)
@@ -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)