]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/titling-init.ly
Merge commit 'origin/dev/jneeman' into systems-per-page
[lilypond.git] / ly / titling-init.ly
index 17b7789e1800261e7db63fdb405f6cef9d350d75..60c07e6ef0776102b59cbdcdedd2b07a5bd9db3e 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.11.57"
+\version "2.12.0"
 
 slashSeparator = \markup {
   \center-align
@@ -35,13 +35,13 @@ bookTitleMarkup = \markup {
     \fill-line { \fromproperty #'header:dedication }
     \override #'(baseline-skip . 3.5)
     \column {
-      \huge \bigger \bold
+      \huge \larger \bold
       \fill-line {
-        \bigger \fromproperty #'header:title
+        \larger \fromproperty #'header:title
       }
       \fill-line {
         \large \smaller \bold
-        \bigger \fromproperty #'header:subtitle
+        \larger \fromproperty #'header:subtitle
       }
       \fill-line {
         \smaller \bold
@@ -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)