]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Set horizon_padding by default for tie formatting, vertical staff distance
[lilypond.git] / scm / define-grobs.scm
index 3ad6b22bff125b113e77982f4eac300a2ae2340d..a9dd4edfbc660b50942192802501f3d029ee4004 100644 (file)
@@ -51,6 +51,7 @@
                                accidental-suggestion-interface
                                self-alignment-interface
                                font-interface))))))
+
     (AccidentalPlacement
      . (
        (left-padding . 0.2)
                                side-position-interface
                                font-interface))))))
 
+    (BalloonTextItem 
+     . ((stencil . ,ly:balloon-interface::print)
+       (text . ,(grob::calc-property-by-copy 'text)) 
+       (X-offset . ,(grob::calc-property-by-copy 'X-offset)) 
+       (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) 
+       (meta . ((class . Item)
+                (interfaces . (text-interface
+                               font-interface))))))
     (BarLine
      . (
        (break-align-symbol . staff-bar)
        (X-offset . ,(ly:make-simple-closure
                      `(,+
                        ,(ly:make-simple-closure
-                         (list ly:break-alignment-align-interface::self-align-callback))
+                         (list ly:break-alignable-interface::self-align-callback))
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
 
              ((class . Item)
               (interfaces . (side-position-interface
                              text-interface
-                             break-alignment-align-interface
+                             break-alignable-interface
                              self-alignment-interface
                              font-interface
                              ))))
      . (
        (non-musical . #t)
        (stacking-dir . 1)
-       (positioning-done . ,ly:break-align-interface::calc-positioning-done)
+       (positioning-done . ,ly:break-alignment-interface::calc-positioning-done)
        (X-extent . ,ly:axis-group-interface::width)
        (break-align-orders . ;; end of line
                            #((
        (stencil . ,ly:clef::print)
        (glyph-name . ,ly:clef::calc-glyph-name)
        (non-musical . #t)
+       (avoid-slur . inside)
        (font-family . music)
        (break-align-symbol . clef)
        (break-visibility . ,begin-of-line-visible)
        (meta . ((class . Item)
                 (interfaces . (font-interface
                                break-aligned-interface
-                               percent-repeat-interface))))))
+                               percent-repeat-item-interface))))))
 
     (DoublePercentRepeatCounter
      . (
        (meta . ((class . Item)
                 (interfaces . (side-position-interface
                                self-alignment-interface
-                               percent-repeat-interface
+                               percent-repeat-item-interface
                                font-interface
                                text-interface))))))
     (DynamicLineSpanner
        (minimum-space . 1.2)
        (direction . ,DOWN)
        (side-axis . ,Y)
+       (outside-staff-priority . 250)
        (Y-extent . ,ly:axis-group-interface::height)
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Spanner)
        (avoid-slur . around)
        (no-spacing-rods . #t)
        (script-priority . 100)
+       (outside-staff-priority . 300)
        (meta . ((class . Item)
                 (interfaces . (font-interface
                                text-interface
        (style . line)
        (gap . 0.5)
        (zigzag-width . 0.75)
-       (non-musical . #t)
        (X-extent . #f)
        (Y-extent . #f)
        (stencil . ,ly:line-spanner::print)
     (KeySignature
      . (
        (stencil . ,ly:key-signature-interface::print)
+       (avoid-slur . inside)
        (space-alist . (
                        (time-signature . (extra-space . 1.15))
                        (staff-bar . (extra-space . 1.1))
        (length-fraction . 0.25)
        (layer . 0)
        (meta . ((class . Spanner)
-                (interfaces . (ledger-line-interface))))))
+                (interfaces . (ledger-line-spanner-interface))))))
 
     (LeftEdge
      . (
        (minimum-length . 0.3)
        (minimum-distance . 0.1)
        (padding . 0.07)
-       (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods)
-       (stencil . ,ly:hyphen-spanner::print)
+       (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods)
+       (stencil . ,ly:lyric-hyphen::print)
        (Y-extent . (0 . 0))
        (meta . ((class . Spanner)
                 (interfaces . (lyric-interface
 
     (LyricSpace
      . ((minimum-distance . 0.45)
-       (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods)
+       (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods)
        (padding . 0.0)
        (Y-extent . #f)
        (X-extent . #f)
     (LyricText
      . (
        (stencil . ,lyric-text::print)
-       (text . ,lyric-text::calc-text)
+       (text . ,(grob::calc-property-by-copy 'text)) 
        (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
        (self-alignment-X . 0)
        (word-space . 0.6)
        (dash-fraction . 0.3)
        (edge-height . (0 . 1.2))
        (direction . ,UP)
+       (outside-staff-priority . 400)
        (meta . ((class . Spanner)
                 (interfaces . (ottava-bracket-interface
                                horizontal-bracket-interface
 
     (ParenthesesItem
      . ((stencil . ,parentheses-item::print)
+       (stencils . ,parentheses-item::calc-parenthesis-stencils)
        (font-size . -6)
        (padding . 0.2)
        (meta . ((class . Item)
                 (interfaces . (parentheses-interface font-interface))))
        ))
+
+    (HarmonicParenthesesItem
+     . ((stencil . ,parentheses-item::print)
+       (padding . 0)
+       (stencils . ,parentheses-item::calc-angled-bracket-stencils)
+       (meta . ((class . Item)
+                (interfaces . (parentheses-interface font-interface))))
+       ))
     
     (PhrasingSlur
      . ((details . ,default-slur-details)
        (meta . ((class . Spanner)
                 (interfaces . (multi-measure-rest-interface
                                font-interface
-                               percent-repeat-interface))))))
+                               percent-repeat-item-interface))))))
     (PercentRepeatCounter
      . (
        (stencil . ,ly:text-interface::print)
        (meta . ((class . Spanner)
                 (interfaces . (side-position-interface
                                self-alignment-interface
-                               percent-repeat-interface
+                               percent-repeat-item-interface
                                font-interface
                                text-interface))))))
 
        (X-offset . ,(ly:make-simple-closure
                      `(,+
                        ,(ly:make-simple-closure
-                         (list ly:break-alignment-align-interface::self-align-callback))
+                         (list ly:break-alignable-interface::self-align-callback))
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
 
        (break-visibility . ,end-of-line-invisible)
        (break-align-symbol . staff-bar)
        (padding . 0.8)
+       (outside-staff-priority . 1000)
        (meta . ((class . Item)
                 (interfaces . (text-interface
                                side-position-interface
-                               break-alignment-align-interface
+                               break-alignable-interface
                                font-interface
                                mark-interface
                                self-alignment-interface))))))
        (thickness . 0.48)
        (slope . 1.7)
        (meta . ((class . Item)
-                (interfaces . (percent-repeat-interface))))))
+                (interfaces . (percent-repeat-item-interface))))))
 
     (RepeatTie
      . (
     (Rest
      . (
        (stencil . ,ly:rest::print)
-       (duration-log . ,note-head::calc-duration-log)
+       (duration-log . ,stem::calc-duration-log)
        (X-extent . ,ly:rest::width)
        (Y-extent . ,ly:rest::height)
        (Y-offset . ,ly:rest::y-offset-callback)
        (avoid-slur . inside)
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
+       (skylines . ,ly:separation-item::calc-skylines)
        (meta . ((class . Item)
                 (interfaces . (spacing-interface
                                separation-item-interface))))))
        (meta . ((class . Spanner)
                 (interfaces . (only-prebreak-interface
                                spacing-interface
-                               separation-spanner-interface))))))
+                               separating-group-spanner-interface))))))
 
     (Slur
      . ((details . ,default-slur-details)
     (Stem
      . (
        (direction . ,ly:stem::calc-direction)
-       (duration-log . ,note-head::calc-duration-log)
+       (duration-log . ,stem::calc-duration-log)
        (default-direction . ,ly:stem::calc-default-direction)
        (stem-end-position . ,ly:stem::calc-stem-end-position)
 
        (axes . (0 1))
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
+       (skyline-spacing . #t)
+       (skyline-horizontal-padding . 1.0)
        (meta . ((class . System)
                 (interfaces . (system-interface
                                axis-group-interface))))))
                 (interfaces . (side-position-interface
                                system-start-delimiter-interface))))))
 
