(glyph-name-alist . ,standard-alteration-glyph-name-alist)
(alteration . ,accidental-interface::calc-alteration)
(stencil . ,ly:accidental-interface::print)
- (after-line-breaking
- . ,ly:accidental-interface::after-line-breaking)
+ (Y-extent . ,ly:accidental-interface::height)
(meta . ((class . Item)
(interfaces . (accidental-interface
font-interface))))))
(glyph-name-alist . ,standard-alteration-glyph-name-alist)
(alteration . ,accidental-interface::calc-alteration)
(stencil . ,ly:accidental-interface::print)
- (after-line-breaking
- . ,ly:accidental-interface::after-line-breaking)
+ (Y-extent . ,ly:accidental-interface::height)
(meta . ((class . Item)
(interfaces . (accidental-interface
font-interface))))))
(AccidentalSuggestion
. (
(stencil . ,ly:accidental-interface::print)
+ (Y-extent . ,ly:accidental-interface::height)
(X-offset . ,(ly:make-simple-closure
`(,+
,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent))
(X-offset . ,ly:side-position-interface::x-aligned-side)
(direction . ,LEFT)
(stencil . ,ly:accidental-interface::print)
+ (Y-extent . ,ly:accidental-interface::height)
(glyph-name-alist . ,standard-alteration-glyph-name-alist)
- (after-line-breaking . ,ly:accidental-interface::after-line-breaking)
(side-axis . ,X)
(meta . ((class . Item)
(interfaces . (
(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)
(bar-size . ,ly:bar-line::calc-bar-size)
(key-signature . (extra-space . 1.0))
(key-cancellation . (extra-space . 1.0))
(first-note . (fixed-space . 1.3))
- (next-note . (semi-fixed-space . 1.3))
+ (next-note . (semi-fixed-space . 0.9))
(right-edge . (extra-space . 0.0))))
;;
(beaming . ,ly:beam::calc-beaming)
(stencil . ,ly:beam::print)
(clip-edges . #t)
+ (cross-staff . ,ly:beam::cross-staff)
(details . ((hint-direction-penalty . 20)))
;; TODO: should be in SLT.
;; only for debugging.
(font-family . roman)
(meta . ((class . Spanner)
+ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
(interfaces . (staff-symbol-referencer-interface
+ unbreakable-spanner-interface
beam-interface))))))
(BendAfter
. (
(stencil . ,ly:dots::print)
(dot-count . ,dots::calc-dot-count)
+ (staff-position . ,dots::calc-staff-position)
(meta . ((class . Item)
(interfaces . (font-interface
staff-symbol-referencer-interface
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(staff-padding . 0.1)
(padding . 0.6)
- (avoid-slur . outside)
(slur-padding . 0.3)
(minimum-space . 1.2)
(direction . ,DOWN)
(font-series . bold)
(font-encoding . fetaDynamic)
(font-shape . italic)
- (avoid-slur . around)
(extra-spacing-width . (+inf.0 . -inf.0))
(outside-staff-priority . 250)
(meta . ((class . Item)
(DynamicTextSpanner
. (
- (stencil . ,ly:dynamic-text-spanner::print)
-
;; rather ugh with NCSB
;; (font-series . bold)
(font-shape . italic)
(style . dashed-line)
+ ;; make sure the spanner doesn't get too close to notes
+ (minimum-Y-extent . (-1 . 1))
+ (bound-details . ((right . ((attach-dir . ,LEFT)
+ (Y . 0)
+ (padding . 0.75)
+ ))
+ (right-broken . ((attach-dir . ,RIGHT)
+ (padding . 0.0)
+ ))
+
+ (left . ((attach-dir . ,LEFT)
+ (Y . 0)
+ (stencil-offset . (0 . -0.5))
+ (padding . 0.5)
+ ))
+ (left-broken . ((attach-dir . ,RIGHT)
+ ))
+ ))
+ (stencil . ,ly:line-spanner::print)
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info-and-text)
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+
;; need to blend with dynamic texts.
(font-size . 1)
- (bound-padding . 0.75)
(dash-fraction . 0.2)
(dash-period . 3.0)
(meta . ((class . Spanner)
(interfaces . (font-interface
text-interface
line-spanner-interface
+ line-interface
dynamic-interface
dynamic-text-spanner-interface
spanner-interface))))))
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
-
- (after-line-breaking . ,(lambda (grob)
- (display (list
- (ly:grob-extent grob (ly:grob-parent grob X) X)
- " "
- (ly:grob-relative-coordinate grob (ly:grob-parent grob X) X) "\n"))))
-
(stencil . ,ly:text-interface::print)
(direction . ,ly:script-interface::calc-direction)
(text . ,fingering::calc-text)
(zigzag-width . 0.75)
(X-extent . #f)
(Y-extent . #f)
+ (bound-details . ((right . ((attach-dir . ,CENTER)
+ (padding . 1.5)
+ ))
+ (left . ((attach-dir . ,CENTER)
+ (padding . 1.5)
+ ))
+ ))
(stencil . ,ly:line-spanner::print)
- (after-line-breaking . ,ly:line-spanner::after-line-breaking)
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
(meta . ((class . Spanner)
(interfaces . (line-interface
+ unbreakable-spanner-interface
line-spanner-interface))))))
(GraceSpacing
(shortest-duration-space . 1.6)
(meta . ((class . Spanner)
(interfaces . (grace-spacing-interface
- spacing-interface
+
spacing-options-interface
spanner-interface))))))
(GridPoint
(X-extent . #f)
(meta . ((class . Spanner)
(interfaces . (spanner-interface
- lyric-hyphen-interface spacing-interface))
+ lyric-hyphen-interface ))
))
))
. (
(neutral-direction . ,DOWN)
(meta . ((class . Item)
- (interfaces . (melody-spanner-interface spacing-interface))))))
+ (interfaces . (melody-spanner-interface ))))))
(MensuralLigature
. (
(thickness . 1.4)
;; If you ever change this back, please document! --hwn
(knee-spacing-correction . 1.0)
(meta . ((class . Item)
- (interfaces . (spacing-interface
+ (interfaces . (
note-spacing-interface))))))
(NoteName
(minimum-length . 1.5)
(height-limit . 2.0)
(ratio . 0.333)
+ (cross-staff . ,ly:slur::cross-staff)
(meta . ((class . Spanner)
(interfaces . (slur-interface))))))
(Y-extent . ,ly:axis-group-interface::height)
(skylines . ,ly:separation-item::calc-skylines)
(meta . ((class . Item)
- (interfaces . (spacing-interface
+ (interfaces . (
separation-item-interface))))))
(SeparatingGroupSpanner
(springs-and-rods . ,ly:separating-group-spanner::set-spacing-rods)
(meta . ((class . Spanner)
(interfaces . (only-prebreak-interface
- spacing-interface
+
separating-group-spanner-interface))))))
(Slur
(height-limit . 2.0)
(ratio . 0.25)
(avoid-slur . inside)
+ (cross-staff . ,ly:slur::cross-staff)
(meta . ((class . Spanner)
(interfaces . (slur-interface))))))
(base-shortest-duration . ,(ly:make-moment 3 16))
(meta . ((class . Spanner)
- (interfaces . (spacing-interface
+ (interfaces . (
spacing-options-interface
spacing-spanner-interface))))))
(non-musical . #t)
(stem-spacing-correction . 0.4)
(meta . ((class . Item)
- (interfaces . (spacing-interface
- staff-spacing-interface))))))
+ (interfaces . (staff-spacing-interface))))))
(StaffSymbol
(Y-extent . ,ly:stem::height)
(length . ,ly:stem::calc-length)
(thickness . 1.3)
+ (cross-staff . ,ly:stem::cross-staff)
(details
. (
;; 3.5 (or 3 measured from note head) is standard length
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(meta . ((class . Item)
(interfaces . (piano-pedal-interface
- text-spanner-interface
- line-spanner-interface
text-interface
self-alignment-interface
piano-pedal-script-interface
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(skylines . ,ly:axis-group-interface::calc-skylines)
+ (max-stretch . ,ly:axis-group-interface::calc-max-stretch)
(skyline-horizontal-padding . 1.0)
(meta . ((class . System)
(interfaces . (system-interface
(TextSpanner
. (
- (stencil . ,ly:text-spanner::print)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(font-shape . italic)
(style . dashed-line)
(side-axis . ,Y)
(direction . ,UP)
(outside-staff-priority . 350)
+
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+ (bound-details . ((left . ((Y . 0)
+ (padding . 0.25)
+ (attach-dir . ,LEFT)
+ ))
+ (right . ((Y . 0)
+ (padding . 0.25)
+ ))
+ ))
+ (stencil . ,ly:line-spanner::print)
+
(meta . ((class . Spanner)
- (interfaces . (text-spanner-interface
- line-spanner-interface
+ (interfaces . (line-spanner-interface
side-position-interface
font-interface))))))
(stem-gap . 0.35)
(height-limit . 1.0)
(horizontal-distance-penalty-factor . 10)
- (min-length-penalty-factor . 20)
+ (same-dir-as-stem-penalty . 8)
+ (min-length-penalty-factor . 26)
(tie-tie-collision-distance . 0.45)
(tie-tie-collision-penalty . 25.0)
(intra-space-threshold . 1.25)
(outer-tie-vertical-distance-symmetry-penalty-factor . 10)
(outer-tie-length-symmetry-penalty-factor . 10)
+ (vertical-distance-penalty-factor . 7)
(outer-tie-vertical-gap . 0.25)
(multi-tie-region-size . 1)
+ (single-tie-region-size . 4)
(between-length-limit . 1.0)))
(thickness . 1.2)
(TrillSpanner
. (
- (stencil . ,ly:dynamic-text-spanner::print)
- (edge-text . ,(cons (make-musicglyph-markup "scripts.trill")
- ""))
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+
+ (bound-details . ((left . ((text . ,(make-translate-scaled-markup
+ '(0.5 . -0.6)
+ (make-musicglyph-markup "scripts.trill")))
+ (Y . 0)
+ (padding . 0.25)
+ (attach-dir . ,LEFT)
+ ))
+ (right . ((Y . 0)))
+ ))
+
+ (stencil . ,ly:line-spanner::print)
+
(style . trill)
(staff-padding . 1.0)
(padding . 0.5)
(side-axis . ,Y)
(outside-staff-priority . 50)
(meta . ((class . Spanner)
- (interfaces . (text-spanner-interface
- line-spanner-interface
+ (interfaces . (line-spanner-interface
+ line-interface
+ trill-spanner-interface
side-position-interface
font-interface))))))
(font-size . -4)
(side-axis . ,X)
(stencil . ,ly:accidental-interface::print)
+ (Y-extent . ,ly:accidental-interface::height)
(glyph-name-alist . ,standard-alteration-glyph-name-alist)
(meta . ((class . Item)
(interfaces . (trill-pitch-accidental-interface
+ accidental-interface
side-position-interface
font-interface))))))
(padding . 0.3)
(meta . ((class . Item)
(interfaces . (side-position-interface
+ parentheses-interface
note-head-interface
rhythmic-head-interface
font-interface
(stacking-dir . -1)
(padding . 0.5)
(skylines . ,ly:axis-group-interface::combine-skylines)
+ (max-stretch . ,ly:align-interface::calc-max-stretch)
(meta . ((class . Spanner)
+ (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)))
(interfaces . (align-interface
axis-group-interface))))))
(VerticalAxisGroup
(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)
- (skylines . ,ly:axis-group-interface::calc-skylines);
+ (skylines . ,ly:hara-kiri-group-spanner::calc-skylines)
+ (max-stretch . ,ly:axis-group-interface::calc-max-stretch)
(meta . ((class . Spanner)
+ (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common)))
(interfaces . (axis-group-interface
hara-kiri-group-spanner-interface
vertically-spaceable-interface))))))
(non-musical . #t)
(X-extent . #f)
(Y-extent . #f)
+ (bound-details . ((right . ((attach-dir . ,CENTER)
+ (padding . 1.5)
+ ))
+ (left . ((attach-dir . ,CENTER)
+ (padding . 1.5)
+ ))
+ ))
(stencil . ,ly:line-spanner::print)
- (after-line-breaking . ,ly:line-spanner::after-line-breaking)
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
(meta . ((class . Spanner)
(interfaces . (line-spanner-interface
line-interface))))
(list
ly:bar-line::print
ly:note-head::print
- ly:accidental-interface::print
ly:dots::print
ly:clef::print
ly:text-interface::print
'(0 . 0))))
(define pure-conversions-alist
- (list
- `(,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
- `(,ly:stem::height . ,ly:stem::pure-height)
- `(,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:slur::height . ,ly:slur::pure-height)
- `(,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)))
+ `(
+ (,ly:accidental-interface::height . ,ly:accidental-interface::pure-height)
+ (,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
+ (,ly:stem::height . ,ly:stem::pure-height)
+ (,ly:rest::height . ,ly:rest::pure-height)
+ (,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:slur::height . ,ly:slur::pure-height)
+ (,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)))
(define pure-functions
(list
- ly:rest::height
ly:staff-symbol-referencer::callback
ly:staff-symbol::height))