- (let-optional
- rest ((resolution 90)
- (paper-size "a4")
- (rename-page-1? #f)
- (verbose? #f))
- (let* ((base (basename (re-sub "[.]e?ps" "" ps-name)))
- (header (gulp-port (open-file ps-name "r") 10240))
- (png1 (string-append base ".png"))
- (pngn (string-append base "-page%d.png"))
- (pngn-re (re-sub "%d" "[0-9]*" pngn))
- (multi-page? (and (string-match "\n%%Pages: " header)
- (not (string-match "\n%%Pages: 1\n" header))))
+ (let-keywords*
+ rest #f
+ ((resolution 90)
+ (page-width 100)
+ (page-height 100)
+ (rename-page-1 #f)
+ (be-verbose (ly:get-option 'verbose))
+ (pixmap-format 'png16m)
+ (anti-alias-factor 1))
+
+ (let* ((format-str (format "~a" pixmap-format))
+ (extension (cond
+ ((string-contains format-str "png") "png")
+ ((string-contains format-str "jpg") "jpeg")
+ ((string-contains format-str "jpeg") "jpeg")
+ (else
+ (ly:error "Unknown pixmap format ~a" pixmap-format))))
+ (base (dir-basename ps-name ".ps" ".eps"))
+ (png1 (format "~a.~a" base extension))
+ (pngn (format "~a-page%d.~a" base extension))
+ (page-count (ps-page-count ps-name))
+ (multi-page? (> page-count 1))