(interfaces . (accidental-interface
font-interface))))))
+ (AccidentalPlacement
+ . (
+ (left-padding . 0.2)
+
+ ;; for horizontally stacked scripts.
+ (script-priority . -100)
+ (direction . ,LEFT)
+
+ (positioning-done . ,ly:accidental-placement::calc-positioning-done)
+ (X-extent . ,ly:axis-group-interface::width)
+
+ ;; this is quite small, but it is very ugly to have
+ ;; accs closer to the previous note than to the next one.
+ (right-padding . 0.15)
+ (meta . ((class . Item)
+ (interfaces . (accidental-placement-interface))))))
+
(AccidentalSuggestion
. (
(stencil . ,ly:accidental-interface::print)
self-alignment-interface
font-interface))))))
- (AccidentalPlacement
- . (
- (left-padding . 0.2)
-
- ;; for horizontally stacked scripts.
- (script-priority . -100)
- (direction . ,LEFT)
-
- (positioning-done . ,ly:accidental-placement::calc-positioning-done)
- (X-extent . ,ly:axis-group-interface::width)
-
- ;; this is quite small, but it is very ugly to have
- ;; accs closer to the previous note than to the next one.
- (right-padding . 0.15)
- (meta . ((class . Item)
- (interfaces . (accidental-placement-interface))))))
-
(Ambitus
. (
(axes . (,X ,Y))
break-aligned-interface
ambitus-interface))))))
- (AmbitusLine
- . (
- (stencil . ,ly:ambitus::print)
- (join-heads . #t)
- (thickness . 2)
- (X-offset . ,ly:self-alignment-interface::centered-on-x-parent)
- (meta . ((class . Item)
- (interfaces . (ambitus-interface
- staff-symbol-referencer-interface
- font-interface))))))
(AmbitusAccidental
. (
(font-family . music)
(direction . ,LEFT)
(stencil . ,ly:accidental-interface::print)
(Y-extent . ,ly:accidental-interface::height)
- (glyph-name-alist . ,standard-alteration-glyph-name-alist)
+ (glyph-name-alist . ,standard-alteration-glyph-name-alist)
(side-axis . ,X)
(meta . ((class . Item)
(interfaces . (
side-position-interface
font-interface))))))
+ (AmbitusLine
+ . (
+ (stencil . ,ly:ambitus::print)
+ (join-heads . #t)
+ (thickness . 2)
+ (X-offset . ,ly:self-alignment-interface::centered-on-x-parent)
+ (meta . ((class . Item)
+ (interfaces . (ambitus-interface
+ staff-symbol-referencer-interface
+ font-interface))))))
+
(AmbitusNoteHead
. (
(duration-log . 2)
side-position-interface
font-interface))))))
- (BalloonTextItem
+ (BalloonTextItem
. ((stencil . ,ly:balloon-interface::print)
- (text . ,(grob::calc-property-by-copy 'text))
- (X-offset . ,(grob::calc-property-by-copy 'X-offset))
- (Y-offset . ,(grob::calc-property-by-copy 'Y-offset))
+ (text . ,(grob::calc-property-by-copy 'text))
+ (X-offset . ,(grob::calc-property-by-copy 'X-offset))
+ (Y-offset . ,(grob::calc-property-by-copy 'Y-offset))
(meta . ((class . Item)
(interfaces . (balloon-interface
text-interface
font-interface))))))
+
(BarLine
. (
(break-align-symbol . staff-bar)
(bar-size . ,ly:bar-line::calc-bar-size)
(bar-extent . ,ly:bar-line::calc-bar-extent)
(allow-span-bar . #t)
-
+
(space-alist . (
(time-signature . (extra-space . 0.75))
(custos . (minimum-space . 2.0))
(self-alignment-X . ,RIGHT)
- ;; want the bar number before the clef at line start.
+ ;; want the bar number before the clef at line start.
(break-align-symbols . (left-edge staff-bar))
(meta .
((class . Item)
(meta . ((class . Spanner)
(interfaces . (side-position-interface
axis-group-interface))))))
-
+
(BassFigureBracket
. (
(stencil . ,ly:enclosing-bracket::print)
(stencil . ,ly:beam::print)
(clip-edges . #t)
(cross-staff . ,ly:beam::calc-cross-staff)
- (details
+ (details
.(
(secondary-beam-demerit . 10)
(stem-length-demerit-factor . 5)
;; only for debugging.
(font-family . roman)
(meta . ((class . Spanner)
- (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
+ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
(interfaces . (staff-symbol-referencer-interface
unbreakable-spanner-interface
beam-interface
(interfaces . (spanner-interface
bend-after-interface))))))
+ (BreakAlignGroup
+ . (
+ (axes . (,X))
+ (X-extent . ,ly:axis-group-interface::width)
+ (break-align-anchor . ,ly:break-aligned-interface::calc-average-anchor)
+ (break-visibility . ,ly:break-aligned-interface::calc-break-visibility)
+ (meta . ((class . Item)
+ (interfaces . (break-aligned-interface
+ axis-group-interface))))))
+
(BreakAlignment
. (
(non-musical . #t)
(interfaces . (break-alignment-interface
axis-group-interface))))))
- (BreakAlignGroup
- . (
- (axes . (,X))
- (X-extent . ,ly:axis-group-interface::width)
- (break-align-anchor . ,ly:break-aligned-interface::calc-average-anchor)
- (break-visibility . ,ly:break-aligned-interface::calc-break-visibility)
- (meta . ((class . Item)
- (interfaces . (break-aligned-interface
- axis-group-interface))))))
-
(BreathingSign
. (
(break-align-symbol . breathing-sign)
text-interface
font-interface))))))
+ (ChordName
+ . (
+ (stencil . ,ly:text-interface::print)
+ (after-line-breaking . ,ly:chord-name::after-line-breaking)
+ (word-space . 0.0)
+ (font-family . sans)
+ (font-size . 1.5)
+ (meta . ((class . Item)
+ (interfaces . (font-interface
+ rhythmic-grob-interface
+ text-interface
+ chord-name-interface))))))
+
(Clef
. (
(stencil . ,ly:clef::print)
font-interface
break-aligned-interface))))))
- (ClusterSpannerBeacon
- . (
- (Y-extent . ,ly:cluster-beacon::height)
- (meta . ((class . Item)
- (interfaces . (rhythmic-grob-interface
- cluster-beacon-interface))))))
-
(ClusterSpanner
. (
(springs-and-rods . ,ly:spanner::set-spacing-rods)
(meta . ((class . Spanner)
(interfaces . (cluster-interface))))))
- (ChordName
+ (ClusterSpannerBeacon
. (
- (stencil . ,ly:text-interface::print)
- (after-line-breaking . ,ly:chord-name::after-line-breaking)
- (word-space . 0.0)
- (font-family . sans)
- (font-size . 1.5)
+ (Y-extent . ,ly:cluster-beacon::height)
(meta . ((class . Item)
- (interfaces . (font-interface
- rhythmic-grob-interface
- text-interface
- chord-name-interface))))))
+ (interfaces . (rhythmic-grob-interface
+ cluster-beacon-interface))))))
(CombineTextScript
. (
. (
(axes . (,X))
(direction . ,RIGHT)
- (positioning-done . ,ly:dot-column::calc-positioning-done)
+ (positioning-done . ,ly:dot-column::calc-positioning-done)
(X-extent . ,ly:axis-group-interface::width)
(meta . ((class . Item)
(interfaces . (dot-column-interface
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(font-encoding . fetaNumber)
(self-alignment-X . ,CENTER)
- (font-size . -2)
+ (font-size . -2)
(direction . ,UP)
(padding . 0.2)
(staff-padding . 0.25)
(right-broken . ((attach-dir . ,RIGHT)
(padding . 0.0)
))
-
+
(left . ((attach-dir . ,LEFT)
(Y . 0)
(stencil-offset . (0 . -0.5))
dynamic-text-spanner-interface
spanner-interface))))))
-
+
(Fingering
. (
(positioning-done . ,ly:script-interface::calc-positioning-done)
(cross-staff . ,ly:side-position-interface::calc-cross-staff)
- (text . ,fingering::calc-text)
+ (text . ,fingering::calc-text)
(font-encoding . fetaNumber)
(font-size . -5) ; don't overlap when next to heads.
(meta . ((class . Item)
spacing-options-interface
spanner-interface))))))
- (GridPoint
- . (
- (X-extent . (0 . 0))
- (Y-extent . (0 . 0))
- (meta . ((class . Item)
- (interfaces . (grid-point-interface))))))
-
(GridLine
. (
(X-extent . ,ly:grid-line-interface::width)
(interfaces . (self-alignment-interface
grid-line-interface))))))
+ (GridPoint
+ . (
+ (X-extent . (0 . 0))
+ (Y-extent . (0 . 0))
+ (meta . ((class . Item)
+ (interfaces . (grid-point-interface))))))
+
(Hairpin
. (
dynamic-interface
spanner-interface))))))
+ (HarmonicParenthesesItem
+ . ((stencil . ,parentheses-item::print)
+ (padding . 0)
+ (stencils . ,parentheses-item::calc-angled-bracket-stencils)
+ (meta . ((class . Item)
+ (interfaces . (parentheses-interface font-interface))))))
+
(HorizontalBracket
. (
(thickness . 1.0)
(stencil . ,ly:horizontal-bracket::print)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
-
+
(padding . 0.2)
(staff-padding . 0.2)
(direction . ,DOWN)
text-interface
font-interface))))))
-
+
(KeyCancellation
. (
(stencil . ,ly:key-signature-interface::print)
staff-symbol-referencer-interface
font-interface
break-aligned-interface))))))
-
-
+
+
(LaissezVibrerTie
. (
(stencil . ,ly:tie::print)
(meta . ((class . Spanner)
(interfaces . (spanner-interface
lyric-hyphen-interface))))))
-
+
(LyricText
. (
(stencil . ,lyric-text::print)
- (text . ,(grob::calc-property-by-copy 'text))
+ (text . ,(grob::calc-property-by-copy 'text))
(X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(self-alignment-X . ,CENTER)
(word-space . 0.6)
(X-extent . ,ly:axis-group-interface::width)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
;; (stencil . ,ly:paper-column::print)
-
+
(non-musical . #t)
(line-break-permission . allow)
(page-break-permission . allow)
mensural-ligature-interface
vaticana-ligature-interface))))))
+ (NoteName
+ . (
+ (stencil . ,ly:text-interface::print)
+ (meta . ((class . Item)
+ (interfaces . (note-name-interface
+ text-interface
+ font-interface))))))
+
(NoteSpacing
. (
(stem-spacing-correction . 0.5)
(interfaces . (spacing-interface
note-spacing-interface))))))
- (NoteName
- . (
- (stencil . ,ly:text-interface::print)
- (meta . ((class . Item)
- (interfaces . (note-name-interface
- text-interface
- font-interface))))))
-
(OctavateEight
. (
,(ly:make-simple-closure
(list ly:self-alignment-interface::x-aligned-on-self))
,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent)))))
+ (list ly:self-alignment-interface::centered-on-x-parent)))))
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(stencil . ,ly:text-interface::print)
(font-shape . italic)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
;; (stencil . ,ly:paper-column::print)
(X-extent . ,ly:axis-group-interface::width)
-
+
;; debugging
;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
(meta . ((class . Paper_column)
(meta . ((class . Item)
(interfaces . (parentheses-interface font-interface))))))
- (HarmonicParenthesesItem
- . ((stencil . ,parentheses-item::print)
- (padding . 0)
- (stencils . ,parentheses-item::calc-angled-bracket-stencils)
- (meta . ((class . Item)
- (interfaces . (parentheses-interface font-interface))))))
-
- (PhrasingSlur
- . ((details . ,default-slur-details)
- (control-points . ,ly:slur::calc-control-points)
- (direction . ,ly:slur::calc-direction)
- (springs-and-rods . ,ly:spanner::set-spacing-rods)
- (Y-extent . ,ly:slur::height)
- (stencil . ,ly:slur::print)
- (thickness . 1.1)
- (minimum-length . 1.5)
- (height-limit . 2.0)
- (ratio . 0.333)
- (cross-staff . ,ly:slur::calc-cross-staff)
- (meta . ((class . Spanner)
- (interfaces . (slur-interface))))))
-
(PercentRepeat
. (
(springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
(direction . ,UP)
(padding . 0.2)
(staff-padding . 0.25)
- (font-size . -2)
+ (font-size . -2)
(font-encoding . fetaNumber)
(meta . ((class . Spanner)
(interfaces . (side-position-interface
font-interface
text-interface))))))
+ (PhrasingSlur
+ . ((details . ,default-slur-details)
+ (control-points . ,ly:slur::calc-control-points)
+ (direction . ,ly:slur::calc-direction)
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
+ (Y-extent . ,ly:slur::height)
+ (stencil . ,ly:slur::print)
+ (thickness . 1.1)
+ (minimum-length . 1.5)
+ (height-limit . 2.0)
+ (ratio . 0.333)
+ (cross-staff . ,ly:slur::calc-cross-staff)
+ (meta . ((class . Spanner)
+ (interfaces . (slur-interface))))))
+
;; an example of a text spanner
(PianoPedalBracket
. (
(Y-extent . #f)
(direction . ,ly:tie::calc-direction)
(head-direction . ,ly:semi-tie-column::calc-head-direction)
-
+
(positioning-done . ,ly:semi-tie-column::calc-positioning-done)
(meta . ((class . Item)
(interfaces . (semi-tie-column-interface))))))
(average-spacing-wishes . #t)
(shortest-duration-space . 2.0)
(spacing-increment . 1.2)
-
+
(base-shortest-duration . ,(ly:make-moment 3 16))
(meta . ((class . Spanner)
(interfaces . (spacing-options-interface
font-interface
bar-line-interface))))))
- (StanzaNumber
- . (
- (stencil . ,ly:text-interface::print)
- (font-series . bold)
- (padding . 1.0)
- (X-offset . ,ly:side-position-interface::x-aligned-side)
- (side-axis . ,X)
- (direction . ,LEFT)
- (meta . ((class . Item)
- (interfaces . (side-position-interface
- stanza-number-interface
- text-interface
- font-interface))))))
-
(StaffSpacing
. (
(non-musical . #t)
(meta . ((class . Item)
(interfaces . (spacing-interface
staff-spacing-interface))))))
-
+
(StaffSymbol
. (
(Y-extent . ,ly:staff-symbol::height)
(meta . ((class . Spanner)
(interfaces . (staff-symbol-interface))))))
+ (StanzaNumber
+ . (
+ (stencil . ,ly:text-interface::print)
+ (font-series . bold)
+ (padding . 1.0)
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
+ (side-axis . ,X)
+ (direction . ,LEFT)
+ (meta . ((class . Item)
+ (interfaces . (side-position-interface
+ stanza-number-interface
+ text-interface
+ font-interface))))))
+
(Stem
. (
(direction . ,ly:stem::calc-direction)
text-interface
side-position-interface
self-alignment-interface))))))
-
+
(StrokeFinger
. (
(stencil . ,ly:text-interface::print)
text-script-interface
text-interface
side-position-interface
- self-alignment-interface))))))
+ self-alignment-interface))))))
(SustainPedal
. (
(interfaces . (system-interface
axis-group-interface))))))
+ (SystemStartBar
+ . (
+ (Y-extent . #f)
+
+ ;; ugh--hardcoded.
+ (padding . -0.1) ;; bar must cover rounded ending of staff line.
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
+ (direction . ,LEFT)
+ (style . bar-line)
+ (collapse-height . 5.0)
+ (thickness . 1.6)
+ (stencil . ,ly:system-start-delimiter::print)
+ (meta . ((class . Spanner)
+ (interfaces . (side-position-interface
+ system-start-delimiter-interface))))))
+
(SystemStartBrace
. (
(style . brace)
side-position-interface
font-interface))))))
- (SystemStartSquare
- . (
- (Y-extent . #f)
- (X-offset . ,ly:side-position-interface::x-aligned-side)
- (direction . ,LEFT)
- (stencil . ,ly:system-start-delimiter::print)
- (style . line-bracket)
- (thickness . 1.0)
- (meta . ((class . Spanner)
- (interfaces . (font-interface
- side-position-interface
- system-start-delimiter-interface))))))
-
(SystemStartBracket
. (
(Y-extent . #f)
side-position-interface
system-start-delimiter-interface))))))
- (SystemStartBar
+ (SystemStartSquare
. (
(Y-extent . #f)
-
- ;; ugh--hardcoded.
- (padding . -0.1) ;; bar must cover rounded ending of staff line.
(X-offset . ,ly:side-position-interface::x-aligned-side)
(direction . ,LEFT)
- (style . bar-line)
- (collapse-height . 5.0)
- (thickness . 1.6)
(stencil . ,ly:system-start-delimiter::print)
+ (style . line-bracket)
+ (thickness . 1.0)
(meta . ((class . Spanner)
- (interfaces . (side-position-interface
+ (interfaces . (font-interface
+ side-position-interface
system-start-delimiter-interface))))))
(horizontal-distance-penalty-factor . 10)
(same-dir-as-stem-penalty . 8)
(min-length-penalty-factor . 26)
- (tie-tie-collision-distance . 0.45)
+ (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)
(multi-tie-region-size . 3)
(single-tie-region-size . 4)
(between-length-limit . 1.0)))
-
+
(thickness . 1.2)
(line-thickness . 0.8)
(meta . ((class . Spanner)
break-aligned-interface
font-interface))))))
- (TrillSpanner
- . (
- (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.0 . -1.0)
- (make-musicglyph-markup "scripts.trill")))
- (Y . 0)
- (stencil-offset . (-0.5 . 0))
- (padding . 1.5)
- (attach-dir . ,CENTER)
- ;; this isn't CENTER because the trill glyph's origin
- ;; is not centered in its extent; to have the trill
- ;; spanner aligned the same as a trill, we need a slight offset
- (anchor-alignment . 0.15)
- ))
- (left-broken . ((end-on-note . #t)))
- (right . ((Y . 0)))
- ))
-
- (stencil . ,ly:line-spanner::print)
- (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
- (style . trill)
- (staff-padding . 1.0)
- (padding . 0.5)
- (direction . ,UP)
- (Y-offset . ,ly:side-position-interface::y-aligned-side)
- (side-axis . ,Y)
- (outside-staff-priority . 50)
- (meta . ((class . Spanner)
- (interfaces . (line-spanner-interface
- line-interface
- trill-spanner-interface
- side-position-interface
- font-interface))))))
-
(TrillPitchAccidental
. ((X-offset . ,ly:side-position-interface::x-aligned-side)
(padding . 0.2)
ledgered-interface
staff-symbol-referencer-interface))))))
+ (TrillSpanner
+ . (
+ (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.0 . -1.0)
+ (make-musicglyph-markup "scripts.trill")))
+ (Y . 0)
+ (stencil-offset . (-0.5 . 0))
+ (padding . 1.5)
+ (attach-dir . ,CENTER)
+ ;; this isn't CENTER because the trill glyph's origin
+ ;; is not centered in its extent; to have the trill
+ ;; spanner aligned the same as a trill, we need a slight offset
+ (anchor-alignment . 0.15)
+ ))
+ (left-broken . ((end-on-note . #t)))
+ (right . ((Y . 0)))
+ ))
+
+ (stencil . ,ly:line-spanner::print)
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
+ (style . trill)
+ (staff-padding . 1.0)
+ (padding . 0.5)
+ (direction . ,UP)
+ (Y-offset . ,ly:side-position-interface::y-aligned-side)
+ (side-axis . ,Y)
+ (outside-staff-priority . 50)
+ (meta . ((class . Spanner)
+ (interfaces . (line-spanner-interface
+ line-interface
+ trill-spanner-interface
+ side-position-interface
+ font-interface))))))
+
(TupletBracket
. (
(padding . 1.1)
(control-points . ,ly:tuplet-bracket::calc-control-points)
(stencil . ,ly:tuplet-bracket::print)
(cross-staff . ,ly:tuplet-bracket::calc-cross-staff)
-
+
(meta . ((class . Spanner)
(interfaces . (line-interface
tuplet-bracket-interface))))))
(interfaces . (text-interface tuplet-number-interface
font-interface))))))
-
+
(UnaCordaPedal
. (
(stencil . ,ly:text-interface::print)
hara-kiri-group-spanner-interface
vertically-spaceable-interface))))))
+ (VoiceFollower
+ . (
+ (style . line)
+ (gap . 0.5)
+ (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)
+ ))
+ ))
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
+ (stencil . ,ly:line-spanner::print)
+ (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))))))
+
(VoltaBracket
. (
(stencil . ,ly:volta-bracket-interface::print)
(direction . ,UP)
(meta . ((class . Spanner)
(interfaces . (volta-bracket-interface
- horizontal-bracket-interface
+ horizontal-bracket-interface
line-interface
text-interface
side-position-interface
font-interface))))))
(VoltaBracketSpanner
- . (
+ . (
(axes . (,Y))
(side-axis . ,Y)
(direction . ,UP)
(interfaces . (side-position-interface
axis-group-interface))))))
- (VoiceFollower
- . (
- (style . line)
- (gap . 0.5)
- (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)
- ))
- ))
- (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
- (stencil . ,ly:line-spanner::print)
- (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))))))
-
))
(define (completize-grob-entry x)