]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Run `make grand-replace'.
[lilypond.git] / scm / define-grobs.scm
index 94e30465e9b7f36b09c88cd0ef45fe65636a1eb8..3af72b06477e8d7dbea91025548145d7678fcdfb 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
-;;;; (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 ;;;; distances are given in line-thickness (thicknesses) and
      . (
        (avoid-slur . inside)
        (glyph-name-alist . ,standard-alteration-glyph-name-alist)
-       (alteration . ,accidental-interface::calc-alteration) 
+       (alteration . ,accidental-interface::calc-alteration)
        (stencil . ,ly:accidental-interface::print)
        (Y-extent . ,ly:accidental-interface::height)
        (X-extent . ,ly:accidental-interface::width)
        (meta . ((class . Item)
                 (interfaces . (accidental-interface
                                font-interface))))))
+
     (AccidentalCautionary
      . (
        (avoid-slur . inside)
        (parenthesized . #t)
        (glyph-name-alist . ,standard-alteration-glyph-name-alist)
-       (alteration . ,accidental-interface::calc-alteration) 
+       (alteration . ,accidental-interface::calc-alteration)
        (stencil . ,ly:accidental-interface::print)
        (Y-extent . ,ly:accidental-interface::height)
        (meta . ((class . Item)
                 (interfaces . (accidental-interface
                                font-interface))))))
 
-    
     (AccidentalSuggestion
      . (
        (stencil . ,ly:accidental-interface::print)
+        (X-extent . ,ly:accidental-interface::width)
        (Y-extent . ,ly:accidental-interface::height)
        (X-offset . ,(ly:make-simple-closure
                      `(,+
@@ -60,7 +61,7 @@
        (staff-padding . 0.25)
        (outside-staff-priority . 0)
        (script-priority . 0)
-       (side-axis . ,X)
+       (side-axis . ,Y)
        (meta . ((class . Item)
                 (interfaces . (side-position-interface
                                script-interface
        (X-offset . ,(grob::calc-property-by-copy 'X-offset)) 
        (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) 
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (balloon-interface
+                               text-interface
                                font-interface))))))
     (BarLine
      . (
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
 
-       (self-alignment-X . 1)
+       (self-alignment-X . ,RIGHT)
 
        ;; want the bar number before the clef at line start. 
        (break-align-symbols . (left-edge staff-bar))
                              text-interface
                              break-alignable-interface
                              self-alignment-interface
-                             font-interface
-                             ))))
-       ))
+                             font-interface))))))
 
     (BassFigure
      . (
        (threshold . (2 . 1000))
        (positioning-done . ,ly:align-interface::calc-positioning-done)
        (Y-extent . ,ly:axis-group-interface::height)
-       (stacking-dir . -1)
+       (stacking-dir . ,DOWN)
        (padding . 0.2)
        (meta . ((class . Spanner)
                 (interfaces . (align-interface
        (padding . 0.5)
        (meta . ((class . Spanner)
                 (interfaces . (side-position-interface
-                               axis-group-interface
-                            ))))))
+                               axis-group-interface))))))
     
     (BassFigureBracket
      . (
        (X-extent . ,ly:enclosing-bracket::width)
        (edge-height . (0.2 . 0.2))
        (meta . ((class . Item)
-                (interfaces . (enclosing-bracket-interface)) ))
-       ))
+                (interfaces . (enclosing-bracket-interface))))))
+
     (BassFigureContinuation
      . (
        (stencil . ,ly:figured-bass-continuation::print)
        (Y-offset . ,ly:figured-bass-continuation::center-on-figures)
        (meta . ((class . Spanner)
-                (interfaces . (figured-bass-continuation-interface))
-                ))))
+                (interfaces . (figured-bass-continuation-interface))))))
+
     (BassFigureLine
      . (
        (axes . (,Y))
        (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
        (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
        (meta . ((class . Spanner)
-                (interfaces . (axis-group-interface
-                               ))))))
+                (interfaces . (axis-group-interface))))))
 
 
     (Beam
                 (interfaces . (font-interface
                                rhythmic-grob-interface
                                text-interface
-                               chord-name-interface
-                               ))))))
+                               chord-name-interface))))))
 
     (CombineTextScript
      . (
                        (first-note . (minimum-fixed-space . 0.0))
                        (right-edge . (extra-space . 0.1))))
        (meta . ((class . Item)
-                (interfaces
-                 . (custos-interface
-                    staff-symbol-referencer-interface
-                    font-interface
-                    break-aligned-interface))))))
+                (interfaces  . (custos-interface
+                                staff-symbol-referencer-interface
+                                font-interface
+                                break-aligned-interface))))))
 
     (DotColumn
      . (
        (stencil . ,ly:percent-repeat-item-interface::double-percent)
        (non-musical . #t)
        (slope . 1.0)
+       (dot-negative-kern . 0.75)
+       (slash-negative-kern . 1.6)
        (font-encoding . fetaMusic)
        (width . 2.0)
        (thickness . 0.48)
        (meta . ((class . Item)
                 (interfaces . (font-interface
                                break-aligned-interface
+                               percent-repeat-interface
                                percent-repeat-item-interface))))))
 
     (DoublePercentRepeatCounter
      . (
        (stencil . ,ly:text-interface::print)
-       (X-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-y-parent))
-                                                 ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))))
+       (X-offset . ,(ly:make-simple-closure
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::centered-on-y-parent))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (font-encoding . fetaNumber)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (font-size . -2) 
        (direction . ,UP)
        (padding . 0.2)
                 (interfaces . (side-position-interface
                                self-alignment-interface
                                percent-repeat-item-interface
+                               percent-repeat-interface
                                font-interface
                                text-interface))))))
