(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 . (item-interface
+ (interfaces . (
accidental-interface
break-aligned-interface
side-position-interface
(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)
-
+
+ (details . ((hint-direction-penalty . 20)))
;; TODO: should be in SLT.
(thickness . 0.48) ; in staff-space
(neutral-direction . ,DOWN)
;; 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
rhythmic-grob-interface
text-interface
chord-name-interface
- item-interface))))))
+ ))))))
(CombineTextScript
. (
. (
(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
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
-
(stencil . ,ly:text-interface::print)
(direction . ,ly:script-interface::calc-direction)
(text . ,fingering::calc-text)
text-interface
side-position-interface
self-alignment-interface
- item-interface))))))
+ ))))))
(FretBoard
. ((stencil . ,fret-board::calc-stencil)
(finger-code . below-string)
(after-line-breaking . ,ly:line-spanner::after-line-breaking)
(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
(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))
(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
;; 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)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(side-axis . ,Y)
(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
(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
text-interface
side-position-interface
self-alignment-interface
- item-interface))))))
+ ))))))
(StrokeFinger
. (
text-interface
side-position-interface
self-alignment-interface
- item-interface))))))
+ ))))))
(SustainPedal
(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)
(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 . (item-interface
- trill-pitch-accidental-interface
+ (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
(Y-offset . ,ly:staff-symbol-referencer::callback)
(font-size . -4)
(meta . ((class . Item)
- (interfaces . (item-interface
- rhythmic-head-interface
+ (interfaces . (rhythmic-head-interface
font-interface
pitched-trill-interface
ledgered-interface
(padding . 0.5)
(skylines . ,ly:axis-group-interface::combine-skylines)
(meta . ((class . Spanner)
+ (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)))
(interfaces . (align-interface
axis-group-interface))))))
(VerticalAxisGroup
(X-extent . ,ly:axis-group-interface::width)
(skylines . ,ly:axis-group-interface::calc-skylines);
(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))))))
(cons 'spanner-interface ifaces-entry))))
(else
(ly:warning "Unknown class ~a" class)))
+
+ (set! ifaces-entry (uniq-list (sort ifaces-entry symbol<?)))
(set! ifaces-entry (cons 'grob-interface ifaces-entry))
(set! meta-entry (assoc-set! meta-entry 'name name-sym))
(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:staff-symbol-referencer::callback
ly:staff-symbol::height))
-(define-public (pure-relevant grob)
+(define-public (pure-relevant? grob)
(let ((extent-callback (ly:grob-property-data grob 'Y-extent)))
(not (eq? #f
(or
(or
(not (eq? extent-callback ly:grob::stencil-height))
(memq (ly:grob-property-data grob 'stencil) pure-print-callbacks)
- (ly:stencil? (ly:grob-property-data grob 'stencil))))))))))
+ (ly:stencil? (ly:grob-property-data grob 'stencil))
+
+ ))))))))
(define-public (call-pure-function unpure args start end)
(if (ly:simple-closure? unpure)