-
     (TabNoteHead
      . (
        (stencil . ,ly:text-interface::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
-       (duration-log . ,note-head::calc-duration-log)
+       (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
+       (direction . 0)
        (font-size . -2)
        (stem-attachment . (0.0 . 1.35))
        (font-series . bold)
        (stencil . ,ly:text-interface::print)
        (direction . ,ly:script-interface::calc-direction)
 
+       (outside-staff-priority . 450)
        (avoid-slur . around)
        (slur-padding . 0.5)
        (script-priority . 200)
        (dash-period . 3.0)
        (side-axis . ,Y)
        (direction . ,UP)
+       (outside-staff-priority . 350)
        (meta . ((class . Spanner)
                 (interfaces . (text-spanner-interface
                                line-spanner-interface
        (stencil . ,ly:tie::print)
        (font-size . -6)
        (details . (
-                   ;; for a full list, see tie-helper.cc
+                   ;; for a full list, see tie-details.cc
                    (ratio . 0.333)
                    (center-staff-line-clearance . 0.6)
                    (tip-staff-line-clearance . 0.45)
        (stencil . ,ly:time-signature::print)
        (break-align-symbol . time-signature)
        (break-visibility . ,all-visible)
+       (avoid-slur . inside)
        (space-alist . (
                        (first-note . (fixed-space . 2.0))
                        (right-edge . (extra-space . 0.5))
        (direction . ,UP)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (side-axis . ,Y)
+       (outside-staff-priority . 50)
        (meta . ((class . Spanner)
                 (interfaces . (text-spanner-interface
                                line-spanner-interface
        (axes . (,X))
        (font-size . -4)
        (stencil . ,parenthesize-elements)
+       (stencils . ,parentheses-item::calc-parenthesis-stencils)
        (direction . ,RIGHT)
        (side-axis . ,X)
        (padding . 0.3)
        (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)
+       (skyline-spacing . #t)
        (meta . ((class . Spanner)
                 (interfaces . (axis-group-interface
-                               hara-kiri-group-interface
+                               hara-kiri-group-spanner-interface
                                vertically-spaceable-interface))))))
 
 
        (edge-height . (2.0 . 2.0)) ;; staff-space;
        (minimum-space . 5)
        (font-size . -4)
+       (outside-staff-priority . 100)
        (meta . ((class . Spanner)
                 (interfaces . (volta-bracket-interface
                                horizontal-bracket-interface                            
 (define pure-print-callbacks
   (list
    ly:note-head::print
+   ly:accidental-interface::print
+   ly:dots::print
    ly:clef::print
    ly:text-interface::print
    ly:script-interface::print))
         (ly:stencil? sten)
         (memq sten pure-print-callbacks))
        (ly:grob::stencil-height grob)
+
        '(0 . 0))))
 
 (define pure-conversions-alist