(is-eps (string-match "\\.eps$" name))
(paper-size-string (if is-eps
" -dEPSCrop "
- (format "-dDEVICEWIDTHPOINTS=~,2f \
+ (fancy-format "-dDEVICEWIDTHPOINTS=~,2f \
-dDEVICEHEIGHTPOINTS=~,2f "
paper-width paper-height )))
(fret-count (+ (- (cadr fret-range) (car fret-range)) 1))
(label-text
(cond
- ((equal? number-type 'roman-lower) (format #f "~(~:@r~)" base-fret))
- ((equal? number-type 'roman-upper) (format #f "~:@r" base-fret))
- ((equal? 'arabic number-type) (format #f "~d" base-fret))
- (else (format #f "~(~:@r~)" base-fret)))))
+ ((equal? number-type 'roman-lower) (fancy-format #f "~(~:@r~)" base-fret))
+ ((equal? number-type 'roman-upper) (fancy-format #f "~:@r" base-fret))
+ ((equal? 'arabic number-type) (fancy-format #f "~d" base-fret))
+ (else (fancy-format #f "~(~:@r~)" base-fret)))))
(ly:stencil-translate-axis
(sans-serif-stencil layout props (* size label-font-mag) label-text)
(* size (+ fret-count label-vertical-offset)) Y)))
(use-modules (ice-9 regex)
(ice-9 safe)
+ (ice-9 format)
(ice-9 optargs)
(oop goops)
(srfi srfi-1)
(srfi srfi-13)
(srfi srfi-14)
(scm clip-region)
-
)
+(define-public (ergonomic-simple-format dest . rest)
+ "Like ice-9 format, but without the memory consumption."
+
+ (if (string? dest)
+ (apply simple-format (cons #f (cons dest rest)))
+ (apply simple-format (cons dest rest))))
+
+(define-public fancy-format format)
+(define format ergonomic-simple-format)
+
;; my display
(define-public (myd k v) (display k) (display ": ") (display v) (display ", "))
((interval-empty? extent)
(format "empty"))
(is-length
- (format "~$" (interval-length extent)))
+ (fancy-format "~$" (interval-length extent)))
(else
- (format "(~$,~$)"
+ (fancy-format "(~$,~$)"
(car extent) (cdr extent)))))))
(arrows (ly:stencil-translate-axis
(dimension-arrows (cons 0 (interval-length extent)))