Hi David,

2011/10/30 David Nalesnik <david.nales...@gmail.com>

> 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))
>

Thanks to clearify this.


>
> Why is this?  If you or anyone reading this can explain, I'd love to hear
> the answer.
>

I've not a clue about it.


>
>
>> 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
>

Works fine with "2.14.2" and \change Staff.
But there is no effect in the following example.

\version "2.14.2"
{ a'8 [
\once \override Score.Stem #'stem-end-position = #-80
a'] }

Again, thanks a lot for all the work you've invested in my problems.

Harm
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to