+ ;; The wrapper on windows cannot handle `=' signs,
+ ;; gs has a workaround with #.
+ (if (eq? PLATFORM 'windows)
+ (begin
+ (set! cmd (string-regexp-substitute "=" "#" cmd))
+ (set! cmd (string-regexp-substitute "-dSAFER " "" cmd))))
+
+ (if (access? pdf-name W_OK)
+ (delete-file pdf-name))
+
+ (ly:message (_ "Converting to `~a'...") pdf-name)
+ (ly:progress "\n")
+ (ly:system cmd)
+ ))
+
+(use-modules (scm ps-to-png))
+
+(define-public (postscript->png resolution paper-width paper-height name)
+ ;; Do not try to guess the name of the png file,
+ ;; GS produces PNG files like BASE-page%d.png.
+ ;;(ly:message (_ "Converting to `~a'...")
+ ;; (string-append (basename name ".ps") "-page1.png" )))
+ (let ((verbose (ly:get-option 'verbose))
+ (rename-page-1 #f))
+
+ (ly:message (_ "Converting to ~a...") "PNG")
+ (make-ps-images name resolution paper-width paper-height rename-page-1 verbose
+ (ly:get-option 'anti-alias-factor))
+ (ly:progress "\n")))