+
     (DynamicLineSpanner
      . (
        (axes . (,Y))
        (positioning-done . ,ly:script-interface::calc-positioning-done)
 
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
-       (self-alignment-Y . 0)
+       (self-alignment-Y . ,CENTER)
        (font-series . bold)
        (font-encoding . fetaDynamic)
        (font-shape . italic)
        (avoid-slur . around)
        (slur-padding . 0.2)
        (staff-padding . 0.5)
-       (self-alignment-X . 0)
-       (self-alignment-Y . 0)
+       (self-alignment-X . ,CENTER)
+       (self-alignment-Y . ,CENTER)
        (script-priority . 100)
        (stencil . ,ly:text-interface::print)
        (direction . ,ly:script-interface::calc-direction)
                                text-script-interface
                                text-interface
                                side-position-interface
-                               self-alignment-interface
-                               ))))))
+                               self-alignment-interface))))))
+
     (FretBoard
      . ((stencil . ,fret-board::calc-stencil)
-       (finger-code . below-string)
+       (fret-diagram-details . ((finger-code . below-string)))
        (meta . ((class . Item)
                 (interfaces . (fret-diagram-interface
-                               font-interface
-                               ))))
-             ))
+                               font-interface))))))
+
+
     (Glissando
      . (
        (style . line)
        (shortest-duration-space . 1.6)
        (meta . ((class . Spanner)
                 (interfaces . (grace-spacing-interface
-                               
                                spacing-options-interface
                                spanner-interface))))))
