]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorhanwen <hanwen>
Tue, 15 Jun 2004 22:07:51 +0000 (22:07 +0000)
committerhanwen <hanwen>
Tue, 15 Jun 2004 22:07:51 +0000 (22:07 +0000)
ChangeLog
Documentation/user/changing-defaults.itely
VERSION
input/mutopia/F.Schubert/morgenlied.ly
input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
lily/paper-book.cc
scm/framework-gnome.scm
scm/framework-ps.scm
scm/framework-tex.scm
scm/page-layout.scm

index a007122d102bb4ece683d0a0e9612630047df565..49830343d6d5a372d7d895b8ddfbffc4afb74342 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,17 @@
 
 2004-06-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * scm/page-layout.scm (default-page-make-stencil): add
+       raggedbottom, raggedlastbottom.
+
+       * Documentation/user/changing-defaults.itely (Page layout): add doc.
+
+       * scm/framework-tex.scm (define-fonts): fix export of
+       papersize.
+
+       * lily/paper-book.cc (classic_output): strip suffixes from
+       framework functions.
+
        * lily/tuplet-bracket.cc (before_line_breaking): do not return
        SCM_UNDEFINED to Scheme.
 
index 0983403d654b14f5f3129714defe6dd0d32ba3a4..6c1d9b417f3a4bfa58b493d1269d42fa0f9228a5 100644 (file)
@@ -2209,6 +2209,10 @@ The default layout responds to the following settings in the
  Distance between top-most music system and the page header
 @item foot-sep
  Distance between bottom-most music system and the page footer
+@item raggedbottom
+ If set to true, systems will not be spread across the page.  
+@item raggedlastbottom
+ If set to true, systems will not be spread to fill the last page.
 @end table
 
 The default page header puts the page number and the @code{instrument}
diff --git a/VERSION b/VERSION
index 2d2e4da5de32f7ca5bb354cff971131a24d230a4..933162c39efa6c774da6ed96deda6b6c72850bed 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,5 +2,5 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=3
 PATCH_LEVEL=4
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=hwn1
 
index 1860063d4f20e5ae4232ada382c41fed1701d708..098897324fda759d4411739555d3ee8698a7e273 100644 (file)
@@ -32,8 +32,10 @@ manuscriptBreak = { \break }
 
 
 
