]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/output-lib.scm
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / scm / output-lib.scm
index ae5c6f71116f340b102b901df7a93a56815fb68a..bf98dbab41487de60be66c96050353531f7e01cc 100644 (file)
                       (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))
 (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))))
 
@@ -80,7 +79,7 @@
         (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
+        (circle (ly:text-interface::interpret-markup
                  layout props (make-circle-markup text))))
     circle))
 
@@ -178,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
@@ -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)
+