]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Make pure-height on accidentals ignore tied accidentals after breaks.
[lilypond.git] / scm / define-grobs.scm
index 994b5e11d88ba4b25ee5713a17f7afb6825bda05..33493aabdf55f106378bd7c144c04d9993b37118 100644 (file)
     (Accidental
      . (
        (avoid-slur . inside)
-       (cautionary-style . parentheses)
+       (glyph-name-alist . ,standard-alteration-glyph-name-alist)
+       (alteration . ,accidental-interface::calc-alteration) 
        (stencil . ,ly:accidental-interface::print)
+       (pure-Y-extent . ,ly:accidental-interface::pure-height)
        (after-line-breaking
         . ,ly:accidental-interface::after-line-breaking)
        (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) 
+       (stencil . ,ly:accidental-interface::print)
+       (pure-Y-extent . ,ly:accidental-interface::pure-height)
+       (after-line-breaking
+        . ,ly:accidental-interface::after-line-breaking)
+       (meta . ((class . Item)
+                (interfaces . (accidental-interface
+                               font-interface))))))
+
     
     (AccidentalSuggestion
      . (
                        ,(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)))))
        (self-alignment-X . ,CENTER)
-       (cautionary . #t)
-       (cautionary-style . smaller)
+       (font-size . -2)
+       (glyph-name-alist . ,standard-alteration-glyph-name-alist)
+       (alteration . ,accidental-interface::calc-alteration)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
-       (cautionary-style . parentheses)
        (direction . ,UP)
        (staff-padding . 0.25)
+       (outside-staff-priority . 0)
        (script-priority . 0)
        (side-axis . ,X)
        (meta . ((class . Item)
        (padding . 0.5)
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (direction . ,LEFT)
-       (cautionary-style . parentheses)
        (stencil . ,ly:accidental-interface::print)
+       (pure-Y-extent . ,ly:accidental-interface::pure-height)
+       (glyph-name-alist . ,standard-alteration-glyph-name-alist)      
        (after-line-breaking . ,ly:accidental-interface::after-line-breaking)
        (side-axis . ,X)
        (meta . ((class . Item)
        (layer . 0)
        (break-visibility . ,all-visible)
        (non-musical . #t)
+       (extra-spacing-width . (-0.3 . 0.3))
 
        (stencil . ,ly:bar-line::print)
        (glyph-name . ,bar-line::calc-glyph-name)
        (font-size . -2)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (side-axis . ,Y)
+       (outside-staff-priority . 100)
        (X-offset . ,(ly:make-simple-closure
                      `(,+
                        ,(ly:make-simple-closure
        (positioning-done . ,ly:align-interface::calc-positioning-done)
        (Y-extent . ,ly:axis-group-interface::height)
        (stacking-dir . -1)
+       (padding . 0.2)
        (meta . ((class . Spanner)
                 (interfaces . (align-interface
                                bass-figure-alignment-interface
      . (
        (axes . (,Y))
        (Y-extent . ,ly:axis-group-interface::height)
+       (skylines . ,ly:axis-group-interface::calc-skylines)
        (meta . ((class . Spanner)
                 (interfaces . (axis-group-interface
                                ))))))
      . (
        (Y-extent . ,ly:cluster-beacon::height)
        (meta . ((class . Item)
-                (interfaces . (cluster-beacon-interface))))))
+                (interfaces . (rhythmic-grob-interface
+                               cluster-beacon-interface))))))
 
     (ClusterSpanner
      . (
     (CombineTextScript
      . (
        (stencil . ,ly:text-interface::print)
-       (no-spacing-rods . #t)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (direction . ,UP)
        (font-encoding . fetaDynamic)
        (font-shape . italic)
        (avoid-slur . around)
-       (no-spacing-rods . #t)
-       (script-priority . 100)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (outside-staff-priority . 250)
        (meta . ((class . Item)
                 (interfaces . (font-interface
     (KeyCancellation
      . (
        (stencil . ,ly:key-signature-interface::print)
+       (glyph-name-alist . ,cancellation-glyph-name-alist)
        (space-alist . (
                        (time-signature . (extra-space . 1.25))
                        (staff-bar . (extra-space . 0.6))
        (break-visibility . ,begin-of-line-invisible)
        (non-musical . #t)
        (meta . ((class . Item)
-                (interfaces . (key-signature-interface
+                (interfaces . (key-cancellation-interface
+                               key-signature-interface
                                font-interface
                                break-aligned-interface))))))
     (KeySignature
      . (
        (stencil . ,ly:key-signature-interface::print)
        (avoid-slur . inside)
+       (glyph-name-alist . ,standard-alteration-glyph-name-alist)
        (space-alist . (
                        (time-signature . (extra-space . 1.15))
                        (staff-bar . (extra-space . 1.1))
        (direction . ,UP)
        (padding . 0.8)
        (side-axis . ,Y)
+       (outside-staff-priority . 1000)
        (meta . ((class . Item)
                 (interfaces . (text-interface
                                side-position-interface
        
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (stencil . ,ly:text-interface::print)
-
-       ;; no Y dimensions, because of lyrics under tenor clef.
-       (Y-extent . (0 . 0))
        (font-shape . italic)
-       (padding . 0.6)
        (staff-padding . 0.2)
        (font-size . -4)
        (meta . ((class . Item)
        (font-size . 2)
        (baseline-skip . 2)
        (break-visibility . ,end-of-line-invisible)
-       (break-align-symbol . staff-bar)
+       (break-align-symbol . clef)
        (padding . 0.8)
-       (outside-staff-priority . 1000)
+       (outside-staff-priority . 1500)
        (meta . ((class . Item)
                 (interfaces . (text-interface
                                side-position-interface
        (thickness . 0.48)
        (slope . 1.7)
        (meta . ((class . Item)
-                (interfaces . (percent-repeat-item-interface))))))
+                (interfaces . (rhythmic-grob-interface
+                               percent-repeat-item-interface))))))
 
     (RepeatTie
      . (
        (stencil . ,ly:text-interface::print)
        (direction . ,RIGHT)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
-       (no-spacing-rods . #t)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
        (font-shape . italic)
        (self-alignment-X . 0)
 
     (SustainPedal
      . (
-       (no-spacing-rods . #t)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (stencil . ,ly:sustain-pedal::print)
        (self-alignment-X . 0)
        (direction . ,RIGHT)
        (axes . (0 1))
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
-       (skyline-spacing . #t)
+       (skylines . ,ly:axis-group-interface::calc-skylines)
        (skyline-horizontal-padding . 1.0)
        (meta . ((class . System)
                 (interfaces . (system-interface
 
     (TextScript
      . (
-       (no-spacing-rods . #t)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (side-axis . ,Y)
        (font-size . -4)
        (side-axis . ,X)
        (stencil . ,ly:accidental-interface::print)
+       (glyph-name-alist . ,standard-alteration-glyph-name-alist)
        (meta . ((class . Item)
                 (interfaces . (item-interface
                                trill-pitch-accidental-interface
                                note-head-interface
                                rhythmic-head-interface
                                font-interface
-                               accidental-interface
                                axis-group-interface))))))
 
     (TrillPitchHead
      . (
        (stencil . ,ly:text-interface::print)
        (font-shape . italic)
-       (no-spacing-rods . #t)
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (self-alignment-X . 0)
        (direction . ,RIGHT)
        (padding . 0.0)  ;; padding relative to UnaCordaPedalLineSpanner
        (Y-extent . ,ly:axis-group-interface::height)
        (X-extent . ,ly:axis-group-interface::width)
        (stacking-dir . -1)
-       (padding . 0.1) 
+       (padding . 0.5)
+       (skylines . ,ly:axis-group-interface::combine-skylines)
        (meta . ((class . Spanner)
                 (interfaces . (align-interface
                                axis-group-interface))))))
        (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback)
        (Y-extent . ,ly:hara-kiri-group-spanner::y-extent)
        (X-extent . ,ly:axis-group-interface::width)
-       (skyline-spacing . #t)
+       (skylines . ,ly:axis-group-interface::calc-skylines);
        (meta . ((class . Spanner)
                 (interfaces . (axis-group-interface
                                hara-kiri-group-spanner-interface
 
 (define pure-print-callbacks
   (list
+   ly:bar-line::print
    ly:note-head::print
    ly:accidental-interface::print
    ly:dots::print
         (ly:stencil? sten)
         (memq sten pure-print-callbacks))
        (ly:grob::stencil-height grob)
-
        '(0 . 0))))
 
 (define pure-conversions-alist
              (apply unpure args)
              (let ((pure (assq unpure pure-conversions-alist)))
                (if pure
-                   (apply (cdr pure) (append (list (car args) start end) (cdr args)))))))))
+                   (apply (cdr pure)
+                          (append
+                           (list (car args) start end)
+                           (cdr args)))))))))