]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
* lily/note-column.cc: reformat.
[lilypond.git] / scm / define-grobs.scm
index e0db11afd09c29156920550d8c293d3ab0eccb4d..05b7d5eb2c74de0863bf720945892709b57e463b 100644 (file)
      . (
        (break-align-symbol . staff-bar)
        (glyph . "|")
+       (gap . 0.4)
        (layer . 0)
        (break-visibility . ,all-visible)
        (non-musical . #t)
                 (interfaces . (line-interface
                                line-spanner-interface))))))
 
+    (GraceSpacing
+     . (
+       (common-shortest-duration . ,grace-spacing::calc-shortest-duration)
+       (spacing-increment . 0.8)
+       (shortest-duration-space . 1.6)
+       (meta . ((class . Spanner)
+                (interfaces . (grace-spacing-interface
+                               spacing-interface
+                               spacing-options-interface
+                               spanner-interface))))))
     (GridPoint
      . (
        (X-extent . (0 . 0))
                                side-position-interface
                                font-interface))))))
 
+    (InstrumentSwitch
+     . (
+       (padding . 0.3)
+       (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)
+       (direction . ,UP)
+       (self-alignment-X . ,CENTER)
+       (meta . ((class . Item)
+                (interfaces . (system-start-text-interface
+                               side-position-interface
+                               font-interface))))))
+    
     (KeyCancellation
      . (
        (stencil . ,ly:key-signature-interface::print)
        
        (non-musical . #t)
        (line-break-permission . allow)
+       (page-break-permission . allow)
 
        ;; debugging stuff: print column number.
        ;;               (font-size . -6) (font-name . "sans")  (Y-extent . #f)
     (SpacingSpanner
      . (
        (springs-and-rods . ,ly:spacing-spanner::set-springs)
-       (common-shortest-duration ly:spacing-spanner::calc-common-shortest-duration)
+       (common-shortest-duration . ,ly:spacing-spanner::calc-common-shortest-duration)
        (average-spacing-wishes . #t)
-       (grace-space-factor . 0.6)
        (shortest-duration-space . 2.0)
        (spacing-increment . 1.2)
+       
        (base-shortest-duration . ,(ly:make-moment 3 16))
        (meta . ((class . Spanner)
                 (interfaces . (spacing-interface
+                               spacing-options-interface                               
                                spacing-spanner-interface))))))
 
     (SpanBar
     (Tie
      . (
        (control-points . ,ly:tie::calc-control-points)
+       (springs-and-rods . ,ly:spacing-spanner::set-springs)
        (avoid-slur . inside)
        (direction . ,ly:tie::calc-direction)
        (stencil . ,ly:tie::print)
        (stencil . ,ly:accidental-interface::print)
        (meta . ((class . Item)
                 (interfaces . (item-interface
-                               accidental-interface
                                side-position-interface
                                font-interface))))))
 
   (list
    `(,ly:note-head::print . '())
    `(,ly:clef::print . '())
-   `(,ly:text-interface::print . '())))
+   `(,ly:text-interface::print . '())
+   `(,ly:script-interface::print . '())))
 
 ;; ly:grob::stencil-extent is safe iff the print callback is safe too
 (define (pure-stencil-height grob start stop)
    `(,ly:grob::stencil-height . ,pure-stencil-height)
    `(,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
    `(,ly:axis-group-interface::height . ,ly:axis-group-interface::pure-height)
-   `(,ly:hara-kiri-group-spanner::y-extent . ,ly:hara-kiri-group-spanner::pure-height)))
+   `(,ly:hara-kiri-group-spanner::y-extent . ,ly:hara-kiri-group-spanner::pure-height)
+   `(,ly:slur::height . ,ly:slur::pure-height)))
 
 (define pure-Y-offsets
   (list
 (define-public (pure-relevant grob)
   (let ((extent-callback (ly:grob-property-data grob 'Y-extent)))
     (or
+     (pair? extent-callback)
      (pair? (assq extent-callback pure-Y-extents))
      (and
       (pair? (assq extent-callback Y-extent-conversions))