+
     (GridPoint
      . (
        (X-extent . (0 . 0))
        (stencil . ,ly:grid-line-interface::print)
        (self-alignment-X . ,CENTER)
        (X-offset . ,(ly:make-simple-closure
-                     `(,+  ,(ly:make-simple-closure
-                             (list ly:self-alignment-interface::centered-on-x-parent))
-                           ,(ly:make-simple-closure
-                             (list ly:self-alignment-interface::x-aligned-on-self)))))
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::centered-on-x-parent))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self)))))
        (layer . 0)
        (meta . ((class . Item)
                 (interfaces . (self-alignment-interface
                                grid-line-interface))))))
 
+
     (Hairpin
      . (
        (stencil . ,ly:hairpin::print)
        (height . 0.6666)
        (minimum-length . 2.0)
        (bound-padding . 1.0)
-       (self-alignment-Y . 0)
+       (self-alignment-Y . ,CENTER)
        (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
        (meta . ((class . Spanner)
                 (interfaces . (hairpin-interface
                                side-position-interface
                                line-interface
                                spanner-interface))))))
+
+
     (InstrumentName
      . (
        (padding . 0.3)
        (meta . ((class . Spanner)
                 (interfaces . (system-start-text-interface
                                side-position-interface
+                               self-alignment-interface
                                font-interface))))))
 
     (InstrumentSwitch
      . (
-       (padding . 0.3)
+       (padding . 0.5)
        (stencil . ,ly:text-interface::print)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
-       (staff-padding . 2)
+       (staff-padding . 0.5)
        (direction . ,UP)
        (side-axis . ,Y)
-       (self-alignment-X . ,CENTER)
+       (self-alignment-X . ,LEFT)
+       (outside-staff-priority . 500)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (meta . ((class . Item)
                 (interfaces . (side-position-interface
+                               self-alignment-interface
+                               text-interface
                                font-interface))))))
+
     
     (KeyCancellation
      . (
        (meta . ((class . Item)
                 (interfaces . (key-cancellation-interface
                                key-signature-interface
+                               staff-symbol-referencer-interface
                                font-interface
                                break-aligned-interface))))))
+
     (KeySignature
      . (
        (stencil . ,ly:key-signature-interface::print)
        (non-musical . #t)
        (meta . ((class . Item)
                 (interfaces . (key-signature-interface
+                               staff-symbol-referencer-interface
                                font-interface
                                break-aligned-interface))))))
     
        (head-direction . ,LEFT)
        (thickness . 1.0)
        (meta . ((class . Item)
-                (interfaces . (semi-tie-interface))
-                ))
-       ))
+                (interfaces . (semi-tie-interface))))))
 
     (LaissezVibrerTieColumn
      . (
        (head-direction . ,LEFT)
        (positioning-done . ,ly:semi-tie-column::calc-positioning-done)
        (meta . ((class . Item)
-                (interfaces . (semi-tie-column-interface))
-                ))
-       ))
+                (interfaces . (semi-tie-column-interface))))))
 
     (LedgerLineSpanner
      . (
                 (interfaces . (line-interface
                                tuplet-bracket-interface))))))
 
-
     (LyricExtender
      . (
        (stencil . ,ly:lyric-extender::print)
        (X-extent . #f)
        (meta . ((class . Spanner)
                 (interfaces . (spanner-interface
-                               lyric-hyphen-interface ))
-                ))
-       ))
+                               lyric-hyphen-interface))))))
     
     (LyricText
      . (
        (stencil . ,lyric-text::print)
        (text . ,(grob::calc-property-by-copy 'text)) 
        (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (word-space . 0.6)
        (font-series . bold-narrow)
        (font-size . 1.0)
      . (
        (neutral-direction . ,DOWN)
        (meta . ((class . Item)
-                (interfaces . (melody-spanner-interface ))))))
+                (interfaces . (melody-spanner-interface))))))
+
     (MensuralLigature
      . (
        (thickness . 1.4)
                                font-interface
                                metronome-mark-interface))))))
 
-
     (MultiMeasureRest
      . (
        (stencil . ,ly:multi-measure-rest::print)
                                font-interface
                                staff-symbol-referencer-interface))))))
 
-
     (MultiMeasureRestNumber
      . (
        (bound-padding  . 2.0)
        (springs-and-rods . ,ly:multi-measure-rest::set-text-rods)
        (stencil . ,ly:text-interface::print)
        (X-offset . ,(ly:make-simple-closure
-                     `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))
-                          ,(ly:make-simple-closure (list ly:self-alignment-interface::x-centered-on-y-parent)))))
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-centered-on-y-parent)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (side-axis . ,Y)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,UP)
        (padding . 0.4)
        (staff-padding . 0.4)
                                multi-measure-interface
                                self-alignment-interface
                                font-interface
