]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/titling.scm
Run `make grand-replace'.
[lilypond.git] / scm / titling.scm
index 99ba004b2c20b885014cc879eecf8d4374b25d8f..d34b7113d46aa89eee62234d4c45f1db76832f4f 100644 (file)
@@ -2,60 +2,57 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
-;;;; (c) 2004 Jan Nieuwenhuizen <janneke@gnu.org>
-;;;;          Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;          Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-(define-public (page-properties layout)
-  (list (append `((linewidth . ,(ly:paper-get-number
-                                layout 'linewidth)))
+(define-public (layout-extract-page-properties layout)
+  (list (append `((line-width . ,(ly:paper-get-number
+                                layout 'line-width)))
                (ly:output-def-lookup layout 'text-font-defaults))))
 
 ;;;;;;;;;;;;;;;;;;
 
-(define-public ((marked-up-headfoot what-odd what-even) layout scopes page-number last?)
+(define-public ((marked-up-headfoot what-odd what-even)
+                layout scopes page-number is-last-bookpart is-bookpart-last-page)
 
   "Read variables WHAT-ODD, WHAT-EVEN from LAYOUT, and interpret them
 as markup. The PROPS argument will include variables set in SCOPES and
-page:last?, page:page-number-string and page:page-number
-" 
+page:is-bookpart-last-page, page:is-last-bookpart, page:page-number-string
+and page:page-number
 
   (define (get sym)
     (ly:output-def-lookup layout sym))
 
   (define (interpret-in-page-env potential-markup)
     (if (markup? potential-markup)
-       (let*
-           ((alists  (map ly:module->alist scopes))
-            (prefixed-alists
-             (map (lambda (alist)
-                    (map (lambda (entry)
-                           (cons
-                            (string->symbol
-                             (string-append
-                              "header:"
-                              (symbol->string (car entry))))
-                            (cdr entry)
-                            ))
-                         alist))
-                  alists))
-            (tagline (ly:modules-lookup scopes 'tagline)) 
-
-            (pgnum-alist
-              (list
-               (cons 'header:tagline (if (markup? tagline)
-                                         tagline
-                                         TAGLINE))
-               (cons 'page:last? last?)
-               (cons 'page:page-number-string
-                     (number->string page-number))
-               (cons 'page:page-number  page-number)))
-            (props (append
-                    (list pgnum-alist)
-                    prefixed-alists
-                    (page-properties layout))))
-
+       (let* ((alists (map ly:module->alist scopes))
+              (prefixed-alists
+               (map (lambda (alist)
+                      (map (lambda (entry)
+                             (cons
+                              (string->symbol
+                               (string-append
+                                "header:"
+                                (symbol->string (car entry))))
+                              (cdr entry)))
+                           alist))
+                    alists))
+              (pgnum-alist
+               (list
+                (cons 'header:tagline
+                      (ly:modules-lookup scopes 'tagline
+                                         (ly:output-def-lookup layout 'tagline)))
+                (cons 'page:is-last-bookpart is-last-bookpart)
+                (cons 'page:is-bookpart-last-page is-bookpart-last-page)
+                (cons 'page:page-number-string
+                      (number->string page-number))
+                (cons 'page:page-number page-number)))
+              (props (append
+                      (list pgnum-alist)
+                      prefixed-alists
+                      (layout-extract-page-properties layout))))
          (interpret-markup layout props potential-markup))
-       
+
        empty-stencil))
 
   (interpret-in-page-env
@@ -74,28 +71,23 @@ PROPS argument will include variables set in SCOPES (prefixed with
     (let ((x (ly:modules-lookup scopes sym)))
       (if (markup? x) x #f)))
 
-  (let*
-      ((alists  (map ly:module->alist scopes))
-       (prefixed-alist
-       (map (lambda (alist)
-              (map (lambda (entry)
-                     (cons
-                      (string->symbol
-                       (string-append
-                        "header:"
-                        (symbol->string (car entry))))
-                      (cdr entry)
-                     ))
-                   alist))
-            alists))
-       (props (append prefixed-alist
-                     (page-properties layout)))
+  (let* ((alists (map ly:module->alist scopes))
+        (prefixed-alist
+         (map (lambda (alist)
+                (map (lambda (entry)
+                       (cons
+                        (string->symbol
+                         (string-append
+                          "header:"
+                          (symbol->string (car entry))))
+                        (cdr entry)))
+                     alist))
+              alists))
+        (props (append prefixed-alist
+                       (layout-extract-page-properties layout)))
 
-       (markup (ly:output-def-lookup layout what))
-       )
+        (markup (ly:output-def-lookup layout what)))
 
     (if (markup? markup)
        (interpret-markup layout props markup)
-       (ly:make-stencil '() '(1 . -1) '(1 . -1)))
-  ))
-
+       (ly:make-stencil '() '(1 . -1) '(1 . -1)))))