]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Merge with master
[lilypond.git] / scm / define-grobs.scm
index 645202e28ab5c113e39c1c78e2bc939213413513..6cfc4ed18845310cf8dba7dd0d1c62920fcacef9 100644 (file)
 
     (DynamicTextSpanner
      . (
-       (stencil . ,ly:dynamic-text-spanner::print)
-
        ;; rather ugh with NCSB
        ;; (font-series . bold)
        (font-shape . italic)
        (style . dashed-line)
 
+       ;; make sure the spanner doesn't get too close to notes
+       (minimum-Y-extent . (-1 . 1))
+       (bound-details . ((right . ((attach-dir .  ,LEFT)
+                                   (Y . 0)
+                                   (padding . 0.75)
+                                   ))
+                         (right-broken . ((attach-dir .  ,RIGHT)
+                                   (padding . 0.0)
+                                   ))
+                         
+                         (left . ((attach-dir .  ,LEFT)
+                                  (Y . 0)
+                                  (stencil-offset . (0 . -0.5))
+                                  (padding . 0.5)
+                                  ))
+                         (left-broken . ((attach-dir .  ,RIGHT)
+                                  ))
+                         ))
+       (stencil . ,ly:line-spanner::print)
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info-and-text)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+
        ;; need to blend with dynamic texts.
        (font-size . 1)
-       (bound-padding . 0.75)
        (dash-fraction . 0.2)
        (dash-period . 3.0)
        (meta . ((class . Spanner)
                 (interfaces . (font-interface
                                text-interface
                                line-spanner-interface
+                               line-interface
                                dynamic-interface
                                dynamic-text-spanner-interface
                                spanner-interface))))))
        (zigzag-width . 0.75)
        (X-extent . #f)
        (Y-extent . #f)
+       (bound-details . ((right . ((attach-dir .  ,CENTER)
+                                   (padding . 1.5)
+                                     ))
+                         (left . ((attach-dir .  ,CENTER)
+                                  (padding . 1.5)
+                                     ))
+                         ))
        (stencil . ,ly:line-spanner::print)
-       (after-line-breaking . ,ly:line-spanner::after-line-breaking)
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
        (meta . ((class . Spanner)
                 (interfaces . (line-interface
                                unbreakable-spanner-interface
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (meta . ((class . Item)
                 (interfaces . (piano-pedal-interface
-                               text-spanner-interface
-                               line-spanner-interface
                                text-interface
                                self-alignment-interface
                                piano-pedal-script-interface
 
     (TextSpanner
      . (
-       (stencil . ,ly:text-spanner::print)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (font-shape . italic)
        (style . dashed-line)
        (side-axis . ,Y)
        (direction . ,UP)
        (outside-staff-priority . 350)
+
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+       (bound-details . ((left . ((Y . 0)
+                                  (padding . 0.25)
+                                  (attach-dir . ,LEFT)
+                                  ))
+                         (right . ((Y . 0)
+                                   (padding . 0.25)
+                                  ))
+                         ))
+       (stencil . ,ly:line-spanner::print)
+
        (meta . ((class . Spanner)
-                (interfaces . (text-spanner-interface
-                               line-spanner-interface
+                (interfaces . (line-spanner-interface
                                side-position-interface
                                font-interface))))))
 
 
     (TrillSpanner
      . (
-       (stencil . ,ly:dynamic-text-spanner::print)
-       (edge-text . ,(cons (make-musicglyph-markup "scripts.trill")
-                           ""))
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+
+       (bound-details . ((left . ((text . ,(make-translate-scaled-markup
+                                            '(0.5 . -0.6)
+                                            (make-musicglyph-markup "scripts.trill")))
+                                  (Y . 0)
+                                  (padding . 0.25)
+                                  (attach-dir . ,LEFT)
+                                  ))
+                         (right . ((Y . 0)))
+                         ))
+       
+       (stencil . ,ly:line-spanner::print)
+
        (style . trill)
        (staff-padding . 1.0)
        (padding . 0.5)
        (side-axis . ,Y)
        (outside-staff-priority . 50)
        (meta . ((class . Spanner)
-                (interfaces . (text-spanner-interface
-                               line-spanner-interface
+                (interfaces . (line-spanner-interface
+                               line-interface
+                               trill-spanner-interface
                                side-position-interface
                                font-interface))))))
 
        (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback)
        (Y-extent . ,ly:hara-kiri-group-spanner::y-extent)
        (X-extent . ,ly:axis-group-interface::width)
-       (skylines . ,ly:axis-group-interface::calc-skylines)
+       (skylines . ,ly:hara-kiri-group-spanner::calc-skylines)
        (max-stretch . ,ly:axis-group-interface::calc-max-stretch)
        (meta . ((class . Spanner)
                 (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common)))
        (non-musical . #t)
        (X-extent . #f)
        (Y-extent . #f)
+       (bound-details . ((right . ((attach-dir .  ,CENTER)
+                                   (padding . 1.5)
+                                     ))
+                         (left . ((attach-dir .  ,CENTER)
+                                  (padding . 1.5)
+                                     ))
+                         ))
        (stencil . ,ly:line-spanner::print)
-       (after-line-breaking . ,ly:line-spanner::after-line-breaking)
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
        (meta . ((class . Spanner)
                 (interfaces . (line-spanner-interface
                                line-interface))))