-                               text-interface))))
-             ))
+                               text-interface))))))
 
     (MultiMeasureRestText
      . (
        (stencil . ,ly:text-interface::print)
        (X-offset . ,(ly:make-simple-closure
-                     `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-centered-on-y-parent))
-                          ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))))
-       
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-centered-on-y-parent))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,UP)
        (padding . 0.2)
        (staff-padding . 0.25)
                                font-interface
                                text-interface))))))
 
+
     (NonMusicalPaperColumn
      . (
        (allow-loose-spacing . #t)
                                axis-group-interface
                                separation-item-interface
                                spaceable-grob-interface))))))
-    
+
     (NoteCollision
      . (
        (axes . (,X ,Y))
        (stencil . ,ly:note-head::print)
        (duration-log . ,note-head::calc-duration-log)
        (stem-attachment . ,ly:note-head::calc-stem-attachment)
-       (glyph-name . ,note-head::calc-glyph-name) 
+       (glyph-name . ,note-head::calc-glyph-name)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (X-offset . ,ly:note-head::stem-x-shift)
        (meta . ((class . Item)
                                text-interface
                                font-interface))))))
 
+
     (OctavateEight
      . (
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (break-visibility . ,begin-of-line-visible)
        (X-offset . ,(ly:make-simple-closure
-                     `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))
-                          ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)))))
-       
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::centered-on-x-parent)))))  
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (stencil . ,ly:text-interface::print)
        (font-shape . italic)
                                font-interface
                                text-interface))))))
 
+
     (PaperColumn
      . (
        (axes . (,X))
        (font-size . -6)
        (padding . 0.2)
        (meta . ((class . Item)
-                (interfaces . (parentheses-interface font-interface))))
-       ))
+                (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))))
-       ))
+                (interfaces . (parentheses-interface font-interface))))))
     
     (PhrasingSlur
      . ((details . ,default-slur-details)
        (meta . ((class . Spanner)
                 (interfaces . (slur-interface))))))
 
