]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Metronome-mark: process Neil's comments: cleanups and fixing warnings.
[lilypond.git] / scm / define-grobs.scm
index c13e099a0a4e5a2f7bc2e2fb458ad387f8ff9ec0..8a7689a6a6d221389a4999e0ae1133c02a61a832 100644 (file)
                               key-cancellation
                               key-signature
                               time-signature
+                              metronome-mark
                               custos)
 
                              ;; unbroken
                               key-cancellation
                               key-signature
                               time-signature
+                              metronome-mark
                               custos)
 
                              ;; begin of line
                               key-signature
                               staff-bar
                               time-signature
+                              metronome-mark
                               custos)))
        (non-musical . #t)
        (positioning-done . ,ly:break-alignment-interface::calc-positioning-done)
     (MetronomeMark
      . (
        (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
+       (break-visibility . ,end-of-line-invisible)
        (direction . ,UP)
        (extra-spacing-width . (+inf.0 . -inf.0))
        (outside-staff-priority . 1000)
        (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 . ,LEFT)
+       (break-align-symbol . metronome-mark)
+       (break-align-symbols . (key-signature time-signature metronome-mark))
+       (non-break-align-symbols . (multi-measure-rest))
        (meta . ((class . Item)
-                (interfaces . (font-interface
+                (interfaces . (break-alignable-interface
+                               break-aligned-interface
+                               font-interface
                                metronome-mark-interface
+                               self-alignment-interface
                                side-position-interface
                                text-interface))))))
 
        (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)
    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