]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/output-ps.scm
* scm/lily.scm (get-output-module): New function.
[lilypond.git] / scm / output-ps.scm
index 3bb2094353c97ae1eef932fe04770504cd1d833a..36d9dffbcde6f1247302642919ca62d0fedfec90 100644 (file)
@@ -16,6 +16,8 @@
 ;;;;   * text setting, kerning.
 ;;;;   * document output-interface
 
+;;(if (not safe-mode?)
+;;    (debug-enable 'backtrace))
 (debug-enable 'backtrace)
 
 (define-module (scm output-ps))
  (srfi srfi-13)
  (lily))
 
-
-
-
-;;; Lily output interface, PostScript implementation --- cleanup and docme
+(define (expression->string expr)
+  (eval expr this-module))
 
 ;;; Output interface entry
-(define-public (ps-output-expression expr port)
+(define (output-expression expr port)
   (display (expression->string expr) port))
 
+
 ;;; Global vars
 ;; alist containing fontname -> fontcommand assoc (both strings)
+(define page-count 0)
+(define page-number 0)
 (define font-name-alist '())
 
 ;; /lilypondpaperoutputscale 1.75729901757299 def
 (define (tex-font? fontname)
   (equal? (substring fontname 0 2) "cm"))
 
+
+;;;
+;;; Lily output interface, PostScript implementation --- cleanup and docme
+;;;
+
 ;;; Output-interface functions
 (define (beam width slope thick blot)
   (string-append
 (define (end-output)
   "\nend-lilypond-output\n")
 
-(define (expression->string expr)
-  (eval expr this-module))
-
 (define (ez-ball ch letter-col ball-col)
   (string-append
    " (" ch ") "
   
   (string-append (select-font name-mag-pair) exp))
 
-(define (header creator time-stamp)
+(define (header creator time-stamp page-count-)
+  (set! page-count page-count-)
+  (set! page-number 0)
   (string-append
    "%!PS-Adobe-3.0\n"
    "%%Creator: " creator " " time-stamp "\n"
+   "%%Pages: " (number->string page-count) "\n"
+   "%%PageOrder: Ascend\n"
    ;;(string-append "GNU LilyPond (" (lilypond-version) "), ")
    ;;     (strftime "%c" (localtime (current-time))))
    ;; FIXME: duplicated in every backend
     " draw_zigzag_line "))
 
 (define (start-page)
-  "\nstart-page\n")
+  (set! page-number (+ page-number 1))
+  (string-append
+   "%%Page: " (number->string page-number) " " (number->string page-count) "\n"
+  "start-page\n"))
 
 (define (stop-page last?)
   (if last?