X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-scm.scm;h=a47eb185fd602112956fff3bf14e4f5caf5d30d4;hb=32a34dcef0c0041c6d62677487a380b5c8b85712;hp=23fc0c19e92444cfb014967e3a9e9f3bbc5175bd;hpb=a899e55a62af2421792b7c72db042646acf520a3;p=lilypond.git diff --git a/scm/framework-scm.scm b/scm/framework-scm.scm index 23fc0c19e9..a47eb185fd 100644 --- a/scm/framework-scm.scm +++ b/scm/framework-scm.scm @@ -1,34 +1,36 @@ +;;;; framework-scm.scm -- output full-page stencil expressions -(define-module (scm framework-scm) - #:export (output-framework) - ) +(define-module (scm framework-scm)) -(use-modules (ice-9 regex) - (ice-9 string-fun) - (ice-9 format) - (guile) - (srfi srfi-1) - (ice-9 pretty-print) - (srfi srfi-13) - (lily)) +(use-modules + (ice-9 regex) + (ice-9 string-fun) + (guile) + (srfi srfi-1) + (ice-9 pretty-print) + (srfi srfi-13) + (scm page) + (lily)) -(define-public (output-framework outputter book scopes fields basename) - (ly:outputter-dump-string outputter ";; raw SCM output\n") +(define format ergonomic-simple-format) - (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-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)