Hi Harm, I added (if (ly:stencil? (ly:stem::print grob)) ... to the function (and > some construction-helpers, maybe deleted). Now it works with \change Staff, > too. "2.15.13" or higher is still needed. >
All you need here is a call to ly:stem::print first; there's no need to integrate it into the logic of the function. This is enough: #(define ((stem-length y) grob) (ly:stem::print grob) ; this line must be present (ly:grob-set-property! grob 'length y) (ly:stem::print grob)) This doesn't work, though: #(define ((stem-length y) grob) (let ((stencil (ly:stem::print grob))) (ly:grob-set-property! grob 'length y) stencil)) Why is this? If you or anyone reading this can explain, I'd love to hear the answer. > Any idea how to change to make it work with "2.14.2"? > I wasn't able to figure out how to use 'length on a single beamed stem with 2.14.2. However, you can use the 'stem-end-position property here. (It seems that this property is no longer available in 2.15.13.) So, in 2.14.2, this line will get you what you want: \once \override Stem #'stem-end-position = #-8 -David
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user