(number? string?)
#{
\once \override Score . RehearsalMark #'padding = $padding
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $marktext }
#})
(number? string?)
#{
\once \override Score . RehearsalMark #'padding = $padding
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $marktext }
#})
tempoMark = #(define-music-function (parser location markp) (string?)
#{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $markp }
#})
tempoMark = #(define-music-function (parser location markp) (string?)
#@{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup @{ \bold $markp @}
#@})
@end example
tempoMark = #(define-music-function (parser location markp) (string?)
#{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $markp }
#})
tempoMark = #(define-music-function (parser location markp) (string?)
#@{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup @{ \bold $markp @}
#@})
tempoMark = #(define-music-function (parser location markp) (string?)
#{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $markp }
#})
tempoMark = #(define-music-function (parser location markp) (string?)
#@{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup @{ \bold $markp @}
#@})
tempoMark = #(define-music-function (parser location markp) (string?)
#{
\once \override Score . RehearsalMark #'self-alignment-X = #left
- \once \override Score . RehearsalMark #'no-spacing-rods = ##t
+ \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
\mark \markup { \bold $markp }
#})
/* properties */
"break-visibility "
- "no-spacing-rods "
+ "extra-spacing-width "
+ "infinite-spacing-height "
"non-musical")
continue;
}
- if (to_boolean (il->get_property ("no-spacing-rods")))
- continue;
-
Interval y (il->pure_height (ycommon, 0, very_large));
Interval x (il->extent (pc, X_AXIS));
- SCM padding = elts[i]->get_property ("padding");
- x.widen (robust_scm2double (padding, 0));
+ Interval extra = robust_scm2interval (elts[i]->get_property ("extra-spacing-width"),
+ Interval (0, 0));
+ x[LEFT] += extra[LEFT];
+ x[RIGHT] += extra[RIGHT];
+ if (to_boolean (elts[i]->get_property ("infinite-spacing-height")))
+ y = Interval (-infinity_f, infinity_f);
out.push_back (Box (x, y));
}
autoBeamOff = \set autoBeaming = ##f
autoBeamOn = \set autoBeaming = ##t
-fatText = \override TextScript #'no-spacing-rods = ##f
-emptyText = \override TextScript #'no-spacing-rods = ##t
+fatText = { \override TextScript #'extra-spacing-width = #'(0 . 0)
+ \override TextScript #'infinite-spacing-height = ##t }
+
+emptyText = { \override TextScript #'extra-spacing-width = #'(+inf.0 . -inf.0)
+ \override TextScript #'infinite-spacing-height = ##f }
showStaffSwitch = \set followVoice = ##t
hideStaffSwitch = \set followVoice = ##f
(extra-X-extent ,number-pair? "A grob is enlarged in X dimension
by this much.")
(extra-Y-extent ,number-pair? "See @code{extra-X-extent}.")
+ (extra-spacing-width ,number-pair? "In the horizontal spacing problem, we pad each item by this amount (by adding the car on the left side of the item and adding the cdr on the right side of the item). In order to make a grob take up no horizontal space at all, set this to (+inf.0 . -inf.0)")
(X-extent ,number-pair? "Hard coded extent in X direction. ")
(Y-extent ,number-pair? "See @code{X-extent}.")
(extra-offset ,number-pair? "A pair representing an offset. This
Choices are @code{around}, @code{inside}, @code{outside}. If unset, script
and slur ignore eachother.")
(ignore-collision ,boolean? "If set, don't do note collision resolution on this NoteColumn.")
+ (infinite-spacing-height ,boolean? "If true, then for the purposes of
+horizontal spacing, treat this item as though it were infinitely tall. That
+is, no object from another column will be allowed to stick above or below this item.")
(inspect-quants ,number-pair? "If debugging is set,
set beam/slur quant to this position, and print the respective scores.")
(inspect-index ,integer? "If debugging is set,
(note-names ,vector? "Vector of strings containing names for
easy-notation note heads.")
(no-ledgers ,boolean? "If set, don't draw ledger lines on this object.")
- (no-spacing-rods ,boolean? "Items with this property do not cause
-spacing constraints.")
(no-stem-extend ,boolean? "If set, notes with ledger lines do not
get stems extending to the middle staff line.")
(non-musical ,boolean? "True if the grob belongs in a NonMusicalPaperColumn.")
(layer . 0)
(break-visibility . ,all-visible)
(non-musical . #t)
+ (extra-spacing-width . (-0.3 . 0.3))
(stencil . ,ly:bar-line::print)
(glyph-name . ,bar-line::calc-glyph-name)
(CombineTextScript
. (
(stencil . ,ly:text-interface::print)
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(direction . ,UP)
(font-encoding . fetaDynamic)
(font-shape . italic)
(avoid-slur . around)
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(outside-staff-priority . 250)
(meta . ((class . Item)
(interfaces . (font-interface
(stencil . ,ly:text-interface::print)
(direction . ,RIGHT)
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
(font-shape . italic)
(self-alignment-X . 0)
(SustainPedal
. (
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(stencil . ,ly:sustain-pedal::print)
(self-alignment-X . 0)
(direction . ,RIGHT)
(TextScript
. (
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
(Y-offset . ,ly:side-position-interface::y-aligned-side)
(side-axis . ,Y)
. (
(stencil . ,ly:text-interface::print)
(font-shape . italic)
- (no-spacing-rods . #t)
+ (extra-spacing-width . (+inf.0 . -inf.0))
(self-alignment-X . 0)
(direction . ,RIGHT)
(padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner