]> git.donarmstrong.com Git - lilypond.git/commitdiff
* scm/framework-ps.scm (output-framework): set the first
authorPedro Kroger <kroeger@pedrokroeger.net>
Sun, 22 Aug 2004 14:54:07 +0000 (14:54 +0000)
committerPedro Kroger <kroeger@pedrokroeger.net>
Sun, 22 Aug 2004 14:54:07 +0000 (14:54 +0000)
postscript page number to initialpagenumber

* scm/page-layout.scm (ly:optimal-page-breaks): print the first
page number according to initialpagenumber

* scm/paper.scm (set-paper-dimensions): added initialpagenumber
parameter

ChangeLog
scm/framework-ps.scm
scm/page-layout.scm
scm/paper.scm

index 34bca04e5e3a4079a9828aecbd3de06232f0fe07..20d9eb2a351f0bf54c86250d7e99ae10ebb94b7e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-08-22  Pedro Kroger  <kroeger@pedrokroeger.net>
+
+       * scm/framework-ps.scm (output-framework): set the first
+       postscript page number to initialpagenumber
+
+       * scm/page-layout.scm (ly:optimal-page-breaks): print the first
+       page number according to initialpagenumber
+
+       * scm/paper.scm (set-paper-dimensions): added initialpagenumber
+       parameter
+
 2004-08-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
        * scripts/convert-ly.py (lilypond_version_re_str): handle
index fd2134f5bd151d658fef230e6743fea2a9615828..460b18a3e50399b7a241914b5faf819a5812695e 100644 (file)
 (define-public (output-framework outputter book scopes fields basename)
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (pages (ly:paper-book-pages book))
-        (page-number 0)
+        (page-number (1- (ly:output-def-lookup bookpaper 'initialpagenumber)))
         (page-count (length pages)))
   (for-each
    (lambda (x)
index fd03aba91aa1c33834f3363d3bd18be23dcf7d37..98db6b8e6fd8e76fb35aca31ecf64baa443be343 100644 (file)
@@ -275,44 +275,44 @@ corresponding to DONE-LINES.
 CURRENT-BEST is the best result sofar, or #f."
 
     (let* ((this-page-num (if (null? best-paths)
-                             1
-                             (1+ (node-page-number (car best-paths)))))
-          (prev-penalty (if (null? best-paths)
-                            0.0
-                            (node-penalty (car best-paths))))
-          (page-height (page-height this-page-num last?))
-          (space-used (cumulative-height current-lines))
-          (this-page-penalty (height-penalty  page-height space-used))
-          (user-penalty (ly:paper-system-break-penalty (car current-lines)))
-          (total-penalty (combine-penalties
-                          user-penalty this-page-penalty prev-penalty))
-          (better? (or
-                    (not current-best)
-                    (< total-penalty (node-penalty current-best))))
-          (new-best (if better?
-                        (make-node (if (null? best-paths)
-                                       #f
-                                       (car best-paths))
-                                   current-lines
-                                   this-page-num total-penalty)
-                        current-best)))
-
+                              (ly:output-def-lookup bookpaper 'initialpagenumber)
+                              (1+ (node-page-number (car best-paths)))))
+           (prev-penalty (if (null? best-paths)
+                             0.0
+                             (node-penalty (car best-paths))))
+           (page-height (page-height this-page-num last?))
+           (space-used (cumulative-height current-lines))
+           (this-page-penalty (height-penalty  page-height space-used))
+           (user-penalty (ly:paper-system-break-penalty (car current-lines)))
+           (total-penalty (combine-penalties
+                           user-penalty this-page-penalty prev-penalty))
+           (better? (or
+                     (not current-best)
+                     (< total-penalty (node-penalty current-best))))
+           (new-best (if better?
+                         (make-node (if (null? best-paths)
+                                        #f
+                                        (car best-paths))
+                                    current-lines
+                                    this-page-num total-penalty)
+                         current-best)))
+      
       (if #f ;; debug
-         (display
-          (list
-           "user pen " user-penalty " prev-penalty "
-           prev-penalty "\n"
-           "better? " better? " total-penalty " total-penalty "\n"
-           "height " page-height " spc used: " space-used "\n"
-           "pen " this-page-penalty " lines: " current-lines "\n")))
-
+          (display
+           (list
+            "user pen " user-penalty " prev-penalty "
+            prev-penalty "\n"
+            "better? " better? " total-penalty " total-penalty "\n"
+            "height " page-height " spc used: " space-used "\n"
+            "pen " this-page-penalty " lines: " current-lines "\n")))
+      
       (if (and (pair? done-lines)
-              ;; if this page is too full, adding another line won't help
-              (< this-page-penalty MAXPENALTY))
-         (walk-paths (cdr done-lines) (cdr best-paths)
-                     (cons (car done-lines) current-lines)
-                     last? new-best)
-         new-best)))
+               ;; if this page is too full, adding another line won't help
+               (< this-page-penalty MAXPENALTY))
+          (walk-paths (cdr done-lines) (cdr best-paths)
+                      (cons (car done-lines) current-lines)
+                      last? new-best)
+          new-best)))
 
   (define (walk-lines done best-paths todo)
     "Return the best page breaking as a single
index dad869d88079d33cda81d56331bd88f0d17ab5d3..24d42e26b6f4b691781a5279ce278d88ab015062 100644 (file)
@@ -90,6 +90,7 @@
     (module-define! m 'headsep (* 4 mm))
     (module-define! m 'footsep (* 4 mm))
     (module-define! m 'leftmargin #f)
+    (module-define! m 'initialpagenumber 1)
     (module-define! m 'rightmargin (* 10 mm))))
 
 (define (internal-set-paper-size module name)