X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-tex.scm;h=7c535f49ded94b45eb2b3a1ed8b7a5712dec4b7c;hb=88a236914aa32c6d05861ca944f6259c98d94cd0;hp=e268f4173ace521e6143b09b614f309ff7ee5044;hpb=32a35aca433fd6fc4b172340e461db20995765dc;p=lilypond.git diff --git a/scm/framework-tex.scm b/scm/framework-tex.scm index e268f4173a..7c535f49de 100644 --- a/scm/framework-tex.scm +++ b/scm/framework-tex.scm @@ -103,12 +103,13 @@ (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") "") @@ -149,7 +150,7 @@ "}\\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))) @@ -158,7 +159,7 @@ (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))) @@ -184,14 +185,14 @@ (define-public (output-classic-framework outputter book scopes fields basename) (let* ((bookpaper (ly:paper-book-book-paper book)) - (lines (ly:paper-book-lines book)) + (lines (ly:paper-book-systems book)) (last-line (car (last-pair lines)))) (for-each (lambda (x) (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) @@ -203,9 +204,9 @@ (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))) + (lines (ly:paper-book-systems book))) (for-each (lambda (x) (ly:outputter-dump-string outputter x)) @@ -219,3 +220,43 @@ (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) +