Separation_item::conditional_skyline (Grob *me, Grob *left)
{
vector<Box> bs = boxes (me, left);
- return Skyline (bs, 0.0, Y_AXIS, LEFT);
+ Real horizon_padding = robust_scm2double (me->get_property ("skyline-vertical-padding"), 0.0);
+ return Skyline (bs, horizon_padding, Y_AXIS, LEFT);
}
{
Item *me = unsmob_item (smob);
vector<Box> bs = boxes (me, 0);
- /* todo: the horizon_padding is somewhat arbitrary */
- return Skyline_pair (bs, 0.0, Y_AXIS).smobbed_copy ();
+ Real horizon_padding = robust_scm2double (me->get_property ("skyline-vertical-padding"), 0.0);
+ return Skyline_pair (bs, horizon_padding, Y_AXIS).smobbed_copy ();
}
/* if left is non-NULL, get the boxes corresponding to the
"elements "
"padding "
"horizontal-skylines "
+ "skyline-vertical-padding "
);
configuration which would result in a tight interleaving of grobs from
the top staff and the bottom staff. The larger this parameter is, the
farther apart the staves are placed in such a configuration.")
+ (skyline-vertical-padding ,number? "The amount by which the left
+and right skylines of a column are padded vertically, beyond the
+@code{Y-extent}s and @code{extra-spacing-height}s of the constituent
+grobs in the column. Increase this to prevent interleaving of grobs
+from adjacent columns.")
(slash-negative-kern ,number? "The space to remove between
slashes in percent repeat glyphs. Larger values bring the two
elements closer together.")
(font-family . sans)
(font-size . 1.5)
(stencil . ,ly:text-interface::print)
+ (extra-spacing-height . (0.2 . -0.2))
(word-space . 0.0)
(meta . ((class . Item)
(interfaces . (chord-name-interface
(next-note . (extra-space . 0.5))
(right-edge . (extra-space . 0.5))))
(stencil . ,ly:clef::print)
- (extra-spacing-height . (-0.5 . 0.5))
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
(interfaces . (break-aligned-interface
(next-note . (extra-space . 0.5))
(right-edge . (extra-space . 0.5))))
(stencil . ,ly:clef::print)
- (extra-spacing-height . (-0.5 . 0.5))
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
(interfaces . (break-aligned-interface
(next-note . (extra-space . 0.5))
(right-edge . (extra-space . 0.5))))
(stencil . ,ly:clef::print)
- (extra-spacing-height . (-0.5 . 0.5))
(Y-offset . ,ly:staff-symbol-referencer::callback)
(meta . ((class . Item)
(interfaces . (break-aligned-interface
(after-line-breaking . ,ly:chord-name::after-line-breaking)
(fret-diagram-details . ((finger-code . below-string)))
(stencil . ,fret-board::calc-stencil)
+ (extra-spacing-height . (0.2 . -0.2))
(meta . ((class . Item)
(interfaces . (chord-name-interface
font-interface
(break-align-symbol . left-edge)
(break-visibility . ,center-invisible)
(non-musical . #t)
+ (extra-spacing-height . (+inf.0 . -inf.0))
(space-alist . (
(ambitus . (extra-space . 2.0))
(breathing-sign . (minimum-space . 0.0))
(LyricText
. (
(extra-spacing-width . (0.0 . 0.0))
+ ;; Recede in height for purposes of note spacing,
+ ;; so notes in melismata can be freely spaced above lyrics
+ (extra-spacing-height . (0.2 . -0.2))
(font-series . medium)
(font-size . 1.0)
(self-alignment-X . ,CENTER)
(before-line-breaking . ,ly:paper-column::before-line-breaking)
(full-measure-extra-space . 1.0)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
+ (skyline-vertical-padding . 0.15)
;; (stencil . ,ly:paper-column::print)
(line-break-permission . allow)
. (
(axes . (,X ,Y))
(horizontal-skylines . ,ly:separation-item::calc-skylines)
+ (skyline-vertical-padding . 0.15)
(X-extent . ,ly:axis-group-interface::width)
(Y-extent . ,ly:axis-group-interface::height)
(meta . ((class . Item)
(duration-log . ,note-head::calc-duration-log)
(extra-spacing-height . ,ly:note-head::include-ledger-line-height)
(glyph-name . ,note-head::calc-glyph-name)
- (ligature-flexa . #f)
+ (ligature-flexa . #f)
(stem-attachment . ,ly:note-head::calc-stem-attachment)
(stencil . ,ly:note-head::print)
(X-offset . ,ly:note-head::stem-x-shift)