]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/framework-scm.scm
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / scm / framework-scm.scm
index 23fc0c19e92444cfb014967e3a9e9f3bbc5175bd..915e97ded39ae23b439b7d7319c0cf0cc83e9161 100644 (file)
@@ -1,34 +1,36 @@
+;;;; framework-scm.scm -- output full-page stencil expressions
 
-(define-module (scm framework-scm)
- #:export (output-framework)
-  )
-
-(use-modules (ice-9 regex)
-            (ice-9 string-fun)
-            (ice-9 format)
-            (guile)
-            (srfi srfi-1)
-            (ice-9 pretty-print)
-            (srfi srfi-13)
-            (lily))
-
-(define-public (output-framework outputter book scopes fields basename)
-  (ly:outputter-dump-string outputter ";; raw SCM output\n")
-
-  (for-each
-   (lambda (page)
-     (ly:outputter-dump-string
-      outputter ";;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;PAGE\n") 
-     (ly:outputter-dump-string
-      outputter
-      (call-with-output-string
-       (lambda (port)
-        (pretty-print (ly:stencil-expr page) port)))))
-   (ly:paper-book-pages book)))
+(define-module (scm framework-scm))
 
+(use-modules
+ (ice-9 regex)
+ (ice-9 string-fun)
+ (guile)
+ (srfi srfi-1)
+ (ice-9 pretty-print)
+ (srfi srfi-13)
+ (scm page)
+ (lily))
+
+(define format ergonomic-simple-format)
+
+(define-public (output-framework basename book scopes fields)
+  (let* ((file (open-output-file (format #f "~a.scm" basename))))
+
+    (display ";;Creator: LilyPond\n" file)
+    (display ";; raw SCM output\n" file)
+
+    (for-each
+     (lambda (page)
+       (display ";;;;;;;;;;;;;;;;;;;;;;;;;;\n;;;PAGE\n" file)
+       ;; The following two lines are alternates
+       ;;(pretty-print (ly:stencil-expr page) file)
+       (write (ly:stencil-expr page) file)
+       )
+     (map page-stencil (ly:paper-book-pages book)))))
+
+(define-public output-classic-framework output-framework)
 
 (define-public (convert-to-ps . args) #t)
 (define-public (convert-to-pdf . args) #t)
 (define-public (convert-to-png . args) #t)
-(define-public (convert-to-dvi . args) #t)
-(define-public (convert-to-tex . args) #t)