-\paper  {
-    #(paper-set-staff-size (* 5.8 mm))
+#(set-global-staff-size (/ (* 5.8 72.27) 25.4))
+
+\bookpaper  {
+%#(set-global-staff-size (* 5.8 mm))
     linewidth = #(* mm 160)
     indent = 8\mm
     interscoreline = 2.\mm
index 926ca7aec2803b28c424d61a5ed633ab13b865f7..0e42c30e38354d4ccab92a83759a943ce195c957 100644 (file)
@@ -165,14 +165,16 @@ smallerPaper = \paper {
 baerPaper = \paper {
     indent = 7. \mm
     linewidth =183.5 \mm
-    interscoreline=4.0\mm
+%    interscoreline=4.0\mm
     \context {
             \Score
 %           \override System #'print-function = #box-grob-stencil
     }
 }
 
-
+\bookpaper {
+  raggedbottom = ##t
+}
 \score{
   \sarabandeCelloStaff
   \paper{
index 30ccabda813ed19b8593aca60df4458d50ad677d..0c0a0629fc86ba765d19fac5887abee61a76ee1f 100644 (file)
@@ -133,12 +133,10 @@ Paper_book::output (String outname)
       if (ly_c_module_p (header_))
        scopes = scm_cons (header_, scopes);
   
-      String func_nm = format;
-      func_nm = "output-framework-" + func_nm;
       String mod_nm = "scm framework-" + format;
       
       SCM mod = scm_c_resolve_module (mod_nm.to_str0 ());
-      SCM func = scm_c_module_lookup (mod, func_nm.to_str0 ());
+      SCM func = scm_c_module_lookup (mod, "output-framework");
 
       func = scm_variable_ref (func);
       scm_apply_0 (func, scm_list_n (out->self_scm (),
@@ -173,12 +171,10 @@ Paper_book::classic_output (String outname)
   for (int i = 0; i < output_formats.size (); i++)
     {
       String format = output_formats[i];
-      String func_nm = format;
-      func_nm = "output-classic-framework-" + func_nm;
       String mod_nm = "scm framework-" + format;
       
       SCM mod = scm_c_resolve_module (mod_nm.to_str0 ());
-      SCM func = scm_c_module_lookup (mod, func_nm.to_str0 ());
+      SCM func = scm_c_module_lookup (mod, "output-classic-framework");
 
       func = scm_variable_ref (func);
       
index 8857f55b5c76816a5c37e3fc50284a7ac4b1ba2f..23f6cf0934923c79f4ebe9531aaa620bd5349c06 100644 (file)
@@ -16,7 +16,7 @@
     (use-modules (gnome gw canvas))
     (use-modules (gnome gw libgnomecanvas)))
 
-(define-public (output-framework-gnome outputter book scopes fields basename)
+(define-public (output-framework outputter book scopes fields basename)
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (pages (list->vector (ly:paper-book-pages book))))
 
index a87c2bcf44d818119481b4c7c5360bdff81c20d7..7753ec07edf84281c570ba6e2ea0c6e8289abb27 100644 (file)
   (ly:outputter-dump-stencil outputter page)
   (ly:outputter-dump-string outputter "} stop-system \nshowpage\n"))
 
-(define-public (output-framework-ps outputter book scopes fields basename)
+(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)
    pages)
   (ly:outputter-dump-string outputter "%%Trailer\n%%EOF\n")))
 
-(define-public (output-classic-framework-ps outputter book scopes fields
+(define-public (output-classic-framework outputter book scopes fields
                                            basename)
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (lines (ly:paper-book-lines book))
index 5b157a72020f6163fa0ca6075084a4c2a62a9c3a..8fa0c17e6b5fbb7ede175a6e45c2658d9afdc63e 100644 (file)
@@ -59,7 +59,7 @@
    (tex-number-def "lilypondpaper" 'outputscale
                   (number->string (exact->inexact
                                    (ly:bookpaper-outputscale bookpaper))))
-   (tex-string-def "lilypondpapersize" 'papersize
+   (tex-string-def "lilypondpaper" 'papersize
                   (eval 'papersize (ly:output-def-scope bookpaper)))
 
    (apply string-append
        "}\\vss\n}\n\\vfill\n"
        "}\\vss\n}\n\\vfill\\lilypondpagebreak\n")))
 
-(define-public (output-framework-tex outputter book scopes fields basename)
+(define-public (output-framework outputter book scopes fields basename)
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (pages (ly:paper-book-pages book))
         (last-page (car (last-pair pages)))
        "}%\n"
        "}\\interscoreline\n")))
 
-(define-public (output-classic-framework-tex
+(define-public (output-classic-framework
                outputter book scopes fields basename)
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (lines (ly:paper-book-lines book))
      (lambda (line) (dump-line outputter line (eq? line last-line))) lines)
     (ly:outputter-dump-string outputter "\\lilypondend\n")))
 
+
+(define-public (output-preview-framework
+               outputter book scopes fields basename)
+  (let* ((bookpaper (ly:paper-book-book-paper book))
+        (lines (ly:paper-book-lines book)))
+    (for-each
+     (lambda (x)
+       (ly:outputter-dump-string outputter x))
+     (list
+      ;;FIXME
+      (header "creator" "timestamp" bookpaper (length lines) #f)
+      "\\def\\lilypondclassic{1}%\n"
+      (output-scopes scopes fields basename)
+      (define-fonts bookpaper)
+      (header-end)))
+
+    (dump-line outputter (car lines) #t)
+    (ly:outputter-dump-string outputter "\\lilypondend\n")))
index 1f94d74af833960c3154716264352278e81e3a34..1a00c37bdc92dc301b86f3e8d2eb91d2b1961866 100644 (file)
   "Construct a stencil representing the page from LINES.  "
   (let*
      ((top-margin  (ly:output-def-lookup paper 'top-margin))
-
+      
       ;; TODO: naming vsize/hsize not analogous to TeX.
       
       (hsize (ly:output-def-lookup paper 'hsize))
       (line-stencils (map ly:paper-system-stencil lines))
       (height-proc (ly:output-def-lookup paper 'page-music-height))
       (music-height (height-proc paper scopes number last?))
+      (ragged (ly:output-def-lookup paper 'raggedbottom))
+      (ragged-last   (ly:output-def-lookup paper 'raggedlastbottom))
+      (ragged-bottom (or (eq? #t ragged)
+                        (and last? (eq? #t ragged-last))))
+
       (spc-left (-  music-height
                   (apply + (map (lambda (x)
                                   (interval-length (ly:stencil-extent x Y)))
                        line-stencils))))
       (stretchable-lines (remove ly:paper-system-title? (cdr lines)))
       (stretch (if (or (null? stretchable-lines)
-                      (> spc-left (/ music-height 2)))
-                  
+                      (> spc-left (/ music-height 2))
+                      ragged-bottom)
                   0.0
                   (/ spc-left (length stretchable-lines))))