]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Break-alignable metronome marks: remove hardcoding of time signature.
[lilypond.git] / scm / define-grobs.scm
index 92a62bfcef39a24f0f74231c67d855478d57a6bc..8b9a1f1dc399699dfd3651dac5f010781b6fe6f5 100644 (file)
@@ -53,7 +53,6 @@
     (AccidentalPlacement
      . (
        (direction .  ,LEFT)
-       (left-padding . 0.2)
        (positioning-done . ,ly:accidental-placement::calc-positioning-done)
 
        ;; this is quite small, but it is very ugly to have
        (side-axis . ,Y)
        (stencil . ,ly:text-interface::print)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
+       (X-offset . ,(ly:make-simple-closure
+                     `(,+
+                       ,(ly:make-simple-closure
+                         (list ly:break-alignable-interface::self-align-callback))
+                       ,(ly:make-simple-closure
+                         (list ly:self-alignment-interface::x-aligned-on-self)))))
+       (self-alignment-X . -1)
+       (break-align-symbol . time-signature)
+       (break-align-symbols . (time-signature))
        (meta . ((class . Item)
                 (interfaces . (font-interface
                                metronome-mark-interface
                                side-position-interface
+                               break-alignable-interface
                                text-interface))))))
 
     (MultiMeasureRest
        (expand-limit . 10)
        (hair-thickness . 2.0)
        (padding . 1)
+       (spacing-pair . (break-alignment . staff-bar))
        (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
        (staff-position . 0)
        (stencil . ,ly:multi-measure-rest::print)
        (dot-negative-kern . 0.75)
        (font-encoding . fetaMusic)
        (slope . 1.0)
+       (spacing-pair . (break-alignment . staff-bar))
        (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
        (stencil . ,ly:multi-measure-rest::percent)
        (thickness . 0.48)
        (break-align-anchor
         . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
        (break-align-symbol . time-signature)
+       (break-align-anchor-alignment . ,LEFT)
        (break-visibility . ,all-visible)
        (extra-spacing-height . (-1.0 . 1.0))
        (non-musical . #t)
                                      (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
 
                 (interfaces . (axis-group-interface
-                               hara-kiri-group-spanner-interface
-                               vertically-spaceable-interface))))))
+                               hara-kiri-group-spanner-interface))))))
 
     (VoiceFollower
      . (
    ly:clef::print
    ly:percent-repeat-item-interface::beat-slash
    ly:text-interface::print
-   ly:script-interface::print))
+   ly:script-interface::print
+   ly:sustain-pedal::print))
 
 ;; Sometimes we have grobs with (Y-extent . ,ly:grob::stencil-height)
 ;; and the print function is not pure, but there is a easy way to
     (,ly:rest::height . ,ly:rest::pure-height)
     (,ly:self-alignment-interface::y-aligned-on-self . ,ly:self-alignment-interface::pure-y-aligned-on-self)
     (,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
-    (,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
     (,ly:slur::height . ,ly:slur::pure-height)
     (,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
     (,ly:stem::height . ,ly:stem::pure-height)