(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)))
(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)
(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))
(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)
+