;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
. (
(alteration . ,accidental-interface::calc-alteration)
(avoid-slur . inside)
+ (glyph-name . ,accidental-interface::glyph-name)
(glyph-name-alist . ,standard-alteration-glyph-name-alist)
(stencil . ,ly:accidental-interface::print)
+ (horizontal-skylines . ,ly:accidental-interface::horizontal-skylines)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-extent . ,ly:accidental-interface::width)
(Y-extent . ,ly:accidental-interface::height)
(meta . ((class . Item)
(side-axis . ,Y)
(staff-padding . 0.25)
(stencil . ,ly:accidental-interface::print)
+ (use-skylines . #t)
(X-extent . ,ly:accidental-interface::width)
(X-offset . ,(ly:make-simple-closure
`(,+
(break-align-anchor . ,ly:bar-line::calc-anchor)
(break-align-symbol . staff-bar)
(break-visibility . ,bar-line::calc-break-visibility)
+ (extra-spacing-height . ,pure-from-neighbor-interface::account-for-span-bar)
(gap . 0.4)
(glyph . "|")
(glyph-name . ,bar-line::calc-glyph-name)
(layer . 0)
(non-musical . #t)
+ (rounded . #f)
(space-alist . (
(time-signature . (extra-space . 0.75))
(custos . (minimum-space . 2.0))
(right-edge . (extra-space . 0.0))))
(stencil . ,ly:bar-line::print)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (bar-line-interface
break-aligned-interface
- font-interface))))))
+ font-interface
+ pure-from-neighbor-interface))))))
(BarNumber
. (
(break-visibility . ,begin-of-line-visible)
(direction . ,UP)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(font-family . roman)
(font-size . -2)
(non-musical . #t)
;; todo: clean this up a bit: the list is getting
;; rather long.
(auto-knee-gap . 5.5)
+ (beam-segments . ,ly:beam::calc-beam-segments)
(beam-thickness . 0.48) ; in staff-space
;; We have some unreferenced problems here.
inline-accidental-interface
key-signature-interface
note-head-interface
+ octavate-eight-interface
stem-interface
time-signature-interface))
- (concaveness . ,ly:beam::calc-concaveness)
(cross-staff . ,ly:beam::calc-cross-staff)
(damping . 1)
(details
;; only for debugging.
(font-family . roman)
- (gap . 0.8)
+ (beam-gap . ,ly:beam::calc-beam-gap)
+ (minimum-length . ,ly:beam::calc-minimum-length)
(neutral-direction . ,DOWN)
- (positions . ,(ly:make-simple-closure
- (ly:make-simple-closure
- (list chain-grob-member-functions
- `(,cons 0 0)
- ly:beam::calc-least-squares-positions
- ly:beam::slope-damping
- ly:beam::shift-region-to-valid
- ly:beam::quanting
- ))))
+ (positions . ,beam::get-positions)
+ (springs-and-rods . ,ly:beam::calc-springs-and-rods)
+ (X-positions . ,ly:beam::calc-x-positions)
;; this is a hack to set stem lengths, if positions is set.
- (quantized-positions . ,ly:beam::set-stem-lengths)
+ (quantized-positions . ,beam::get-quantized-positions)
(shorten . ,ly:beam::calc-stem-shorten)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(stencil . ,ly:beam::print)
(meta . ((class . Spanner)
(font-size . 1.5)
(stencil . ,ly:text-interface::print)
(extra-spacing-height . (0.2 . -0.2))
+ (extra-spacing-width . (-0.5 . 0.5))
(word-space . 0.0)
(meta . ((class . Item)
(interfaces . (chord-name-interface
(break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
(break-align-symbol . clef)
(break-visibility . ,begin-of-line-visible)
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
(glyph-name . ,ly:clef::calc-glyph-name)
(non-musical . #t)
(space-alist . ((cue-clef . (extra-space . 2.0))
(next-note . (extra-space . 1.0))
(right-edge . (extra-space . 0.5))))
(stencil . ,ly:clef::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
clef-interface
font-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(ClusterSpanner
(break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
(break-align-symbol . cue-clef)
(break-visibility . ,begin-of-line-visible)
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
(font-size . -4)
(glyph-name . ,ly:clef::calc-glyph-name)
(non-musical . #t)
(stencil . ,ly:clef::print)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
clef-interface
font-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(CueEndClef
(break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
(break-align-symbol . cue-end-clef)
(break-visibility . ,begin-of-line-invisible)
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
(font-size . -4)
(glyph-name . ,ly:clef::calc-glyph-name)
(non-musical . #t)
(stencil . ,ly:clef::print)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
clef-interface
font-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(Custos
(Dots
. (
+ (avoid-slur . inside)
(dot-count . ,dots::calc-dot-count)
(staff-position . ,dots::calc-staff-position)
(stencil . ,ly:dots::print)
(side-axis . ,Y)
(slur-padding . 0.3)
(staff-padding . 0.1)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-element-stencils)
+ (use-skylines . #t)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
;; todo.
+ (collision-bias . -2.0)
+ (collision-padding . 0.5)
(direction . ,ly:script-interface::calc-direction)
(extra-spacing-width . (+inf.0 . -inf.0))
(font-encoding . fetaText)
(font-series . bold)
(font-shape . italic)
- (outside-staff-priority . 250)
(positioning-done . ,ly:script-interface::calc-positioning-done)
(right-padding . 0.5)
(self-alignment-X . ,CENTER)
(self-alignment-Y . ,CENTER)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
(meta . ((class . Item)
+ (object-callbacks . ((X-colliding-grobs . ,ly:self-alignment-interface::x-colliding-grobs)))
(interfaces . (dynamic-interface
dynamic-text-interface
font-interface
(springs-and-rods . ,ly:spanner::set-spacing-rods)
(stencil . ,ly:line-spanner::print)
(style . dashed-line)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Spanner)
(interfaces . (dynamic-interface
dynamic-text-spanner-interface
text-interface
text-script-interface))))))
+ (FingeringColumn
+ . (
+ (padding . 0.2)
+ (positioning-done . ,ly:fingering-column::calc-positioning-done)
+ (meta . ((class . Item)
+ (interfaces . (fingering-column-interface))))))
+
(Flag
. (
+ (glyph-name . ,ly:flag::glyph-name)
(stencil . ,ly:flag::print)
(X-extent . ,ly:flag::width)
(X-offset . ,ly:flag::calc-x-offset)
(Y-offset . ,ly:flag::calc-y-offset)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Item)
(interfaces . (flag-interface
font-interface))))))
(annotation-line . #t)
(automatically-numbered . ,(grob::calc-property-by-copy 'automatically-numbered))
(break-visibility . ,inherit-y-parent-visibility)
+ (footnote . #t)
(footnote-text . ,(grob::calc-property-by-copy 'footnote-text))
(stencil . ,ly:balloon-interface::print)
(text . ,(grob::calc-property-by-copy 'text))
(annotation-balloon . #f)
(annotation-line . #t)
(automatically-numbered . ,(grob::calc-property-by-copy 'automatically-numbered))
+ (footnote . #t)
(footnote-text . ,(grob::calc-property-by-copy 'footnote-text))
(spanner-placement . ,LEFT)
(stencil . ,ly:balloon-interface::print-spanner)
(padding . 0.5)
))
))
+ (cross-staff . ,ly:line-spanner::calc-cross-staff)
(gap . 0.5)
(left-bound-info . ,ly:line-spanner::calc-left-bound-info)
(normalized-endpoints . ,ly:spanner::calc-normalized-endpoints)
(simple-Y . #t)
(stencil . ,ly:line-spanner::print)
(style . line)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-extent . #f)
(Y-extent . #f)
(zigzag-width . 0.75)
. (
(after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
(bound-padding . 1.0)
+ (broken-bound-padding . ,ly:hairpin::broken-bound-padding)
(circled-tip . #f)
(grow-direction . ,hairpin::calc-grow-direction)
(height . 0.6666)
(stencil . ,ly:hairpin::print)
(thickness . 1.0)
(to-barline . #t)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
(meta . ((class . Spanner)
(interfaces . (dynamic-interface
(break-visibility . ,begin-of-line-invisible)
(glyph-name-alist . ,cancellation-glyph-name-alist)
(non-musical . #t)
+ (flat-positions . (2 3 4 2 1 2 1))
+ (sharp-positions . (4 5 4 2 3 2 3))
(space-alist . (
(time-signature . (extra-space . 1.25))
(staff-bar . (extra-space . 0.6))
(key-signature . (extra-space . 0.5))
(cue-clef . (extra-space . 0.5))
(right-edge . (extra-space . 0.5))
- (first-note . (semi-fixed-space . 2.5))))
+ (first-note . (fixed-space . 2.5))))
(stencil . ,ly:key-signature-interface::print)
- (extra-spacing-width . (0.0 . 0.5))
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
+ (extra-spacing-width . (0.0 . 1.0))
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
font-interface
key-cancellation-interface
key-signature-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(KeySignature
(break-visibility . ,begin-of-line-visible)
(glyph-name-alist . ,standard-alteration-glyph-name-alist)
(non-musical . #t)
+ (flat-positions . (2 3 4 2 1 2 1))
+ (sharp-positions . (4 5 4 2 3 2 3))
(space-alist . (
(time-signature . (extra-space . 1.15))
(staff-bar . (extra-space . 1.1))
(cue-clef . (extra-space . 0.5))
(right-edge . (extra-space . 0.5))
- (first-note . (semi-fixed-space . 2.5))))
+ (first-note . (fixed-space . 2.5))))
(stencil . ,ly:key-signature-interface::print)
- (extra-spacing-width . (0.0 . 0.5))
+ (extra-spacing-width . (0.0 . 1.0))
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
font-interface
key-signature-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(stencil . ,laissez-vibrer::print)
(thickness . 1.0)
(extra-spacing-height . (-0.5 . 0.5))
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Item)
(interfaces . (semi-tie-interface))))))
(minimum-length-fraction . 0.25)
(springs-and-rods . ,ly:ledger-line-spanner::set-spacing-rods)
(stencil . ,ly:ledger-line-spanner::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-extent . #f)
(Y-extent . #f)
(meta . ((class . Spanner)
;; a tuplet bracket.
(connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
- (control-points . ,ly:tuplet-bracket::calc-control-points)
(direction . ,UP)
(edge-height . (0.7 . 0.7))
(padding . 2.0)
(staff-padding . 0.25)
(stencil . ,ly:tuplet-bracket::print)
(thickness . 1.6)
+ (X-positions . ,ly:tuplet-bracket::calc-x-positions)
(meta . ((class . Spanner)
(interfaces . (line-interface
tuplet-bracket-interface))))))
(padding . 0.07)
(springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods)
(stencil . ,ly:lyric-hyphen::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(thickness . 1.3)
(Y-extent . (0 . 0))
(meta . ((class . Spanner)
(stencil . ,lyric-text::print)
(text . ,(grob::calc-property-by-copy 'text))
(word-space . 0.6)
+ (skyline-horizontal-padding . 0.1)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(meta . ((class . Item)
(interfaces . (font-interface
self-alignment-interface
text-interface))))))
-
(MeasureGrouping
. (
(direction . ,UP)
(MensuralLigature
. (
(stencil . ,ly:mensural-ligature::print)
- (thickness . 1.4)
+ (thickness . 1.3)
(meta . ((class . Spanner)
(interfaces . (font-interface
mensural-ligature-interface))))))
(break-visibility . ,end-of-line-invisible)
(direction . ,UP)
(extra-spacing-width . (+inf.0 . -inf.0))
+ (outside-staff-horizontal-padding . 0.12)
(outside-staff-priority . 1000)
(padding . 0.8)
(side-axis . ,Y)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(X-offset . ,(ly:make-simple-closure
`(,+
(allow-loose-spacing . #t)
(axes . (,X))
(before-line-breaking . ,ly:paper-column::before-line-breaking)
+ (bound-alignment-interfaces . (break-alignment-interface))
(full-measure-extra-space . 1.0)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
- ;; sufficient padding to prevent ledger lines from moving over/under
- (skyline-vertical-padding . 0.6)
;; (stencil . ,ly:paper-column::print)
(keep-inside-line . #t)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(meta . ((class . Item)
(interfaces . (font-interface
+ octavate-eight-interface
self-alignment-interface
side-position-interface
text-interface))))))
(staff-padding . 1.0)
(stencil . ,ly:ottava-bracket::print)
(style . dashed-line)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(meta . ((class . Spanner)
(interfaces . (font-interface
(bound-alignment-interfaces . (note-column-interface))
(horizontal-skylines . ,ly:separation-item::calc-skylines)
(keep-inside-line . #t)
+ ; 0.08 comes from spacing-horizontal-skyline.ly
+ ; allows double flat of F to be nestled over dots of C
+ (skyline-vertical-padding . 0.08)
;; (stencil . ,ly:paper-column::print)
(X-extent . ,ly:axis-group-interface::width)
(springs-and-rods . ,ly:spanner::set-spacing-rods)
(stencil . ,ly:slur::print)
(thickness . 1.1)
+ (vertical-skylines . ,ly:slur::vertical-skylines)
(Y-extent . ,ly:slur::height)
(meta . ((class . Spanner)
(interfaces . (slur-interface))))))
(stencil . ,ly:piano-pedal-bracket::print)
(style . line)
(thickness . 1.0)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Spanner)
(interfaces . (line-interface
piano-pedal-bracket-interface
(extra-spacing-width . (+inf.0 . -inf.0))
(font-size . 2)
(non-musical . #t)
+ (outside-staff-horizontal-padding . 0.12)
(outside-staff-priority . 1500)
(padding . 0.8)
(self-alignment-X . ,CENTER)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,(ly:make-simple-closure
`(,+
,(ly:make-simple-closure
(stencil . ,ly:tie::print)
(thickness . 1.0)
(extra-spacing-height . (-0.5 . 0.5))
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Item)
(interfaces . (semi-tie-interface))))))
(staff-padding . 0.25)
(stencil . ,ly:script-interface::print)
+ (use-skylines . #t)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,script-interface::calc-x-offset)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(meta . ((class . Item)
(springs-and-rods . ,ly:spanner::set-spacing-rods)
(stencil . ,ly:slur::print)
(thickness . 1.2)
+ (vertical-skylines . ,ly:slur::vertical-skylines)
(Y-extent . ,ly:slur::height)
(meta . ((class . Spanner)
(interfaces . (slur-interface))))))
(padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
(self-alignment-X . ,CENTER)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(meta . ((class . Item)
(interfaces . (font-interface
(padding . 1.2)
(side-axis . ,Y)
(staff-padding . 1.0)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-element-stencils)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(break-align-symbol . staff-bar)
(cross-staff . #t)
(glyph-name . ,ly:span-bar::calc-glyph-name)
-
- ;; ugh duplication! (these 4 properties were copied from Barline)
- ;;
- ;; Ross. page 151 lists other values, we opt for a leaner look
- ;;
- (kern . 3.0)
- (thin-kern . 3.0)
- (hair-thickness . 1.6)
- (thick-thickness . 6.0)
-
(layer . 0)
(non-musical . #t)
(stencil . ,ly:span-bar::print)
(X-extent . ,ly:span-bar::width)
- (Y-extent . ,ly:axis-group-interface::height)
+ (Y-extent . (+inf.0 . -inf.0))
(meta . ((class . Item)
- (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
- (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
(interfaces . (bar-line-interface
font-interface
span-bar-interface))))))
+ (SpanBarStub
+ . (
+ (X-extent . ,grob::x-parent-width)
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height)
+ (Y-extent . #f)
+ (meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
+ (interfaces . (pure-from-neighbor-interface))))))
+
(StaffGrouper
. (
(staff-staff-spacing . ((basic-distance . 9)
(direction . ,ly:stem::calc-direction)
(duration-log . ,stem::calc-duration-log)
+ (length . ,stem::length)
(neutral-direction . ,DOWN)
(positioning-done . ,ly:stem::calc-positioning-done)
(stem-info . ,ly:stem::calc-stem-info)
+ (stem-begin-position . ,ly:stem::calc-stem-begin-position)
(stencil . ,ly:stem::print)
(thickness . 1.3)
(X-extent . ,ly:stem::width)
(meta . ((class . Item)
(interfaces . (stem-interface))))))
+ (StemStub
+ . (
+ (X-extent . ,stem-stub::width)
+ (extra-spacing-height . ,stem-stub::extra-spacing-height)
+ (Y-extent . ,(ly:make-unpure-pure-container #f stem-stub::pure-height))
+ (meta . ((class . Item)
+ (interfaces . ())))))
+
(StemTremolo
. (
(beam-thickness . 0.48) ; staff-space
(beam-width . ,ly:stem-tremolo::calc-width) ; staff-space
+ (direction . ,ly:stem-tremolo::calc-direction)
(slope . ,ly:stem-tremolo::calc-slope)
(stencil . ,ly:stem-tremolo::print)
(style . ,ly:stem-tremolo::calc-style)
(X-extent . ,ly:stem-tremolo::width)
+ (X-offset . ,(ly:make-simple-closure
+ `(,+
+ ,(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)))))
(Y-offset . ,ly:stem-tremolo::calc-y-offset)
(meta . ((class . Item)
- (interfaces . (stem-tremolo-interface))))))
+ (interfaces . (self-alignment-interface
+ stem-tremolo-interface))))))
(StringNumber
. (
(padding . 0.0) ;; padding relative to SustainPedalLineSpanner
(self-alignment-X . ,CENTER)
(stencil . ,ly:sustain-pedal::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(meta . ((class . Item)
(interfaces . (font-interface
(padding . 1.2)
(side-axis . ,Y)
(staff-padding . 1.2)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-element-stencils)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
. (
(adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
(axes . (,X ,Y))
- (skyline-horizontal-padding . 0.5)
+ (outside-staff-placement-directive . left-to-right-polite)
+ (skyline-horizontal-padding . 1.0)
(vertical-skylines . ,ly:axis-group-interface::calc-skylines)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:system::height)
(meta . ((class . System)
- (object-callbacks . ((pure-relevant-grobs . ,ly:system::calc-pure-relevant-grobs)
- (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)))
+ (object-callbacks . ((footnotes-before-line-breaking . ,ly:system::footnotes-before-line-breaking)
+ (footnotes-after-line-breaking . ,ly:system::footnotes-after-line-breaking)
+ (pure-relevant-grobs . ,ly:system::calc-pure-relevant-grobs)
+ (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (vertical-skyline-elements . ,ly:system::vertical-skyline-elements)
+ (vertical-alignment . ,ly:system::get-vertical-alignment)))
(interfaces . (axis-group-interface
system-interface))))))
(cross-staff . ,script-or-side-position-cross-staff)
(direction . ,DOWN)
(extra-spacing-width . (+inf.0 . -inf.0))
+ (outside-staff-horizontal-padding . 0.12)
(outside-staff-priority . 450)
;; sync with Fingering ?
(slur-padding . 0.5)
(staff-padding . 0.5)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
;; todo: add X self alignment?
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(padding . 0.25)
(attach-dir . ,LEFT)
))
- (left-broken . ((end-on-note . #t)))
+ (left-broken . ((attach-dir . ,RIGHT)))
(right . ((Y . 0)
(padding . 0.25)
))
(neutral-direction . ,UP)
(springs-and-rods . ,ly:spanner::set-spacing-rods)
(stencil . ,ly:tie::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(thickness . 1.2)
(meta . ((class . Spanner)
(interfaces . (tie-interface))))))
(break-align-symbol . time-signature)
(break-align-anchor-alignment . ,LEFT)
(break-visibility . ,all-visible)
- (extra-spacing-height . (-1.0 . 1.0))
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
+ (extra-spacing-width . (0.0 . 0.8))
(non-musical . #t)
(space-alist . (
(cue-clef . (extra-space . 1.5))
- (first-note . (semi-fixed-space . 2.0))
+ (first-note . (fixed-space . 2.0))
(right-edge . (extra-space . 0.5))
(staff-bar . (minimum-space . 2.0))))
(stencil . ,ly:time-signature::print)
(style . C)
(meta . ((class . Item)
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (break-aligned-interface
font-interface
+ pure-from-neighbor-interface
time-signature-interface))))))
(TrillPitchAccidental
(TupletBracket
. (
+ (avoid-scripts . #t)
(connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
- (control-points . ,ly:tuplet-bracket::calc-control-points)
(cross-staff . ,ly:tuplet-bracket::calc-cross-staff)
(direction . ,ly:tuplet-bracket::calc-direction)
(edge-height . (0.7 . 0.7))
(staff-padding . 0.25)
(stencil . ,ly:tuplet-bracket::print)
(thickness . 1.6)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
+ (X-positions . ,ly:tuplet-bracket::calc-x-positions)
(meta . ((class . Spanner)
(interfaces . (line-interface
(font-size . -2)
(stencil . ,ly:tuplet-number::print)
(text . ,tuplet-number::calc-denominator-text)
+ (X-offset . ,ly:tuplet-number::calc-x-offset)
+ (Y-offset . ,ly:tuplet-number::calc-y-offset)
(meta . ((class . Spanner)
(interfaces . (font-interface
text-interface
(padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner
(self-alignment-X . ,CENTER)
(stencil . ,ly:text-interface::print)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(meta . ((class . Item)
(interfaces . (font-interface
(padding . 1.2)
(side-axis . ,Y)
(staff-padding . 1.2)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-element-stencils)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(minimum-distance . 8)
(padding . 1)))
(nonstaff-unrelatedstaff-spacing . ((padding . 0.5)))
+ (outside-staff-placement-directive . left-to-right-polite)
(staff-staff-spacing . ,ly:axis-group-interface::calc-staff-staff-spacing)
(stencil . ,ly:axis-group-interface::print)
+ (skyline-horizontal-padding . 0.1)
(vertical-skylines . ,ly:hara-kiri-group-spanner::calc-skylines)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:hara-kiri-group-spanner::y-extent)
(padding . 1.5)
))
))
+ (cross-staff . #t)
(gap . 0.5)
(left-bound-info . ,ly:line-spanner::calc-left-bound-info)
(non-musical . #t)
(edge-height . (2.0 . 2.0)) ;; staff-space;
(font-encoding . fetaText)
(font-size . -4)
+ (shorten-pair . ,ly:volta-bracket::calc-shorten-pair)
(stencil . ,ly:volta-bracket-interface::print)
(thickness . 1.6) ;; line-thickness
(word-space . 0.6)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-stencil)
(meta . ((class . Spanner)
(interfaces . (font-interface
horizontal-bracket-interface
(outside-staff-priority . 600)
(padding . 1)
(side-axis . ,Y)
+ (vertical-skylines . ,ly:grob::vertical-skylines-from-element-stencils)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
- (Y-offset . ,ly:side-position-interface::y-aligned-side)
+ (Y-offset . ,ly:side-position-interface::y-aligned-side)
(meta . ((class . Spanner)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
ly:dots::print
ly:clef::print
ly:flag::print
+ ly:time-signature::print
default-flag
normal-flag
mensural-flag
(,ly:axis-group-interface::calc-staff-staff-spacing . ,ly:axis-group-interface::calc-pure-staff-staff-spacing)
(,ly:axis-group-interface::height . ,ly:axis-group-interface::pure-height)
(,ly:beam::rest-collision-callback . ,ly:beam::pure-rest-collision-callback)
+ (,ly:flag::calc-y-offset . ,ly:flag::pure-calc-y-offset)
(,ly:grob::stencil-height . ,pure-stencil-height)
(,ly:hara-kiri-group-spanner::y-extent . ,ly:hara-kiri-group-spanner::pure-height)
(,ly:rest-collision::force-shift-callback-rest . ,pure-chain-offset-callback)
(,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
(,ly:slur::height . ,ly:slur::pure-height)
(,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
+ (,ly:stem::calc-stem-begin-position . ,ly:stem::pure-calc-stem-begin-position)
(,ly:stem::calc-stem-end-position . ,ly:stem::pure-calc-stem-end-position)
+ (,stem::length . ,stem::pure-length)
(,ly:stem::height . ,ly:stem::pure-height)
(,ly:stem-tremolo::calc-y-offset . ,ly:stem-tremolo::pure-calc-y-offset)
(,ly:system::height . ,ly:system::calc-pure-height)))
(list
parenthesize-elements
laissez-vibrer::print
- ly:flag::calc-y-offset
ly:rest::y-offset-callback
ly:staff-symbol-referencer::callback
ly:staff-symbol::height))
(let ((extent-callback (ly:grob-property-data grob 'Y-extent)))
(not (eq? #f
(or
+ (ly:unpure-pure-container? extent-callback)
(pair? extent-callback)
(memq extent-callback pure-functions)
(and
(assq stencil pure-print-to-height-conversions)
(ly:stencil? stencil)))))))))
+;; hideous code dup below - to be cleaned up when call pure functino
+;; is eliminated and lilypond works entirely from unpure-pure-containers
+
(define-public (call-pure-function unpure args start end)
- (if (ly:simple-closure? unpure)
- (ly:eval-simple-closure (car args) unpure start end)
- (if (not (procedure? unpure))
- unpure
- (if (memq unpure pure-functions)
- (apply unpure args)
- (let ((pure (assq unpure pure-conversions-alist)))
- (if pure
- (apply (cdr pure)
- (append
- (list (car args) start end)
- (cdr args)))))))))
+ (if (ly:unpure-pure-container? unpure)
+ (let ((unpure (ly:unpure-pure-container-pure-part unpure)))
+ (if (ly:simple-closure? unpure)
+ (ly:eval-simple-closure (car args) unpure start end)
+ (if (not (procedure? unpure))
+ unpure
+ (apply unpure
+ (append
+ (list (car args) start end)
+ (cdr args))))))
+ (if (ly:simple-closure? unpure)
+ (ly:eval-simple-closure (car args) unpure start end)
+ (if (not (procedure? unpure))
+ unpure
+ (if (memq unpure pure-functions)
+ (apply unpure args)
+ (let ((pure (assq unpure pure-conversions-alist)))
+ (if pure
+ (apply (cdr pure)
+ (append
+ (list (car args) start end)
+ (cdr args))))))))))