X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Foutput-lib.scm;h=89d20b95509febf0f89ce443f0bd26282f9d5c29;hb=7fdce4f39834cc8c83f176480cc1d20900eb09f8;hp=e04b298975cde419bfc931c2fbdd34e4d84d574e;hpb=6d209bd29394fe068438f602d50b8257b6f766ef;p=lilypond.git diff --git a/scm/output-lib.scm b/scm/output-lib.scm index e04b298975..89d20b9550 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -620,8 +620,8 @@ and duration-log @var{log}." (define-public (color? x) (and (list? x) (= 3 (length x)) - (apply eq? #t (map number? x)) - (apply eq? #t (map (lambda (y) (<= 0 y 1)) x)))) + (every number? x) + (every (lambda (y) (<= 0 y 1)) x))) (define-public (rgb-color r g b) (list r g b)) @@ -673,6 +673,20 @@ and duration-log @var{log}." (prepend (+ x 7) (cons x l)))) (prepend first-position '()))))) +(define-public (key-signature-interface::alteration-position + step alter c0-position) +;; Deprecated. Not a documented interface, and no longer used in LilyPond, +;; but needed for a popular file, LilyJAZZ.ily for version 2.16 + (if (pair? step) + (+ (cdr step) (* (car step) 7) c0-position) + (let* ((c-pos (modulo c0-position 7)) + (hi (list-ref + (if (< alter 0) + '(2 3 4 2 1 2 1) ; position of highest flat + '(4 5 4 2 3 2 3)); position of highest sharp + c-pos))) + (- hi (modulo (- hi (+ c-pos step)) 7))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; annotations @@ -854,6 +868,11 @@ and duration-log @var{log}." the previous calculated offset value." prev-offset) +(define-public (scale-by-font-size x) + (ly:make-unpure-pure-container + (lambda (grob) + (* x (magstep (ly:grob-property grob 'font-size 0)))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; @@ -893,8 +912,8 @@ and duration-log @var{log}." (left-x (+ padding (max - (interval-end (ly:grob-robust-relative-extent - left-span common X)) + (interval-end (ly:generic-bound-extent + left-span common)) (if (and dots (close @@ -904,7 +923,7 @@ and duration-log @var{log}." (ly:grob-robust-relative-extent dots common X)) (- INFINITY-INT))))) (right-x (max (- (interval-start - (ly:grob-robust-relative-extent right-span common X)) + (ly:generic-bound-extent right-span common)) padding) (+ left-x minimum-length))) (self-x (ly:grob-relative-coordinate spanner common X))