]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/framework-tex.scm
*** empty log message ***
[lilypond.git] / scm / framework-tex.scm
index e268f4173ace521e6143b09b614f309ff7ee5044..a63f6cf1108afd5970cc9ded25eea18d46d601ff 100644 (file)
       (string-append "\\def\\" prefix (symbol->tex-key key)
                     "{" (sanitize-tex-string str) "}%\n")))
 
-(define (header creator time-stamp bookpaper page-count classic?)
+(define (header bookpaper page-count classic?)
   (let ((scale (ly:output-def-lookup bookpaper 'outputscale)))
 
     (string-append
-     "% Generated by " creator "\n"
-     "% at " time-stamp "\n"
+     "% Generated by LilyPond "
+     (lilypond-version) "\n"
+     "% at " "time-stamp,FIXME" "\n"
      (if classic?
         (tex-string-def "lilypond" 'classic "1")
         "")
        "}\\vss\n}\n\\vfill\n"
        "}\\vss\n}\n\\vfill\\lilypondpagebreak\n")))
 
-(define-public (output-framework 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)))
      (lambda (x)
        (ly:outputter-dump-string outputter x))
      (list
-      (header "creator" "timestamp" bookpaper (length pages) #f)
+      (header bookpaper (length pages) #f)
       (define-fonts bookpaper)
       (header-end)))
     
        (ly:outputter-dump-string outputter x))
      (list
       ;;FIXME
-      (header "creator" "timestamp" bookpaper (length lines) #f)
+      (header bookpaper (length lines) #f)
       "\\def\\lilypondclassic{1}%\n"
       (output-scopes scopes fields basename)
       (define-fonts bookpaper)
 
 
 (define-public (output-preview-framework
-               outputter book scopes fields basename)
+               outputter book scopes fields basename )
   (let* ((bookpaper (ly:paper-book-book-paper book))
         (lines (ly:paper-book-lines book)))
     (for-each
 
     (dump-line outputter (car lines) #t)
     (ly:outputter-dump-string outputter "\\lilypondend\n")))
+
+
+(define-public (convert-to-pdf book name)
+  (let*
+      ((defs (ly:paper-book-book-paper book))
+       (size (ly:output-def-lookup defs 'papersize)))
+
+    (postscript->pdf (if (string? size) size "a4")
+                    (string-append
+                     (basename name ".tex")
+                     ".ps")
+                    )))
+
+(define-public (convert-to-png book name)
+  (let*
+      ((defs (ly:paper-book-book-paper book))
+       (resolution (ly:output-def-lookup defs 'pngresolution)))
+
+    (postscript->png
+     (if (number? resolution) resolution 90)
+     (string-append (basename name ".tex") ".ps")
+     )))
+
+(define-public (convert-to-ps book name)
+  (let*
+      ((cmd (string-append "dvips -u+ec-mftrace.map -u+lilypond.map -Ppdf " (basename name ".tex"))))
+
+    (display (format #f "invoking ~S" cmd))
+    (system cmd)))
+
+(define-public (convert-to-dvi book name)
+  (let*
+      ((cmd (string-append "latex " name)))
+
+    (display (format #f "invoking ~S\n" cmd))
+    (system cmd)))
+
+(define-public (convert-to-tex book name)
+  #t)
+