X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Foutput-lib.scm;h=bf98dbab41487de60be66c96050353531f7e01cc;hb=ee95bfc817f230721c7c040f8bd43251d17f3e93;hp=a060b6ca3ba7b9a191947187a738771e4f1f41fa;hpb=2cb28056f4c767e3d0d00e73e53607af00ba38e8;p=lilypond.git diff --git a/scm/output-lib.scm b/scm/output-lib.scm index a060b6ca3b..bf98dbab41 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2005 Jan Nieuwenhuizen +;;;; (c) 1998--2006 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys @@ -39,8 +39,11 @@ (else fret))))))) +; default tunings for common string instruments (define-public guitar-tuning '(4 -1 -5 -10 -15 -20)) +(define-public guitar-open-g-tuning '(2 -1 -5 -10 -17 -22)) (define-public bass-tuning '(-17 -22 -27 -32)) +(define-public mandolin-tuning '(16 9 2 -5)) ;; tunings for 5-string banjo (define-public banjo-open-g-tuning '(2 -1 -5 -10 7)) @@ -48,11 +51,7 @@ (define-public banjo-modal-tuning '(2 0 -5 -10 7)) (define-public banjo-open-d-tuning '(2 -3 -6 -10 9)) (define-public banjo-open-dm-tuning '(2 -3 -6 -10 9)) -;; convert 5-string banjo tunings to 4-string tunings by -;; removing the 5th string -;; -;; example: -;; \set TabStaff.stringTunings = #(four-string-banjo banjo-open-g-tuning) +;; convert 5-string banjo tuning to 4-string by removing the 5th string (define-public (four-string-banjo tuning) (reverse (cdr (reverse tuning)))) @@ -76,14 +75,13 @@ (define-public (print-circled-text-callback grob) (let* ((text (ly:grob-property grob 'text)) + (layout (ly:grob-layout grob)) (defs (ly:output-def-lookup layout 'text-font-defaults)) (props (ly:grob-alist-chain grob defs)) - (circle (Text_interface::interpret_markup - layout props (make-draw-circle-markup 0.8 0.1 #f))) - (text-stencil (Text_interface::interpret_markup layout props text))) - - (ly:stencil-add (centered-stencil text-stencil) circle))) + (circle (ly:text-interface::interpret-markup + layout props (make-circle-markup text)))) + circle)) ;;(define (mm-to-pt x) @@ -179,7 +177,7 @@ centered, X==1 is at the right, X == -1 is at the left." (define-public (first-bar-number-invisible barnum) (> barnum 1)) -;; See documentation of Item::visibility_lambda_ +;; See documentation of ly:item::visibility-lambda- (define-public begin-of-line-visible #(#f #f #t)) (define-public end-of-line-visible @@ -221,6 +219,7 @@ centered, X==1 is at the right, X == -1 is at the left." (".|." . (".|." . ())) ("" . ("" . "")) (":" . (":" . "")) + ("." . ("." . ())) ("empty" . (() . ())) ("brace" . (() . "brace")) ("bracket" . (() . "bracket")) ))) @@ -230,7 +229,7 @@ centered, X==1 is at the right, X == -1 is at the left." (index-cell (cdr result) dir) #f))) ) - + (if (not glyph-name) (ly:grob-suicide! grob)) @@ -255,35 +254,64 @@ centered, X==1 is at the right, X == -1 is at the left." (define-public red '(1.0 0.0 0.0)) (define-public green '(0.0 1.0 0.0)) (define-public blue '(0.0 0.0 1.0)) -(define-public cyan '(1.0 1.0 0.0)) +(define-public cyan '(0.0 1.0 1.0)) (define-public magenta '(1.0 0.0 1.0)) -(define-public yellow '(0.0 1.0 1.0)) +(define-public yellow '(1.0 1.0 0.0)) (define-public grey '(0.5 0.5 0.5)) (define-public darkred '(0.5 0.0 0.0)) (define-public darkgreen '(0.0 0.5 0.0)) (define-public darkblue '(0.0 0.0 0.5)) -(define-public darkcyan '(0.5 0.5 0.0)) +(define-public darkcyan '(0.0 0.5 0.5)) (define-public darkmagenta '(0.5 0.0 0.5)) -(define-public darkyellow '(0.0 0.5 0.5)) +(define-public darkyellow '(0.5 0.5 0.0)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Pitch Trill Heads +;; * Pitch Trill Heads +;; * Parentheses -(define (parenthesize-elements grob) +(define (parenthesize-elements grob . rest) (let* - ((elts (ly:grob-object grob 'elements)) - (x-ext (ly:relative-group-extent elts grob X)) + ( + (refp (if (null? rest) + grob + (car rest))) + (elts (ly:grob-object grob 'elements)) + (x-ext (ly:relative-group-extent elts refp X)) + (font (ly:grob-default-font grob)) (lp (ly:font-get-glyph font "accidentals.leftparen")) (rp (ly:font-get-glyph font "accidentals.rightparen")) - (padding 0.1)) + (padding (ly:grob-property grob 'padding 0.1))) (ly:stencil-add (ly:stencil-translate-axis lp (- (car x-ext) padding) X) (ly:stencil-translate-axis rp (+ (cdr x-ext) padding) X)) )) + +(define (parentheses-item::print me) + (let* + ((elts (ly:grob-object me 'elements)) + (y-ref (ly:grob-common-refpoint-of-array me elts Y)) + (x-ref (ly:grob-common-refpoint-of-array me elts X)) + (stencil (parenthesize-elements me x-ref)) + (elt-y-ext (ly:relative-group-extent elts y-ref Y)) + (y-center (interval-center elt-y-ext))) + + (ly:stencil-translate + stencil + (cons + (- + (ly:grob-relative-coordinate me x-ref X)) + (- + y-center + (ly:grob-relative-coordinate me y-ref Y)))) + )) + + + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; @@ -294,3 +322,4 @@ centered, X==1 is at the right, X == -1 is at the left." funcs) value) +