;;;; 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
(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)
(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
. (
(stacking-dir . ,DOWN)
(Y-extent . ,ly:axis-group-interface::height)
(meta . ((class . Spanner)
- (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+ (object-callbacks . ((full-score-pure-minimum-translations . ,ly:align-interface::full-score-pure-minimum-translations)
+ (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
(interfaces . (align-interface
axis-group-interface
;; 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.
note-head-interface
stem-interface
time-signature-interface))
- (concaveness . ,ly:beam::calc-concaveness)
(cross-staff . ,ly:beam::calc-cross-staff)
(damping . 1)
(details
(gap . 0.8)
(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::place-broken-parts-individually)
+ (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)
(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))
(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))))))
(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)
;; 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)
(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
(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)
. (
(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)
(first-note . (fixed-space . 2.5))))
(stencil . ,ly:key-signature-interface::print)
(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
(first-note . (fixed-space . 2.5))))
(stencil . ,ly:key-signature-interface::print)
(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-signature-interface
+ pure-from-neighbor-interface
staff-symbol-referencer-interface))))))
(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)
(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))))))
(staff-padding . 0.25)
(stencil . ,ly:script-interface::print)
+ (use-skylines . #t)
(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))))))
(non-musical . #t)
(stencil . ,ly:span-bar::print)
(X-extent . ,ly:span-bar::width)
- (Y-extent . #f)
+ (Y-extent . (+inf.0 . -inf.0))
(meta . ((class . Item)
(interfaces . (bar-line-interface
font-interface
(SpanBarStub
. (
- (elements-filtered . ,ly:pure-from-neighbor-interface::filter-elements)
(X-extent . ,grob::x-parent-width)
- (Y-extent . ,span-bar-stub::height)
+ (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:axis-group-interface::calc-pure-relevant-grobs)))
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(interfaces . (pure-from-neighbor-interface))))))
(StaffGrouper
(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
(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
. (
(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)
+ (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)))
(interfaces . (axis-group-interface
system-interface))))))
(padding . 0.25)
(attach-dir . ,LEFT)
))
- (left-broken . ((end-on-note . #t)))
+ (left-broken . ((attach-dir . ,RIGHT)))
(right . ((Y . 0)
(padding . 0.25)
))
(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 . (
(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)
(cross-staff . ,ly:tuplet-bracket::calc-cross-staff)
(direction . ,ly:tuplet-bracket::calc-direction)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(meta . ((class . Spanner)
- (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)
+ (object-callbacks . ((full-score-pure-minimum-translations . ,ly:align-interface::full-score-pure-minimum-translations)
+ (Y-common . ,ly:axis-group-interface::calc-y-common)
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
(pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)))
(interfaces . (align-interface
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)
- (,span-bar-stub::height . ,ly:axis-group-interface::pure-height)
(,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)
(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))
(ly:eval-simple-closure (car args) unpure start end)
(if (not (procedure? unpure))
unpure
- (apply (cdr pure)
+ (apply unpure
(append
(list (car args) start end)
(cdr args))))))