]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
(self_align_callback): oops: use
[lilypond.git] / scm / define-grobs.scm
index d4c363604361eadeca8ca4065d954aa52aa52646..94218f824ac5a97693dd4b10a41e281dc32ea534 100644 (file)
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
 
        (self-alignment-X . 1)
-       (break-align-symbol . left-edge)
+
+;; 
+;;     (break-align-symbol . left-edge)
        (meta .
              ((class . Item)
               (interfaces . (side-position-interface
                                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)
      . (
        ;; don't set direction here: it breaks staccato.
 
-       ;; This value is sensitive: if too large, staccato dots will move a
-       ;; space a away.
-       (padding . 0.20)
+       ;; padding set in script definitions.
        (staff-padding . 0.25)
        ;; (script-priority . 0) priorities for scripts, see script.scm
        (X-offset . , ly:self-alignment-interface::centered-on-x-parent)
-       
 
        (stencil . ,ly:script-interface::print)
        (direction . ,ly:script-interface::calc-direction)
     (Tie
      . (
        (control-points . ,ly:tie::calc-control-points)
+       (springs-and-rods . ,ly:spanner::set-spacing-rods)
        (avoid-slur . inside)
        (direction . ,ly:tie::calc-direction)
        (stencil . ,ly:tie::print)
                    (outer-tie-vertical-gap . 0.25)
                    (multi-tie-region-size . 1)
                    (between-length-limit . 1.0)))
+       
        (thickness . 1.2)
        (line-thickness . 0.8)
        (meta . ((class . Spanner)
        (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))