> I am not top-posting
Hello list,
I grabbed LSR 233 (hairpin with centered text below/above) and modified
it to have text *inside* the hairpin, at the right for \< and at the
left for \>. This worked fine for me until approx. \version 2.19.27 or
so. Now I am at 2.19.39, and this code throws me an assertion failure:
/home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/flower/include/drul-array.hh:35:
T& Drul_array<T>::at(Direction) [with T = double]: Assertion `d == 1 ||
d == -1' failed.
If I replace line 10
Y CENTER
with line 11
Y DOWN
the assertion goes away, but obviously the text is not printed inside
the slur but below it.
Before, everything worked fine for me without this assertion. Can the
assertion please be removed again in newer releases?
Thanks,
Rutger Hofman
Amsterdam
hairpinWithInsideText =
#(define-music-function (text) (markup?)
#{
\once \override Voice.Hairpin #'after-line-breaking =
#(lambda (grob)
(let* ((stencil (ly:hairpin::print grob))
(new-stencil (ly:stencil-aligned-to
(ly:stencil-combine-at-edge
(ly:stencil-aligned-to stencil X RIGHT)
Y CENTER
; Y DOWN
(ly:stencil-aligned-to (grob-interpret-markup grob text) X RIGHT))
X LEFT))
(staff-space (ly:output-def-lookup (ly:grob-layout grob) 'staff-space))
(staff-line-thickness
(ly:output-def-lookup (ly:grob-layout grob) 'line-thickness))
(grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name)))
(par-x (ly:grob-parent grob X))
(dyn-text (eq? (grob-name par-x) 'DynamicText ))
(dyn-text-stencil-x-length
(if dyn-text
(interval-length
(ly:stencil-extent (ly:grob-property par-x 'stencil) X))
0))
(x-shift
(if dyn-text
(-
(+ staff-space dyn-text-stencil-x-length)
(* 0.5 staff-line-thickness)) 0)))
(ly:grob-set-property! grob 'Y-offset 0)
(ly:grob-set-property! grob 'stencil
(ly:stencil-translate-axis
new-stencil
x-shift X))))
#})
\score {
\new Staff \relative c'' {
\hairpinWithInsideText "poco" c1\< |
c1 |
c1\!
}
}
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond