(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
(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
;; 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)
text-interface
side-position-interface
self-alignment-interface
- item-interface))))))
+ ))))))
(StrokeFinger
. (
text-interface
side-position-interface
self-alignment-interface
- item-interface))))))
+ ))))))
(SustainPedal
(stencil . ,ly:accidental-interface::print)
(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: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: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)