]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/framework-texstr.scm
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / scm / framework-texstr.scm
index 9931a81c45692e9cee493449c834c36fba967ffc..88bc25a228e0200c6ce9e18e3aba338b02c1d7b0 100644 (file)
@@ -2,13 +2,14 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
-;;;; (c)  2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 2004--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
 (define-module (scm framework-texstr)
   #:export (output-framework-tex       
            output-classic-framework-tex))
 
 (use-modules (ice-9 regex)
+            (scm paper-system)
             (ice-9 string-fun)
             (ice-9 format)
             (guile)
 \\end{document}
 ")
 
+(define-public (output-classic-framework basename book scopes fields)
+  (let* ((filename (format "~a.texstr" basename))
+        (outputter (ly:make-paper-outputter
+                    (open-file filename "wb")
+                    (ly:output-backend)))
+        (paper (ly:paper-book-paper book))
+        (lines (ly:paper-book-systems book)))
+    (ly:outputter-dump-string outputter (header basename))
+    (for-each
+     (lambda (system)
+       (ly:outputter-dump-stencil outputter (paper-system-stencil system)))
+     lines)
+    (ly:outputter-dump-string outputter (footer))))
 
-(define-public (output-framework outputter book scopes fields basename )
-  (let* ((paper (ly:paper-book-paper book))
-        (pages (ly:paper-book-pages book))
-        )
+(define-public (output-framework basename book scopes fields )
+  (let* ((filename (format "~a.texstr" basename))
+        (outputter
+         (ly:make-paper-outputter
+          (open-file filename "wb")
+          (ly:output-backend)))
+        (paper (ly:paper-book-paper book))
+        (pages (ly:paper-book-pages book)))
     (ly:outputter-dump-string outputter (header basename))
     (for-each
      (lambda (page)