-
-
     (PercentRepeat
      . (
        (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
        (stencil . ,ly:multi-measure-rest::percent)
        (slope . 1.0)
        (thickness . 0.48)
+       (dot-negative-kern . 0.75)
        (font-encoding . fetaMusic)
        (meta . ((class . Spanner)
                 (interfaces . (multi-measure-rest-interface
                                font-interface
-                               percent-repeat-item-interface))))))
+                               percent-repeat-interface))))))
+
     (PercentRepeatCounter
      . (
        (stencil . ,ly:text-interface::print)
        (X-offset . ,(ly:make-simple-closure
-                     `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-centered-on-y-parent))
-                          ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))))
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-centered-on-y-parent))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,UP)
        (padding . 0.2)
        (staff-padding . 0.25)
        (meta . ((class . Spanner)
                 (interfaces . (side-position-interface
                                self-alignment-interface
-                               percent-repeat-item-interface
+                               percent-repeat-interface
                                font-interface
                                text-interface))))))
 
                                piano-pedal-interface
                                piano-pedal-bracket-interface))))))
 
+
     (RehearsalMark
      . (
        (stencil . ,ly:text-interface::print)
                          (list ly:break-alignable-interface::self-align-callback))
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
-
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (extra-spacing-width . (+inf.0 . -inf.0))
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,UP)
        (non-musical . #t)
        (font-size . 2)
        (slope . 1.7)
        (meta . ((class . Item)
                 (interfaces . (rhythmic-grob-interface
+                               percent-repeat-interface
                                percent-repeat-item-interface))))))
 
     (RepeatTie
        (thickness . 1.0)
        (head-direction . ,RIGHT)
        (meta . ((class . Item)
-                (interfaces . (semi-tie-interface))
-                ))
-       ))
+                (interfaces . (semi-tie-interface))))))
 
     (RepeatTieColumn
      . (
        
        (positioning-done . ,ly:semi-tie-column::calc-positioning-done)
        (meta . ((class . Item)
-                (interfaces . (semi-tie-column-interface))
-                ))
-       ))
+                (interfaces . (semi-tie-column-interface))))))
 
     (Rest
      . (
        (Y-extent . ,ly:rest::height)
        (Y-offset . ,ly:rest::y-offset-callback)
        (minimum-distance . 0.25)
+       (cross-staff . ,ly:rest::calc-cross-staff)
        (meta . ((class . Item)
                 (interfaces . (font-interface
                                rhythmic-head-interface
        (meta . ((class . Item)
                 (interfaces . (rest-collision-interface))))))
 
+
     (Script
      . (
        ;; don't set direction here: it breaks staccato.
        (before-line-breaking . ,ly:script-column::before-line-breaking)
        (meta . ((class . Item)
                 (interfaces . (script-column-interface))))))
+
     (ScriptRow
      . (
        (before-line-breaking . ,ly:script-column::row-before-line-breaking)
        (horizontal-skylines . ,ly:separation-item::calc-skylines)
        (stencil . ,ly:separation-item::print)
        (meta . ((class . Item)
-                (interfaces . (
-                               separation-item-interface))))))
+                (interfaces . (separation-item-interface))))))
 
     (Slur
-     . ((details . ,default-slur-details)
+     . (
+       (details . ,default-slur-details)
        (control-points . ,ly:slur::calc-control-points)
        (direction . ,ly:slur::calc-direction)
        (springs-and-rods . ,ly:spanner::set-spacing-rods)
        (extra-spacing-width . (+inf.0 . -inf.0))
        (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
        (font-shape . italic)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (meta . ((class . Item)
                 (interfaces . (text-interface
                                self-alignment-interface
                 (interfaces . (piano-pedal-interface
                                axis-group-interface
                                side-position-interface))))))
+
     (SpacingSpanner
      . (
        (springs-and-rods . ,ly:spacing-spanner::set-springs)
        
        (base-shortest-duration . ,(ly:make-moment 3 16))
        (meta . ((class . Spanner)
-                (interfaces . (
-                               spacing-options-interface                               
+                (interfaces . (spacing-options-interface
                                spacing-spanner-interface))))))
 
     (SpanBar
                                text-interface
                                font-interface))))))
 
-
     (StaffSpacing
      . (
        (non-musical . #t)
        (meta . ((class . Item)
                 (interfaces . (spacing-interface
                                staff-spacing-interface))))))
-
    
     (StaffSymbol
      . (
        (length . ,ly:stem::calc-length)
        (thickness . 1.3)
        (cross-staff . ,ly:stem::calc-cross-staff)
+       (flag . ,ly:stem::calc-flag)
        (details
         . (
            ;; 3.5 (or 3 measured from note head) is standard length
        (text . ,string-number::calc-text)
        (padding . 0.5)
        (staff-padding . 0.5)
-       (self-alignment-X . 0)
-       (self-alignment-Y . 0)
+       (self-alignment-X . ,CENTER)
+       (self-alignment-Y . ,CENTER)
        (script-priority . 100)
+       (avoid-slur . around)
        (font-encoding . fetaNumber)
        (font-size . -5)                ; don't overlap when next to heads.
        (meta . ((class . Item)
                                text-script-interface
                                text-interface
                                side-position-interface
-                               self-alignment-interface
-                               ))))))
+                               self-alignment-interface))))))
     
     (StrokeFinger
      . (
        (digit-names . #("p" "i" "m" "a" "x"))
        (padding . 0.5)
        (staff-padding . 0.5)
-       (self-alignment-X . 0)
-       (self-alignment-Y . 0)
+       (self-alignment-X . ,CENTER)
+       (self-alignment-Y . ,CENTER)
        (script-priority . 100)
        (font-shape . italic)
        (font-size . -4)                ; don't overlap when next to heads.
                                text-script-interface
                                text-interface
                                side-position-interface
-                               self-alignment-interface
-                               ))))))
-    
+                               self-alignment-interface))))))    
 
     (SustainPedal
      . (
        (extra-spacing-width . (+inf.0 . -inf.0))
        (stencil . ,ly:sustain-pedal::print)
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,RIGHT)
        (padding . 0.0)  ;; padding relative to SustainPedalLineSpanner
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
                                side-position-interface
                                font-interface))))))
 
-
     (SystemStartSquare
      . (
        (Y-extent . #f)
                 (interfaces . (font-interface
                                side-position-interface
                                system-start-delimiter-interface))))))
+
     (SystemStartBracket
      . (
        (Y-extent . #f)
                 (interfaces . (side-position-interface
                                system-start-delimiter-interface))))))
 
+
     (TabNoteHead
      . (
        (stencil . ,ly:text-interface::print)
+       (duration-log . ,note-head::calc-duration-log)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
-       (direction . 0)
+       (direction . ,CENTER)
        (font-size . -2)
        (stem-attachment . (0.0 . 1.35))
        (font-series . bold)
        (meta . ((class . Item)
-                (interfaces
-                 . (rhythmic-head-interface
-                    font-interface rhythmic-grob-interface
-                    note-head-interface
-                    staff-symbol-referencer-interface
-                    text-interface))))))
+                (interfaces  . (rhythmic-head-interface
+                                font-interface
+                                rhythmic-grob-interface
+                                note-head-interface
+                                staff-symbol-referencer-interface
+                                text-interface))))))
 
     (TextScript
      . (
        (meta . ((class . Item)
                 (interfaces . (text-script-interface
                                text-interface
+                               instrument-specific-markup-interface
                                side-position-interface
                                font-interface))))))
 
                                   ))
                          (right . ((Y . 0)
                                    (padding . 0.25)
-                                  ))
+                                   ))
                          ))
        (stencil . ,ly:line-spanner::print)
 
        (meta . ((class . Spanner)
                 (interfaces . (line-spanner-interface
+                               line-interface
                                side-position-interface
                                font-interface))))))
 
                    (outer-tie-length-symmetry-penalty-factor . 10)
                    (vertical-distance-penalty-factor . 7)
                    (outer-tie-vertical-gap . 0.25)
-                   (multi-tie-region-size . 1)
+                   (multi-tie-region-size . 3)
                    (single-tie-region-size . 4)
                    (between-length-limit . 1.0)))
        
        (thickness . 1.2)
        (line-thickness . 0.8)
        (meta . ((class . Spanner)
-                (interfaces . (tie-interface))))
-       ))
+                (interfaces . (tie-interface))))))
 
     (TieColumn
      . (
         . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
        (break-visibility . ,all-visible)
        (avoid-slur . inside)
+       (extra-spacing-height . (-1.0 . 1.0))
        (space-alist . (
                        (first-note . (fixed-space . 2.0))
                        (right-edge . (extra-space . 0.5))
                 (interfaces . (side-position-interface
                                parentheses-interface
                                note-head-interface
-                               rhythmic-head-interface
                                font-interface
                                axis-group-interface))))))
 
        (edge-height . (0.7 . 0.7))
        (shorten-pair . (-0.2 . -0.2))
        (staff-padding . 0.25)
+       (full-length-to-extent . #t)
        (direction  . ,ly:tuplet-bracket::calc-direction)
        (positions . ,ly:tuplet-bracket::calc-positions)
        (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
        (meta . ((class . Spanner)
                 (interfaces . (text-interface tuplet-number-interface
                                font-interface))))))
+
     
     (UnaCordaPedal
      . (
        (stencil . ,ly:text-interface::print)
        (font-shape . italic)
        (extra-spacing-width . (+inf.0 . -inf.0))
-       (self-alignment-X . 0)
+       (self-alignment-X . ,CENTER)
        (direction . ,RIGHT)
        (padding . 0.0)  ;; padding relative to UnaCordaPedalLineSpanner
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
                                axis-group-interface
                                side-position-interface))))))
 
+
     (VaticanaLigature
      . (
        (thickness . 0.6)
                 (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)))
                 (interfaces . (align-interface
                                axis-group-interface))))))
+
     (VerticalAxisGroup
      . (
        (axes . (,Y))
                                hara-kiri-group-spanner-interface
                                vertically-spaceable-interface))))))
 
-
     (VoltaBracket
      . (
        (stencil . ,ly:volta-bracket-interface::print)
        (thickness . 1.6)  ;;  line-thickness
        (edge-height . (2.0 . 2.0)) ;; staff-space;
        (font-size . -4)
+       (word-space . 0.6)
        (direction . ,UP)
        (meta . ((class . Spanner)
                 (interfaces . (volta-bracket-interface
                                line-interface
                                text-interface
                                side-position-interface
-                               font-interface)))
-             )))
+                               font-interface))))))
 
     (VoltaBracketSpanner
      . (       
        (no-alignment . ,#t)
        (meta . ((class . Spanner)
                 (interfaces . (side-position-interface
-                               axis-group-interface)))
-             )))
+                               axis-group-interface))))))
 
     (VoiceFollower
      . (
        (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
        (meta . ((class . Spanner)
                 (interfaces . (line-spanner-interface
-                               line-interface))))
-       ))
+                               line-interface))))))
 
 ))
 
 
 (define pure-print-callbacks
   (list
+   fret-board::calc-stencil
    print-circled-text-callback
    lyric-text::print
    ly:arpeggio::print