;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
(interfaces . (accidental-interface
accidental-suggestion-interface
font-interface
+ outside-staff-interface
script-interface
self-alignment-interface
side-position-interface))))))
(Arpeggio
. (
- (cross-staff . ,ly:arpeggio::calc-cross-staff)
+ (cross-staff . ,ly:arpeggio::calc-cross-staff)
(direction . ,LEFT)
(padding . 0.5)
(positions . ,ly:arpeggio::calc-positions)
((class . Item)
(interfaces . (break-alignable-interface
font-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(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 . (axis-group-interface
+ outside-staff-interface
side-position-interface))))))
(BassFigureBracket
(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)))
- (interfaces . (axis-group-interface))))))
+ (interfaces . (axis-group-interface
+ outside-staff-axis-group-interface))))))
(Beam
;; only for debugging.
(font-family . roman)
- (beam-gap . ,ly:beam::calc-beam-gap)
- (minimum-length . ,ly:beam::calc-minimum-length)
+ (gap . 0.8)
(neutral-direction . ,DOWN)
(positions . ,beam::place-broken-parts-individually)
- (springs-and-rods . ,ly:beam::calc-springs-and-rods)
(X-positions . ,ly:beam::calc-x-positions)
(transparent . ,(grob::inherit-parent-property
X 'transparent))
(interfaces . (break-aligned-interface
breathing-sign-interface
font-interface
+ outside-staff-interface
text-interface))))))
(ChordName
(meta . ((class . Item)
(interfaces . (chord-name-interface
font-interface
+ outside-staff-interface
rhythmic-grob-interface
text-interface))))))
(meta . ((class . Item)
(interfaces . (clef-modifier-interface
font-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
side-position-interface
text-interface
text-script-interface))))))
(DotColumn
. (
(axes . (,X))
+ (chord-dots-limit . 3)
(direction . ,RIGHT)
(positioning-done . ,ly:dot-column::calc-positioning-done)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
percent-repeat-interface
percent-repeat-item-interface
self-alignment-interface
(thickness . 0.48)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
percent-repeat-interface
percent-repeat-item-interface
rhythmic-grob-interface))))))
(interfaces . (axis-group-interface
dynamic-interface
dynamic-line-spanner-interface
+ outside-staff-interface
side-position-interface))))))
(DynamicText
;; 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)
(interfaces . (dynamic-interface
dynamic-text-interface
font-interface
+ outside-staff-interface
script-interface
self-alignment-interface
text-interface))))))
font-interface
line-interface
line-spanner-interface
+ ;for now, LilyPond never will typeset
+ ;these without a DynamicLineSpanner
+ ;as their controlling element
+ ;so, they do not need the
+ ;outside-staff-interface
spanner-interface
text-interface))))))
(meta . ((class . Item)
(interfaces . (finger-interface
font-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface
(interfaces . (chord-name-interface
font-interface
fret-diagram-interface
+ outside-staff-interface
rhythmic-grob-interface))))))
(interfaces . (dynamic-interface
hairpin-interface
line-interface
+ outside-staff-interface
self-alignment-interface
spanner-interface))))))
(meta . ((class . Spanner)
(interfaces . (horizontal-bracket-interface
line-interface
+ outside-staff-interface
side-position-interface
spanner-interface))))))
(Y-offset . ,side-position-interface::y-aligned-side)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
. (
(break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
(break-align-symbol . left-edge)
- (break-visibility . ,center-invisible)
+ (break-visibility . ,begin-of-line-visible)
(non-musical . #t)
- (extra-spacing-height . (+inf.0 . -inf.0))
(space-alist . (
(ambitus . (extra-space . 2.0))
(breathing-sign . (minimum-space . 0.0))
(right-edge . (extra-space . 0.0))
))
(X-extent . (0 . 0))
+ (Y-extent . (0 . 0))
(meta . ((class . Item)
(interfaces . (break-aligned-interface))))))
(meta . ((class . Spanner)
(interfaces . (font-interface
measure-counter-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(Y-offset . ,side-position-interface::y-aligned-side)
(meta . ((class . Spanner)
(interfaces . (measure-grouping-interface
+ outside-staff-interface
side-position-interface))))))
(MelodyItem
(break-visibility . ,end-of-line-invisible)
(direction . ,UP)
(extra-spacing-width . (+inf.0 . -inf.0))
+ (flag-style . default)
(outside-staff-horizontal-padding . 0.2)
(outside-staff-priority . 1000)
(padding . 0.8)
(interfaces . (break-alignable-interface
font-interface
metronome-mark-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(meta . ((class . Spanner)
(interfaces . (font-interface
multi-measure-interface
+ outside-staff-interface
multi-measure-rest-interface
rest-interface
staff-symbol-referencer-interface))))))
(meta . ((class . Spanner)
(interfaces . (font-interface
multi-measure-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(meta . ((class . Spanner)
(interfaces . (font-interface
multi-measure-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(axes . (,X))
(before-line-breaking . ,ly:paper-column::before-line-breaking)
(bound-alignment-interfaces . (break-alignment-interface))
+ ;; used by Paper_column::print when debugging columns:
+ (font-size . -7.5)
(full-measure-extra-space . 1.0)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
;; (stencil . ,ly:paper-column::print)
(keep-inside-line . #t)
+ ;; used by Paper_column::print when debugging columns:
+ (layer . 1000)
(line-break-permission . allow)
(non-musical . #t)
(page-break-permission . allow)
-
- ;; debugging stuff: print column number.
- ;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
-
(X-extent . ,ly:axis-group-interface::width)
(meta . ((class . Paper_column)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(interfaces . (font-interface
horizontal-bracket-interface
line-interface
+ outside-staff-interface
ottava-bracket-interface
side-position-interface
text-interface))))))
(axes . (,X))
(before-line-breaking . ,ly:paper-column::before-line-breaking)
(bound-alignment-interfaces . (note-column-interface))
+ ;; used by Paper_column::print when debugging columns:
+ (font-size . -7.5)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
(keep-inside-line . #t)
+ ;; used by Paper_column::print when debugging columns:
+ (layer . 1000)
;; 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)
-
- ;; debugging
- ;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
(meta . ((class . Paper_column)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
(meta . ((class . Spanner)
(interfaces . (font-interface
percent-repeat-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(vertical-skylines . ,(ly:make-unpure-pure-container ly:slur::vertical-skylines ly:grob::pure-simple-vertical-skylines-from-extents))
(Y-extent . ,slur::height)
(meta . ((class . Spanner)
- (interfaces . (slur-interface))))))
+ (interfaces . (outside-staff-interface
+ slur-interface))))))
;; an example of a text spanner
(PianoPedalBracket
(interfaces . (break-alignable-interface
font-interface
mark-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface))))))
(cross-staff . ,ly:script-interface::calc-cross-staff)
(direction . ,ly:script-interface::calc-direction)
(font-encoding . fetaMusic)
+ (horizon-padding . 0.1) ; to avoid interleaving with accidentals
(positioning-done . ,ly:script-interface::calc-positioning-done)
(side-axis . ,Y)
(Y-offset . ,side-position-interface::y-aligned-side)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
script-interface
side-position-interface))))))
(vertical-skylines . ,(ly:make-unpure-pure-container ly:slur::vertical-skylines ly:grob::pure-simple-vertical-skylines-from-extents))
(Y-extent . ,slur::height)
(meta . ((class . Spanner)
- (interfaces . (slur-interface))))))
+ (interfaces . (outside-staff-interface
+ slur-interface))))))
(SostenutoPedal
. (
(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 . (axis-group-interface
+ outside-staff-interface
piano-pedal-interface
side-position-interface))))))
(meta . ((class . Item)
(interfaces . (font-interface
self-alignment-interface
+ outside-staff-interface
side-position-interface
string-number-interface
text-interface
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(interfaces . (font-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
stroke-finger-interface
(SustainPedal
. (
- (direction . ,RIGHT)
(extra-spacing-width . (+inf.0 . -inf.0))
(padding . 0.0) ;; padding relative to SustainPedalLineSpanner
(self-alignment-X . ,CENTER)
(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 . (axis-group-interface
+ outside-staff-interface
piano-pedal-interface
side-position-interface))))))
(vertical-skyline-elements . ,ly:system::vertical-skyline-elements)
(vertical-alignment . ,ly:system::get-vertical-alignment)))
(interfaces . (axis-group-interface
- system-interface))))))
+ system-interface
+ outside-staff-axis-group-interface))))))
(SystemStartBar
. (
(meta . ((class . Item)
(interfaces . (font-interface
instrument-specific-markup-interface
+ outside-staff-interface
self-alignment-interface
side-position-interface
text-interface
(interfaces . (font-interface
line-interface
line-spanner-interface
+ outside-staff-interface
side-position-interface))))))
(Tie
(axes . (,X))
(direction . ,RIGHT)
(font-size . -4)
+ ;; minimum shift to the right, in case the parent note has no stem
+ (minimum-space . 2.5)
+ (horizon-padding . 0.1) ; to avoid interleaving with augmentation dots
(padding . 0.3)
(side-axis . ,X)
(stencil . ,parenthesize-elements)
(stencils . ,parentheses-item::calc-parenthesis-stencils)
- ;; offset a bit to the right, further if needed to clear the main note
- (X-offset . ,(lambda (grob)
- (ly:side-position-interface::x-aligned-side grob 2.5)))
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(interfaces . (axis-group-interface
(interfaces . (font-interface
line-interface
line-spanner-interface
+ outside-staff-interface
side-position-interface
trill-spanner-interface))))))
(meta . ((class . Spanner)
(interfaces . (line-interface
+ outside-staff-interface
tuplet-bracket-interface))))))
(TupletNumber
(direction . ,tuplet-number::calc-direction)
(font-shape . italic)
(font-size . -2)
+ (knee-to-beam . #t)
(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
+ outside-staff-interface
text-interface
tuplet-number-interface))))))
(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 . (axis-group-interface
+ outside-staff-interface
piano-pedal-interface
side-position-interface))))))
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
(interfaces . (axis-group-interface
- hara-kiri-group-spanner-interface))))))
+ hara-kiri-group-spanner-interface
+ outside-staff-axis-group-interface))))))
(VoiceFollower
. (
(VoltaBracket
. (
+ (baseline-skip . 1.7)
(direction . ,UP)
(edge-height . (2.0 . 2.0)) ;; staff-space;
(font-encoding . fetaText)
(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 . (axis-group-interface
+ outside-staff-interface
side-position-interface
volta-interface))))))