(srfi srfi-1) ; lists
(srfi srfi-13)) ; strings
+
; my display
(define-public (myd k v) (display k) (display ": ") (display v) (display ", "))
;; parser stuff.
(define-public (print-music-as-book parser music)
(let* ((head (ly:parser-lookup parser '$globalheader))
- (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
head score)))
(ly:parser-print-book parser book)))
(define-public (print-score-as-book parser score)
(let*
((head (ly:parser-lookup parser '$globalheader))
- (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
head score)))
(ly:parser-print-book parser book)))
(define-public (print-score parser score)
(let* ((head (ly:parser-lookup parser '$globalheader))
- (book (ly:make-book (ly:parser-lookup parser $defaultbookpaper)
+ (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
head score)))
(ly:parser-print-score parser book)))
"Length of the number-pair X, when an interval"
(max 0 (- (cdr x) (car x)))
)
-
+(define-public interval-start car)
+(define-public interval-end cdr)
(define (other-axis a)
(remainder (+ a 1) 2))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(define-public (postscript->pdf papersize name)
- (let* ((cmd (string-append "ps2pdf -sPAPERSIZE=" papersize " " name))
- (output-name
- (regexp-substitute/global #f "\\.ps" name 'pre ".pdf" 'post)))
+(define-public (ly:system command)
+ (let*
+ ((status 0)
- (newline (current-error-port))
- (display (format (_ "Converting to `~a'...") output-name)
- (current-error-port))
- (newline (current-error-port))
+ (silenced
+ (string-append command (if (ly:get-option 'verbose)
+ ""
+ " > /dev/null 2>&1 "))))
(if (ly:get-option 'verbose)
- (display (format "Invoking `~a'..." cmd) (current-error-port)))
-
- (system cmd)))
+ (format (current-error-port) (_ "Invoking `~a'...\n") command))
+
+ (set! status (system silenced))
+ (if (> status 0)
+ (format (current-error-port) (_ "Error invoking `~a'. Return value ~a")
+ silenced status))))
+
+;;
+;; ugh - double check this. We are leaking
+;; untrusted (user-settable) info to a command-line
+;;
+;; (regexp-substitute/global #f "[^[:alnum:]]" papersizename 'pre 'post))
+(define-public (postscript->pdf papersizename name)
+ (let* ((set-papersize (if (member papersizename (map car paper-alist))
+ (string-append "-sPAPERSIZE=" papersizename " ")
+ ""))
+ (cmd (string-append "ps2pdf " set-papersize name))
+ (pdf-name (string-append (basename name ".ps") ".pdf" )))
+ (format (current-error-port) (_ "Converting to `~a'...") pdf-name)
+ (ly:system cmd)))
(define-public (postscript->png resolution name)
(let
"ps2png --resolution="
(if (number? resolution)
(number->string resolution)
- "90")
+ "90 ")
(if (ly:get-option 'verbose)
"--verbose "
" ")
name)))
- (if (ly:get-option 'verbose)
- (begin
- (display (format (_ "Invoking `~a'...") cmd) (current-error-port))
- (newline (current-error-port))))
- (system cmd)))
+ (ly:system cmd)))
(define-public (lilypond-main files)
"Entry point for LilyPond."
(newline (current-error-port))
(exit 1))
(exit 0))))
+